Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
design:xfce4-settings:mergedialogs [2014/03/28 23:55] – ochosi | design:xfce4-settings:mergedialogs [2014/04/22 21:46] – [Unified Xfwm4 Settings] ochosi | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Merge dialogs contextually ====== | ====== Merge dialogs contextually ====== | ||
+ | |||
+ | ==== Unified Xfwm4 Settings ==== | ||
+ | |||
+ | * [ Style ] //(if xfce4-settings is installed)// | ||
+ | * [ Keyboard ] //(if xfce4-settings is installed)// | ||
+ | * Focus | ||
+ | * Focus model | ||
+ | * New window focus | ||
+ | * Raise on focus | ||
+ | * Raise on click | ||
+ | * Focus stealing/ | ||
+ | * When a window raises itself | ||
+ | * Placement (+ xfwm4 advanced) | ||
+ | * Windows snapping | ||
+ | * Wrap workspaces when reaching the screen edge | ||
+ | * Hide content of windows | ||
+ | * Double click action | ||
+ | * Min size to trigger smart placement | ||
+ | * By default, place windows: | ||
+ | * Cycling (as is) | ||
+ | * Compositor (as is) | ||
+ | * Accessibility (as is) | ||
+ | |||
+ | ==== Workspace Settings ==== | ||
+ | * General | ||
+ | * Margins | ||
+ | * Behavior (xfwm4 workspaces) | ||
==== Keyboard Settings ==== | ==== Keyboard Settings ==== | ||
Line 16: | Line 43: | ||
* Settings | * Settings | ||
- | ==== Window Manager Settings ==== | ||
- | | + | |
- | * < | + | ===== Implementation ===== |
- | * Focus | + | |
- | * Advanced | + | Different implementations are possible. |
+ | Below are suggestions open for discussion. | ||
+ | |||
+ | ==== Detection ==== | ||
+ | |||
+ | How should xfwm4 be detected: | ||
+ | | ||
+ | * xfconf channel presence | ||
+ | * xfwm4 binary included in PATH | ||
+ | |||
+ | How should | ||
+ | * running instance of xfsettingsd (part of the session) | ||
+ | * xfconf channel presence | ||
+ | * xfce4-keyboard-settings and xfce4-appearance-settings present in PATH (or .desktop file) | ||
+ | |||
+ | ==== libxfce4kbd ==== | ||
+ | |||
+ | xfwm4_shortcut_values in libxfce4kbd-private/xfce-shortcuts-xfwm4.c needs to match xfwm4 src/settings.h KEY enum. | ||
+ | Meaning libxfce4kbd can't be updated independently from xfwm4 in case of a shortcut change. | ||
+ | |||
+ | Possible solutions: | ||
+ | * Accept we can only append (add a comment) | ||
+ | * Add a mapping table to xfwm4 | ||
+ | * Move the mapping to xfwm4 and solve the xfce4-keyboard-settings | ||
+ | * Add the enum to libxfce4kbd and use static linking on the mappings | ||
+ | * Don't use the enum, use g_intern_string or GQuark | ||
+ | |||
+ | |||
+ | ==== Embed xfwm's tabs ==== | ||
+ | |||
+ | Use a GtkPlug/GtkSocket setup to embed the specific xfwm tabs into the settings dialogs. It would be similar to how the settings manager embeds processes and keep coupling loose for new shortcut/settings updates. | ||
+ | |||
+ | |||
+ | ===== Discussion ===== | ||
+ | |||
+ | * The next logical move seems to be a merge of the xfwm4 and xfwm4-tweaks dialogs, however, this bears a few problems: | ||
+ | * There' | ||
+ | * There' |