Xfce Wiki

Sub domains
 

This is an old revision of the document!


System-Wide Settings

Introduction

As the title implies, this category is an attempt to bring together all various system settings into one simple interface. It will seek to suggest that each component programmer be allowed to continue to focus upon their own individual modular component of the whole, while at the same time, bringing together some sort of standardized method for reaching out to each module and interfacing with the settings of said module as appropriate for centralizing control.

Further, this roadmap will be useful in eliminating those desparate mechanisms of settings control that lead to odd behavior, overlapping subjects and loss of user control. Important as simplicity of user interface (intuitiveness) may be, eliminating unnecessary buggy behavior across the whole desktop environment is of paramount import, and hopefully will be largely addressed by this effort. It is possible to eliminate a large portion of bugs by just simplifying and standardizing. That can be win/win all the way down the road.

We will here attempt to bring together first an overview of the issue from the standpoint of the user, followed by a suggested description of a possible solution, and a concise discussion with a focus upon creating a concensus and roadmap.

Note: It is not necessary to discuss the issue of whether or not some problem exists, but rather note the user's experiences, and address it with a desire to improve that experience and make it ever more “goof-proof”. The old adadage that states, “If it ain't broke, don't fix it” has always been misleading and is no friend to programmers. The proper way to view it is to recognize that nothing is perfect and that everything can be improved. That should be our goal here, so that when nothing else is being accomplished, polishing of the product will always take place.

All are welcome to submit here. Programmers and users alike. Please take your discussion to the links indicate so that we can keep this neat. Thank you all.

Overview

(Please discuss here.)

Currently within the Xfce desktop environment (DE), there are a number of different areas users must find to change the settings of their environment. Let us list them here and categorize their relative level within the OS. Please add your additions here to help us fill this out.

The Settings

The various settings include (in no particular order):

Item Name of Module Where Found Interface For
Settings, generalSettings Manager, Appearance-Settings, Settings Editor
Hardware
Keyboard and/or mouseAccessability, Keyboard, Mouse, Removable Drives and Media
MonitorDesktop, Xorgxorg.conf(?)
Sound and/or Speakers
PrinterRemovable Drives and Media
Desktop
General Look & FeelAppearance-Style, QT Config, (May have to include File Manager here too, since it may affect desktop folders and icons.)
WallpaperDesktop-Background
MenusDesktop-Menus, Main Menus
WindowsFile Manager-Display
Main Navigation BarPanelxfce4-panel
IconsAppearance-Icons, Desktop-Icons
TextAppearance-Fonts
ScreensaverXScreenSaver
Power ManagementXfce Power Management-On AC-Monitor
Misc.
Popups, Messages, NotificationsNotifications
Power ManagementXfce Power Management
Suspend to Disk or RAMXfce Power Management-Extended
Authorizations & PermissionsUsers and Groups
NetworkNetwork Settings, Shared Folders
Modules & DaemonsServices
Applications
File Manager (If Thunar?)File Manager-SidePane, File Manager-Display, File Manager-Behavior, File Manager-Advanced

As we can see from this there can be a lot of confusion generated by the current layout and organization.

The Controlled Components

The user may assume that the settings employed above are to take control of certain components or modules of the DE or other layers of the OS. They may have learned of these by being involved in their computer's OS and DE installation themselves, or they may have seen the names as they used their package manager interface of choice and looked thru the database of packages.

For instance, the item “xfce4-panel” may be recognized as the part that has to do with creating desktop menu and tool navigation bars. But that is one of the more obvious. The user may never run up against any of the others. So here we list the items that are actually involved with user-controlled settings.

This may be old hat to many, but it seems important to point out the level where the item resides so as to make sure everyone is on the same page with regard to which belongs to Xfce and which to some other part of the system. Keep in mind that while the OS components are built from the bottom up, they are controlled from the top down from our viewpoint.

Where appropriate, we can note if they appear on the menus. We will attempt to list by actual module name, if known, in parenthesis. Corrections are welcome.

System Level Belongs To Interfaced By
Desktop EnvironmentXfceXfce4 Settings Manager, Time and Date
X Graphical InterfaceX Window Systemxorg.conf, Screensaver (XScreenSaver)
Network SystemOSfile manager, browser, email client
The Storage and File Management SystemOSfile manager

The Schema

The use of icons or tabs or individual applets supplies the majority of methods employed to organize things like settings. For instance, within the category of icons, they may be in a folder view or they may be displayed to the left in a column within the settings application.

That selection may not be as important as keeping everything in one place. As we see above, there are settings strewn about the whole system. One of the important jobs of any DE is to bring these together for the benefit of the user in a graphical manner. In this context, the DE developers may decide to employ or not to employ such a mechanism. However, it is inherently misleading and always smacks of being incomplete when it is done half way. The goal must be all or none; at least for the sake of consistency and implied design goals as understood by the user.

Underlying all this is the necessity for the actual saving mechanism to keep these settings protected from change unless the user (or admin) makes a physical change to the settings. It is unclear as to the goal of the current plan. If it is to save all desktop components at their current positions when shutting down, that does not work. If it is to save all running program information, that does not work. This is one area that definitely needs a rethink and a goal that is clear to the end user.

The Goals

1. One central location for all settings. One place where the user goes to make adjustments.
If the user is employing a DE, then they obviously wish to stay within it. Therefore the often-changed controls from all layers of the OS must be brought there.
2. Regardless of module or component source or target, the controls would all be grouped by kind.
Mouse controls must all be grouped into one place. How would a user know that the particular function of their mouse which they wish to adjust is kept somewhere other than under “Mouse”

Telepathy ceases to work when it comes to software.\\3. Settings must be made sacrosanct; no other process may be allowed to change them without pop-up approval.
Users get frustrated quickly when they go to all the trouble of setting things up the way they desire and then find them changing when they aren't expecting it. They have better things to do then futz around with the same things over and over again. The computer and its software is a tool to be used, and not something that makes the user jump thru hoops.

These are simple issues and they must be addressed in simple and concrete manner. No software is worth a darn without these sorts of things addressed from the ground up. The many serious problems become obvious when that is not done, and there is no excuse for it. It is the job of coders to realize the needs at the user end and to find a way to fulfill those needs, or the job is not yet finished.

Possible Solution

(Please discuss here.)

Please remember that we want Xfce to not only be light-weight and simple, but to appear that way. All we have to do is to use a better way of looking at the process.

For the sake of simplicity, we continue to use the format that exists at the current time. This would be the folder/icon layout. But we reorganize the applets and their tabs. Also, the individual items on each tab in each applet will grey-out when a feature does not exist. Following is a simple overview of that layout.

Icon or Applet Tab Change Reason
Accessability-Keyboard TabMove to Hardware-KeyboardThis is actually a keyboard setting, and separating such things may be seen as indicating a sort of discrimination
Accessability-Mouse TabMove to Hardware-Mouse
AppearanceMove to DesktopThis is part of the foundational desktop look and so actually goes with Desktop items
Appearance-Settings TabMove to Desktop-Panel tabThese settings all appear to be panel-related.
HardwareCreate NewGroup all hardware items here
DisplayMove to Hardware as tab
MouseMove to Hardware as tab
KeyboardMove to Hardware as tab
Mouse Scroll SettingsAdd to HardwareMissing now.
File ManagerMove back to Thunar ApplicationThis seems to be application specific, and not directly related to the Xfce environment.
NotificationsMove to DesktopIs a part of the desktop
PanelMove to DesktopThis is really part of the arrangement of the desktop
Power ManagerMove to Hardware(?)Hard to say about this. It is pretty unique. Needs to be expanded to have better control with lower level in the OS to handle shutdowns and suspend to disk or RAM
Preferred ApplicationsExpand OptionsAlso pretty unique. Needs more options.
PrintingMove to Hardware
Removable Drives and MediaMove to Hardware
Session and Startup(?)Unique applet. May need more intutive layout.
Window ManagerMove to DesktopAs much as people like to see it as separate, to the user it will always remain as part of the DE
Window Manager TweaksMove to Desktop
WorkspacesMove to Desktop


An important aspect of settings control is to be sure to provide a sandbox-like area where the changes can be seen before applying them to the DE. Simple mouse-click selection would be fine. There should not be any item that has to do with look and feel that cannot be viewed before applying the change.

Summary: Remember, the bottom line is to make the the system simpler without adding overhead. The point of Xfce is to be lightweight. It has almost all the components that are needed now. What the user needs is better and more intuitive control over the existing things, not more things. That's why the proposal is very simple, but oh so necessary. There really isn't much to it. But the diffence is lightyears ahead of the current way and of the competition. And this is what the user wants.

Concensus & Roadmap

(Please discuss here.)