Skip to content
  • Florian Müllner's avatar
    main: Move pref overrides back into C · ae2751a6
    Florian Müllner authored
    Commit 6c2f3d1d moved pref overrides into JS to implement
    session mode specific overrides in a clean and generic way.
    However that approach comes with a cost - doing the overrides only
    after having handled over control to JS means that the core will
    be initialized with the non-overridden settings before changing
    to the correct values. In the best case this is unnecessary work,
    but it can in fact have a worse effect: when initializing workspaces,
    we will restore the previous number of workspaces when using
    dynamic-workspaces and reset to the configured number otherwise.
    As the non-overridden default for dynamic-workspaces is FALSE, we
    can easily end up moving the user's windows to the "wrong" workspace.
    
    Now GSettings is expected to grow support for session specific defaults,
    which will render our entire override system obsolete (yay!). Given
    that, it seems acceptable to use a less generic (and uglier) approach
    in the meanwhile, in order to fix aforementioned problems. So move
    overrides back before core initialization and just hardcode the
    session-mode => override-schema relation.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=695487
    ae2751a6