Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
simple_settings [2010/10/02 17:26] – external edit 127.0.0.1simple_settings [2012/01/02 15:23] (current) – removed nick
Line 1: Line 1:
-====== Simple Settings ====== 
  
-===== Introduction ===== 
- 
-So I'd like to do some idle talk about simplifying the configuration system of Xfce4.5. 
- 
-All the possibilities I heard so far do not go far enough. 
- 
-What I'd like to see is it to be simplified to the max by: 
- 
-Using one (real) file per setting (yes _setting_) in ".config/xfce4/<some-sub-directories>" 
- 
-If the setting points to a file (for example background image), it should be a symlink to the file. 
-Otherwise it should be a regular file containing the value as readable string. 
- 
-===== Settings layout ===== 
- 
-  .config/xfce4/settings/pyramid.ath.cx/desktop/:0.0/brightness 
-  .config/xfce4/settings/pyramid.ath.cx/desktop/:0.0/color_1 
-  .config/xfce4/settings/pyramid.ath.cx/desktop/:0.0/color_2 
-  .config/xfce4/settings/pyramid.ath.cx/desktop/:0.0/color_style 
-  .config/xfce4/settings/pyramid.ath.cx/desktop/:0.0/image -> /home/dannym/pic/backgrounds/image_1 
-  .config/xfce4/settings/pyramid.ath.cx/desktop/:0.0/image_style 
- 
-  .config/xfce4/settings/pyramid.ath.cx/desktop/:0.1/image_style 
-  
-  .config/xfce4/settings/pyramid.ath.cx/display/:0/blue_gamma 
-  .config/xfce4/settings/pyramid.ath.cx/display/:0/green_gamma 
-  .config/xfce4/settings/pyramid.ath.cx/display/:0/red_gamma 
-  .config/xfce4/settings/pyramid.ath.cx/display/:0/size 
-  .config/xfce4/settings/pyramid.ath.cx/display/:0/rate  
- 
-  .config/xfce4/settings/pyramid.ath.cx/gtk/:0/can_change_accelerators 
-  .config/xfce4/settings/pyramid.ath.cx/gtk/:0/cursor_theme_name 
-  .config/xfce4/settings/pyramid.ath.cx/gtk/:0/cursor_theme_size 
-  .config/xfce4/settings/pyramid.ath.cx/gtk/:0/font_name 
-  .config/xfce4/settings/pyramid.ath.cx/gtk/:0/key_theme_name 
-  
-  .config/xfce4/settings/pyramid.ath.cx/gtk/:0/toolbar_style <-- this is stupid, should be a per-app setting. 
-  
-  .config/xfce4/settings/pyramid.ath.cx/keyboard/:0/repeat_delay 
-  .config/xfce4/settings/pyramid.ath.cx/keyboard/:0/repeat_key 
-  .config/xfce4/settings/pyramid.ath.cx/keyboard/:0/repeat_rate 
-  
-  .config/xfce4/settings/pyramid.ath.cx/margins/:0/bottom_margin 
-  .config/xfce4/settings/pyramid.ath.cx/margins/:0/top_margin 
-  .config/xfce4/settings/pyramid.ath.cx/margins/:0/left_margin 
-  .config/xfce4/settings/pyramid.ath.cx/margins/:0/right_margin 
-  
-  .config/xfce4/settings/pyramid.ath.cx/mouse/:0/right_handed 
-  .config/xfce4/settings/pyramid.ath.cx/mouse/:0/right_handed 
-  
-  .config/xfce4/settings/pyramid.ath.cx/panel/:0/autohide 
-  .config/xfce4/settings/pyramid.ath.cx/panel/:0/fullwidth 
-  .config/xfce4/settings/pyramid.ath.cx/panel/:0/layer 
-  .config/xfce4/settings/pyramid.ath.cx/panel/:0/orientation 
-  .config/xfce4/settings/pyramid.ath.cx/panel/:0/popup_position 
-  .config/xfce4/settings/pyramid.ath.cx/panel/:0/size 
-  .config/xfce4/settings/pyramid.ath.cx/panel/:0/theme -> /home/dannym/.themes/foo 
-  
-  .config/xfce4/settings/pyramid.ath.cx/shortcuts/:0/XF86_VolumeUp/command 
-  
-  .config/xfce4/settings/pyramid.ath.cx/sound/:0/mixer/default_device 
-  .config/xfce4/settings/pyramid.ath.cx/sound/:0/mixer/device_0/useful_controls 
-  
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/auto_hide 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/group_tasks 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/height 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/horizontal_alignment 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/position 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/show_all_tasks 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/show_pager 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/show_tasklist 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/show_text 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/show_time 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/show_tray 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/shrink 
-  .config/xfce4/settings/pyramid.ath.cx/taskbar/:0/width_percent 
-  
-  .config/xfce4/settings/pyramid.ath.cx/terminal/:0/accelerators 
-  .config/xfce4/settings/pyramid.ath.cx/terminal/:0/font_name 
-  .config/xfce4/settings/pyramid.ath.cx/terminal/:0/scrollback 
-  .config/xfce4/settings/pyramid.ath.cx/terminal/:0/scrollbar 
-  .config/xfce4/settings/pyramid.ath.cx/terminal/:0/show_menu  
-  
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/cycle_hidden 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/cycle_minimum 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/cycle_workspaces 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/easy_click 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/focus_hint 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/frame_opacity 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/move_opacity 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/placement_ratio 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/popup_opacity 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/prevent_focus_stealing 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/raise_with_any_button 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/resize_opacity 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/restore_on_move 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/scroll_workspaces 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/show_frame_shadow 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/show_popup_shadow 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/snap_resistance 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/toggle_workspaces 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/wrap_cycle 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/wrap_layout 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/box_move 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/box_resize 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/button_layout 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/click_to_focus 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/double_click_action 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/focus_new_window 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/focus_raise 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/raise_delay 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/raise_on_click 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/snap_to_border 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/snap_to_windows 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/snap_width 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/theme 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/title_alignment 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/title_font 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/wrap_resistance 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/wrap_windows 
-  .config/xfce4/settings/pyramid.ath.cx/window_manager/:0/wrap_workspaces 
-  
-  .config/xfce4/settings/pyramid.ath.cx/workspaces/:0/workspace_count 
-  .config/xfce4/settings/pyramid.ath.cx/workspaces/:0/workspace_names 
-  
-  .config/xfce4/settings/pyramid.ath.cx/printing/:0/system -> /usr/lib/xfce4/xfprint-plugins/cups_plugin.so 
- 
-That isn't all that much, is it? 
- 
-===== Advantages ===== 
-  * simple to copy/merge 
-  * simple to understand 
-  * can use all the normal unix tools\\ (symlink the important ones to another directory etc) 
-  * simple to change by script 
-  * uses normal unix tree api and doesn't introduce another version of it (xml, ini file, whatever) 
-  * uses file change notification to be notified of changes (not xsettings) 
- 
- 
-===== Disadvantage ===== 
-  * wastes space on old filesystems - aren't that many files though! 
-  * unnecessary use of resources. this could be summed up in one XML file. only a crazy person would organize settings this way. 
- 
-===== Conclusion ===== 
-As a means to fix the only remaining disadvantage, I'd suggest writing/mounting a [[http://fuse.sourceforge.net/|FUSE]] module that stores the settings in a bdb or something. 
- 
-===== Alternatives ===== 
-May I suggest, you have a short look at [[http://www.libelektra.org/Why_Linux_Needs_to_be_Elektrified|Elektra]] - Probably thats what you want plus a bit more... 
- 
- 
-===== Links ===== 
-[[http://blog.xfce.org/?p=171|Comments on this idea on the Xfce blog]]