@@ -415,12 +415,28 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
415415 display_name: format!( "Search for: {}" , tile. query) ,
416416 search_name: String :: new( ) ,
417417 } ] ;
418+ return single_item_resize_task ( id) ;
418419 } else if tile. query_lc == "cbhist" {
419420 task = task. chain ( Task :: done ( Message :: SwitchToPage ( Page :: ClipboardHistory ) ) ) ;
420421 tile. page = Page :: ClipboardHistory
421422 } else if tile. query_lc == "main" && tile. page != Page :: Main {
422423 task = task. chain ( Task :: done ( Message :: SwitchToPage ( Page :: Main ) ) ) ;
423424 tile. page = Page :: Main ;
425+ } else if tile. query_lc . starts_with ( ">" ) && tile. page == Page :: Main {
426+ tile. results = vec ! [ App {
427+ ranking: 20 ,
428+ open_command: AppCommand :: Function ( Function :: RunShellCommand (
429+ tile. query. strip_prefix( ">" ) . unwrap_or( "" ) . to_string( ) ,
430+ ) ) ,
431+ display_name: format!(
432+ "Shell Command: {}" ,
433+ tile. query. strip_prefix( ">" ) . unwrap_or( "" )
434+ ) ,
435+ icons: None ,
436+ search_name: "" . to_string( ) ,
437+ desc: "Shell Command" . to_string( ) ,
438+ } ] ;
439+ return single_item_resize_task ( id) ;
424440 }
425441 tile. handle_search_query_changed ( ) ;
426442
@@ -494,9 +510,9 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
494510 if !tile. query_lc . is_empty ( ) && tile. page == Page :: EmojiSearch {
495511 tile. results = tile
496512 . emoji_apps
497- . search_prefix ( "" )
513+ . search_prefix ( & tile . query_lc )
498514 . map ( |x| x. to_owned ( ) )
499- . collect ( ) ;
515+ . collect ( )
500516 }
501517
502518 tile. results . sort_by_key ( |x| -x. ranking ) ;
0 commit comments