Slint user settings an custom features -------------------------------------- Why --- The specific Slint features and pre-made settings intend to ease usage of the system and increase its consistency. The layout of desktop panels and root menus is similar in all desktops and windows managers but KDE and twm. The system can easily and consistently be rebooted, shut down, suspended or hibernated, even if a desktop manager is not in use. These settings make all graphical environments but twm usable without further configuration, while allowing it at will. The Slint Control Center provides an easy access to documentation and tools found in Slint and accessible from all windows manager and desktops. What ---- Panel: For blackbox, fluxbox, fvwm and windowmaker lxpanel is used, instead of the built-in panel (aka toolbar) when it exists. The panel includes an auto-updated menu, a launch bar for frequently used apps, a task bar or windows list, a work spaces area, some widgets and and a notification area. For xfce, we use the built-in panel with a similar layout. In the notification area an icon is displayed to inform that an update of an installed application is available, allowing an immediate upgrade. Root menu: The root menu, displayed by a right or left click on the main window, has a similar layout and content in all listed windows manager and in xfce. In the root menu, the applications sub-menu(s) is either auto-updated or can be updated clicking a specific menu after the addition or removal of an application. The menu is updated either immediately or at next start up ofthe windows manager. All root menus include on top some frequently used applications: a) A terminal emulator (xterm by default) b) A file manager (xfe, or XFileManager by default) c) A web browser (Mozilla Firefox as shipped in Salix by default) d) An email client by default (Mozilla Thunderbird, including localization in many languages) These apps can be replaced by others using "exo-preferred-applications", (displayed name: named "Preferred Applications") either from the Slint Control Center or from a menu. The Control Center is accessible from all menus. Menu included in the panel: Displayed with a left-click in the left-most icon of the panel, it has a layout similar to that of the root menu and is auto-updated in all cases. It also gives access to a text editor. The default one (pluma) can be replaced by the another one through a setting of the panel itself. Slint Control Center: Displayed in its own window it includes following categories Applications Hardware Information Settings System Utilities How --- User settings are mostly done populating the /etc/skel directory with files that will be copied in the home directory of users upon their creation after installation of the slint-user-settings packages. In this docum ent, the character ~ designates the home directory like e.g. /home/didier. lxdm: The windows managers and desktops proposed are among the .desktop files in /usr/share/xsessions, some shipped in Slackware, others taken from the kdm package, blackbox.desktop being then modified as written above. xterm: xterm has been recompiled to include a toolbar (in Thomas E. Dickey, parlance also called a menubar). The file ~/.Xresources customizes its appearance. Folks wanting to get rid of it have several ways to do that: a) Tentatively uncheck it in the Main Options menu b) Tentatively start it with the +tb optin c) Include "XTerm*toolBar:false" without the quotes in .Xresources d) Include in ~/.profile: alias xterm="xterm +tb" As a reminder, without a toolbar the Main Options, VT Options and VT Fonts menu can be displayed holding one of the [Ctrl] keys while doing a left, right or middle click respectively. displaying of man pages: ~/.profile sets PAGER to /usr/bin/most and GROFF_ENCODING to UTF-8 to allows displaying most internationalized man pages with proper fonts and a good look. Settings common to blackbox, fluxbox, fvwm, windowmaker and partially Xfce: Just before starting these window managers, some preparatory tasks are performed: a) But in Xfce, XDG_CURRENT_DESKTOP is set to $DUMMY_DESKTOP, that has been set in /etc/profile.d/dummy-desktop.{,c}sh. This helps to display the relevant applications in the menus. b) A salix-update-notifier daemon is started unless one be already running. This allows to notify the user of pending updates of installed software. c) lxpanel is started (but in Xfce that use the built-in panel), through the wrapper script /usr/libexec/slint/lxdm.sh that exports XDG_CURRENT_DESKTOP=$DUMMY_DESKTOP DUMMY_DESTOP is exported by /etc/profile.d/dummy_desktop.sh (as LXDE as it is mentioned in no .desktop file shipped in Slint neither in an OnlyShowIn nor in an NotShowIn field at time of writing). d) But for Xfce, an application menu names xdg_menu is refreshed running xdgmenumaker, thanks to George Vlahavas for providing and adapting it. It is included in the root menus of blackbox, fluxbox, fvwm and windowaker. A different file xdg_menu is built for each window manager as their menu syntax and ability to display icons differ. e) A specific default color background is set: texture gradient vertical, from #fffff to #002255. We detail below how this is done. blackbox: ~/.blackboxrc sets Slint's style and menu with these line: session.styleFile: /usr/share/blackbox/styles/Slint session.menuFile: ~/.blackbox/menu /usr/share/blackbox/styles/Slint, added to the blackbox package, sets the appearance of the root menu, and also the background of the root window with this line: rootCommand: fbsetroot -gradient vertical -from "#ffffff" -to "#002255" This style is set as default in ~/.blackboxrc. ~/.blackbox/menu includes this entry: [include] (~/.blackbox/xdg_menu) fluxbox: ~/.fluxbox/startup: _ starts the salix-update-notifier daemon _ initializes ~/.blackbox/xdg_menu _ starts lxpanel.sh _ after all this hard work, starts /usr/bin/fluxbox with the -no-toolbar option as we use lxpanel instead, that includes a notification area. ~/.fluxbox/init includes this line: session.styleFile:/usr/share/fluxbox/styles/Slint /usr/share/fluxbox/styles/Slint/theme.cfg sets the background and the style of the menu. fvwm: ~/.fvwm/config is both a startup script and a configuration file. It sets the root menu (including xdg_enu as a submenu) and its style. Note: fvwm is by far the WM that allow the finer tuning. But to draw all the benefit of this characteristic, be prepared to read a very long man page... The steps needed to: _ starts the salix-update-notifier daemon _ initializes ~/.blackbox/xdg_menu _ starts lxpanel.sh are included: _ in /etc/X11/xinit/xinitrc.fvwm if fvwm is started through "startx" _ in /usr/libexec/slint/fvwm.sh if fvwm is started from lxdm in a similar fashion as for blackbox. windowmaker: ~/GNUstep/Library/WindowMaker/autostarts starts salix-update-notidier and lxpanel.sh ~/GNUstep/defaults/WindowMaker stores Slint default settings, mostly disabling clip and dock, setting the icons position (back, left, vertical), auto arranging them, setting the workspace background. ~/GNUstep/defaults/WMRootmenu includes this line: (Applications, OPEN_MENU, "|| xdgmenumaker -n -f windowmaker"), that both includes the Applications menu and auto update it. xfce: ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml stores the customized configuration of the panel, with a layout similar to that of lxpanel. ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml stores the path to the background images of the workspaces. ~/.local/share/applications stores the .desktop files that should appear in the top level of xfce's root menu. In that aim, they include among the Categories: X-Xfce-Toplevel Slint Control Center: Based on qcontrolcenter initially written by Thierry Deseez, in Slint the default content of the control center is stored in ~/.qcontrolcenter and thus can be modified by each user independantly. Mouse key bindings on the workspace: 1=left 2=middle 3=right nop=no operation 1: blackbox: nop fluxbbx: nop fvwm: operations on windows windowmaker: nop xfce: nop 2: blackbox: workspaces menu fluxbox: workspaces menu fvwm: windows list windowmaker: windows list xfce: workspaces menu 3: blackbox: root menu fluxbox: root menu fvwm: root menu xfce: root menu Background setting: blackbox: in ~/blackboxrc: rootCommand: fbsetroot -gradient vertical -from "#ffffff" -to "#002255" fluxbox: in ~/fluxbox/overlay: background: gradient vertical background.color: "#ffffff" background.colorTo: "#002255" in ~/fluxbox/startup: fbsetroot -gradient vertical -from "#ffffff" -to "#002255" fvwm: windowmaker: in ~/GNUstep/Defaults/WindowMaker: WorkspaceBack = (vgradient, white, "#002255"); in~/GNUstep/Defaults/WMRootMenu: (lines inserted after Gradient) Gradient, ( Slint, EXEC, "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#ffffff\", \"#002255\")'" ), xfce4: in .config/xfce4/xfce4-per-channel-xml/xfce4-desktop.xml: Hint: hex(0,8738,28145,65536)=(0,2222,5555,ffff)