Xfce Wiki

Sub domains
 

System-Wide Settings

Introduction

As the title implies, this category is an attempt to bring together all the various system settings into one simple interface. Its goal is 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 its settings for the purpose of centralizing control.

Further, this roadmap will be useful in eliminating those disparate 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 first bring together 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 consensus and roadmap.

Note: It is not necessary to discuss the issue of whether or not some problem exists, but rather to note the users' experiences, and address them with a desire to improve that experience and make it ever more “goof-proof”. The old adage 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 polishing of the product will always be taking place. Programmers can know they're on the right track when they cease hearing a user state something like “Where is the #@!$&%ing location to set my preferred PDF viewer? I'm tired of seeing GIMP start up instead!”.

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(s) (if known) User's Interface For
Settings, generalSettings Manager, Appearance-Settings, Settings Editor
Hardware
Keyboard and/or mouseAccessability, Keyboard, Mouse, Removable Drives and Media-Input Devices
MonitorDesktop, Xorgxorg.conf(?)
Sound and/or Speakers
PrinterRemovable Drives and Media-Printers
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 Menu
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. Two factors stand out; first is that the user can't find them all in one place, and second is that their existing organization makes no intuitive sense. Even more experienced users will have a problem with knowing what some mysteriously-named item is actually supposed to accomplish.

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. It becomes immediately apparent that the ability to utilize many of these is based upon trial and error.

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 and that of the end user.

Where appropriate, we can note if these tools of adjustment appear on the main menu system of the DE. We will attempt to list by actual module name, if known, in parenthesis, with menu names in bold. Corrections are welcome.

System Level Belongs To Interfaced By
Desktop EnvironmentXfceXfce4 Settings Manager, Time and Date
Widget Toolkit subsystemGUIGTK+2
Window Manager subsystemGUIXfwm
Windowing System subsystemGUI
Graphics Server subsystemGUI
X Graphical Interface or GUI (if used)X Window Systemxorg.conf, Screensaver (XScreenSaver)
Framebuffer (if used)OS videoCLI
Network SystemOSfile manager, browser, email client, Samba
The Storage and File Management SystemOSfile manager
Operating System(OS)selfCLI

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 tabEntitle it Xorg Display.
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 over the lower levels in the OS, so as to handle shutdowns and suspend to disk or RAM in a more intuitive manner.
Preferred ApplicationsExpand OptionsAlso pretty unique. Needs more options. There must be a dozen more than just the three categories listed. ie, where is the PDF viewer?
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.)