@@ -186,7 +186,7 @@ def on_module_selected(self):
186186 builder = Gtk .Builder ()
187187 builder .set_translation_domain ('cinnamon' )
188188 builder .add_from_file (gladefile )
189- page = builder .get_object ("page_themes " )
189+ page = builder .get_object ("page_simplified " )
190190 page .show ()
191191
192192 self .style_combo = builder .get_object ("style_combo" )
@@ -197,8 +197,6 @@ def on_module_selected(self):
197197 self .customize_button = builder .get_object ("customize_button" )
198198 self .preset_button = builder .get_object ("preset_button" )
199199 self .color_label = builder .get_object ("color_label" )
200- self .main_stack = builder .get_object ("main_stack" )
201- self .custom_stack = builder .get_object ("custom_stack" )
202200 self .active_style = None
203201 self .active_mode_name = None
204202 self .active_variant = None
@@ -216,19 +214,16 @@ def on_module_selected(self):
216214
217215 self .reset_look_ui ()
218216
219- if self .active_variant is None :
220- self .main_stack .set_visible_child_name ("custom_page" )
221-
222217 self .mixed_button .connect ("clicked" , self .on_mode_button_clicked , "mixed" )
223218 self .dark_button .connect ("clicked" , self .on_mode_button_clicked , "dark" )
224219 self .light_button .connect ("clicked" , self .on_mode_button_clicked , "light" )
225220 self .customize_button .connect ("clicked" , self .on_customize_button_clicked )
226221 self .style_combo .connect ("changed" , self .on_style_combo_changed )
227222
228- self .sidePage .stack .add_named (page , "themes " )
223+ self .sidePage .stack .add_named (page , "simplified " )
229224
230225 page = SettingsPage ()
231- self .custom_stack .add_titled (page , "themes" , _ ("Themes" ))
226+ self .sidePage . stack .add_titled (page , "themes" , _ ("Themes" ))
232227
233228 settings = page .add_section ()
234229
@@ -247,14 +242,14 @@ def on_module_selected(self):
247242 button = Gtk .Button ()
248243 button .set_label (_ ("Simplified settings..." ))
249244 button .set_halign (Gtk .Align .END )
250- button .connect ("clicked" , self .on_preset_button_clicked )
245+ button .connect ("clicked" , self .on_simplified_button_clicked )
251246 page .add (button )
252247
253248 page = DownloadSpicesPage (self , 'theme' , self .spices , self .window )
254- self .custom_stack .add_titled (page , 'download' , _ ("Add/Remove" ))
249+ self .sidePage . stack .add_titled (page , 'download' , _ ("Add/Remove" ))
255250
256251 page = SettingsPage ()
257- self .custom_stack .add_titled (page , "options" , _ ("Settings" ))
252+ self .sidePage . stack .add_titled (page , "options" , _ ("Settings" ))
258253
259254 settings = page .add_section (_ ("Miscellaneous options" ))
260255
@@ -340,6 +335,8 @@ def on_module_selected(self):
340335
341336 self .refresh_choosers ()
342337
338+ GLib .idle_add (self .set_simplified_mode , self .active_variant is not None , True )
339+
343340 def is_variant_active (self , variant ):
344341 # returns whether or not the given variant corresponds to the currently selected themes
345342 if variant .gtk_theme != self .settings .get_string ("gtk-theme" ):
@@ -519,11 +516,26 @@ def on_customize_button_clicked(self, button):
519516 self .set_button_chooser (self .cursor_chooser , self .settings .get_string ("cursor-theme" ), 'icons' , 'cursors' , 32 )
520517 self .set_button_chooser (self .theme_chooser , self .settings .get_string ("gtk-theme" ), 'themes' , 'gtk-3.0' , 35 )
521518 self .set_button_chooser (self .cinnamon_chooser , self .cinnamon_settings .get_string ("name" ), 'themes' , 'cinnamon' , 60 )
522- self .main_stack . set_visible_child_name ( "custom_page" )
519+ self .set_simplified_mode ( False )
523520
524- def on_preset_button_clicked (self , button ):
521+ def on_simplified_button_clicked (self , button ):
525522 self .reset_look_ui ()
526- self .main_stack .set_visible_child_name ("preset_page" )
523+ self .set_simplified_mode (True )
524+
525+ def set_simplified_mode (self , simplified , startup = False ):
526+ # When picking a start page at startup, no transition, or else you'll see the tail end of it happening
527+ # as the page is loading. Otherwise, crossfade when switching between simple/custom. The left/right
528+ # transition is kept as the default for shifting between the 3 custom pages (themes, downloads, settings).
529+ if simplified :
530+ self .sidePage .stack .set_visible_child_full ("simplified" , Gtk .StackTransitionType .CROSSFADE )
531+ Gio .Application .get_default ().stack_switcher .set_opacity (0.0 )
532+ else :
533+ if startup :
534+ self .sidePage .stack .set_visible_child_full ("themes" , Gtk .StackTransitionType .NONE )
535+ else :
536+ self .sidePage .stack .set_visible_child_full ("themes" , Gtk .StackTransitionType .CROSSFADE )
537+
538+ Gio .Application .get_default ().stack_switcher .set_opacity (1.0 )
527539
528540 def on_color_button_clicked (self , button , variant ):
529541 print ("Color button clicked" )
0 commit comments