@@ -345,9 +345,20 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
345345 }
346346
347347 Message :: SwitchToPage ( page) => {
348- tile. page = page;
349- let task = match tile. page {
350- Page :: ClipboardHistory | Page :: Settings => window:: latest ( ) . map ( |x| {
348+ let task = match & page {
349+ Page :: ClipboardHistory => {
350+ if !tile. config . cbhist {
351+ return Task :: none ( ) ;
352+ }
353+ window:: latest ( ) . map ( |x| {
354+ let id = x. unwrap ( ) ;
355+ Message :: ResizeWindow (
356+ id,
357+ ( ( 7 * 55 ) + 35 + DEFAULT_WINDOW_HEIGHT as usize ) as f32 ,
358+ )
359+ } )
360+ }
361+ Page :: Settings => window:: latest ( ) . map ( |x| {
351362 let id = x. unwrap ( ) ;
352363 Message :: ResizeWindow (
353364 id,
@@ -357,6 +368,8 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
357368 _ => Task :: none ( ) ,
358369 } ;
359370
371+ tile. page = page;
372+
360373 let refresh_empty_main_query = if tile. page == Page :: Main {
361374 window:: latest ( )
362375 . map ( |x| x. unwrap ( ) )
@@ -477,6 +490,9 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
477490 }
478491
479492 Message :: EditClipboardHistory ( action) => {
493+ if !tile. config . cbhist {
494+ return Task :: none ( ) ;
495+ }
480496 match action {
481497 Editable :: Create ( content) => {
482498 if !tile. clipboard_content . contains ( & content) {
@@ -606,6 +622,7 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
606622 match config {
607623 SetConfigFields :: ToggleHotkey ( hk) => final_config. toggle_hotkey = hk,
608624 SetConfigFields :: ClipboardHotkey ( hk) => final_config. clipboard_hotkey = hk,
625+ SetConfigFields :: ClipboardHistory ( cbhist) => final_config. cbhist = cbhist,
609626 SetConfigFields :: Modes ( Editable :: Create ( ( key, value) ) ) => {
610627 final_config. modes . insert ( key, value) ;
611628 }
@@ -935,7 +952,6 @@ fn execute_query(tile: &mut Tile, id: Id) -> Task<Message> {
935952 }
936953 "cbhist" => {
937954 task = task. chain ( Task :: done ( Message :: SwitchToPage ( Page :: ClipboardHistory ) ) ) ;
938- tile. page = Page :: ClipboardHistory ;
939955 }
940956 "main" => {
941957 if tile. page != Page :: Main {
0 commit comments