This repository contains the author's xmonad configuration as well as other "dot files" that the author has had to write to achieve a satisfactory configuration. xmonad is a tiling window manager. On a Debian GNU/Linux system, you can install it and other useful packages for compiling a custom configuration with the command (as root): apt-get install xmonad ghc libghc-xmonad-dev libghc-xmonad-contrib-dev If you are not familiar with xmonad and xmonad configuration, you may want to read the following pages: - http://xmonad.org/about.html - http://xmonad.org/tour.html - http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Doc-Configuring.html The author could write his configuration files with a lot of googling. Some web pages have been particularly helpful: - https://wiki.haskell.org/Xmonad/Config_archive/John_Goerzen%27s_Configuration - http://joeyh.name/blog/entry/xmonad_layouts_for_netbooks/ ============================================================================== Precisely, the files in this repository are: ---------------------------------------------- .xinitrc Thanks to this file and the "xsetroot -cursor_name left_ptr" command that it contains, the mouse cursor is the classical arrow instead of the default "X" cursor in some application (Claws Mail in particular). ---------------------------------------------- .Xresources This file sets some default parameters for xterm, xmessage and dclock. Most notably, the line: xmessage*international: true causes xmessage to display UTF-8 encoded messages properly. The line: XTerm*faceName: Inconsolata causes the font Inconsolata to be used in xterm. To install this font on a Debian GNU/Linux system, issue the command (as root): apt-get install fonts-inconsolata ---------------------------------------------- .moc/config, the MOC (music on console) configuration. The line: Shuffle = yes causes MOC to start with the shuffle mode enabled. To install MOC on a Debian GNU/Linux system, issue the command (as root): apt-get install moc ---------------------------------------------- .xbindkeysrc, the user configuration file for xbindkeys. It binds the multimedia keys of the keyboard to command lines. It has been tested with a Cherry Stream XT corded keyboard only. Hopefully it works on most other keyboards. The "volume up", "volume down" and "mute" keys are bound to amixer commands. On a Debian GNU/Linux system, amixer is available in the alsa-utils package. The "next track", "previous track" and "pause" keys are bound to MOC (music on console) commands. The "next track" key in particular is bound to a not so trivial command: mocp -S 2>/dev/null; if [ $? -eq 0 ]; then mocp -p; else mocp -f; fi; which causes MOC to play the next track if it is already running, or to be launched and start playing if it is not already running. If you have all your music in a single play list, and the MOC shuffle mode enabled in .moc/config, then you can have your music start playing in random order by pressing only the "next track" key and you never need to open the MOC interface. To install xbindkeys on a Debian GNU/Linux system, issue the command (as root): apt-get install xbindkeys ---------------------------------------------- .xmonad/xmonad.hs, the xmonad configuration. This file is heavily commented. Here is a description of the configuration: - The Mod key is bound to the Windows key (Mod4). - The key binding is adapted for AZERTY keyboards users. Mod + semicolon is used to decrease the number of windows in in the master pane (instead of Mod + period). - dmenu shows up at the bottom of screen instead of at the top, and with specific colors. - Mod + left arrow and Mod + right arrow allow cycling through the non-empty workspaces. - Mod + x triggers a command prompt. - Mod + shift + q and mod + q trigger a "system" menu (Shutdown / Reboot / Exit / Lock / Restart XMonad). Note that the Shutdown and Reboot commands won't work if the user is not allowed to run "sudo poweroff" and "sudo reboot" without password. To allow the users to run "sudo poweroff" and "sudo reboot" without password, the system administrator may add this line in /etc/sudoers using visudo: ALL ALL=NOPASSWD: /sbin/poweroff, /sbin/reboot Not also that the Lock command launches xtrlock and thus won't work if xtrlock is not installed on the system. On a Debian GNU/Linux system, you can install it with the command (as root): apt-get install xtrlock - Mod + shift + m shows the title currently played by MOC (music on console). - The workspaces are given names: * 1:mail * 2:chat * 3:image1 * 4:image2 * 5:browsing * 6:edit1 * 7:edit2 * 8:edit3 * 9:edit4 - The names of the workspaces are briefly displayed when switching between workspaces. - Some applications are automatically moved to particular workspaces: * Claws Mail to 1:mail, * Gajim to 2:chat, * xzgv to 3:image1, * GIMP to 4:image2, * Firefox to 5:browsing. - GIMP and xmessage are automatically moved to the floating layer. - On xmonad startup or restart, the script .xmonad/hooks is run with the "startup" argument which causes three applications to be automatically launched, if they are installed on the system and if they are not already run by the user: * dclock, * Claws Mail, * Firefox. As already mentioned, Claws Mail and Firefox are automatically moved to particular workspaces. dclock is permanently displayed in the upper right corner of the screen and shows the time and date. In the text of the .xmonad/xmonad.hs file, it is assumed that the screen is 1920 pixels wide. If your screen is a different resolution, then you probably want to replace 1920 with the pixel width of your screen. On a Debian GNU/Linux system, you can install dclock with the command (as root): apt-get install dclock It is possible to partially or totally disable the script .xmonad/hooks through environment variables definitions. Please run the script .xmonad/hooks with the --help option for more information. - There are two layouts available in each workspace : the "fixed column" layout and the "full screen" layout. You can switch between them with Mod + space. Actually, there is one exception: In the browsing workspace, the "fixed column" is not available. Instead, the tall layout is available, with the master pane being 4/9 of the screen width. In workspaces 1 to 4, the width of the master pane in the "fixed column" layout is fixed to 80 characters, which is good for working in a terminal or editing a file in (say) Vim with a 80 characters text width. In the four "edit" workspaces (workspaces 6 to 9), the width of the master pane in the "fixed column" layout is fixed to 163 characters which is good for editing two files side by side in Vim (vertical split) with the foldcolumn option set to 1 and a 80 characters text width in both files. You might want to try the Wibafoco Vim plugin which automatically changes the foldcolumn option depending on the Vim window width. This plugin is available here: https://github.com/thierr26/wibafoco ---------------------------------------------- .xmonad/hooks, the shell script which is run on xmonad startup and restart thanks to the 'execScriptHook "startup"' function call in .xmonad/xmonad.hs. When run with the "startup" argument, this script launches the following applications if they are installed on the system and if they are not already run by the user: * dclock, * Claws Mail, * Firefox. It is possible to partially or totally disable the script through environment variables definitions. Please run the script with the --help option for more information. ---------------------------------------------- install_thierr26_xmonad_config_and_dot_files, a shell script (actually a dash script) to install the files. This script copies all the above files to the user's home directory or to the directory specified on the command line. Launch the script with the --help option for a more detailed documentation. Note that no backup of the overwritten files is done. ---------------------------------------------- README, the present file. ---------------------------------------------- LICENSE, the license file (Unlicense license). ============================================================================== Author: Thierry Rascle (thierr26@free.fr) Licensed under the Unlicense license (see http://unlicense.org).
thierr26/thierr26_xmonad_config_and_dot_files
Not maintained any more - My xmonad configuration, along with other "dot files".
ShellUnlicense