[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howtos:window_managers:xmonad_tiling_window_manager [2012/11/04 15:30 (UTC)] – [Xmonad as a Windowmanager for Slackware] syntax fix sycamorexhowtos:window_managers:xmonad_tiling_window_manager [2012/12/20 03:16 (UTC)] (current) – [Sources] added author tag mfillpot
Line 6: Line 6:
 For Xmonad read [[http://xmonad.org/|here]] For Xmonad read [[http://xmonad.org/|here]]
  
-====Required packages====+===== Required packages =====
 Xmonad is not included in Slackware by default, but available via [[http://slackbuilds.org/desktop/xmonad/|SlackBuilds.org]]. Xmonad is written in Haskell and therefore some packages of the Haskell series are required in order to build Xmonad.  Xmonad is not included in Slackware by default, but available via [[http://slackbuilds.org/desktop/xmonad/|SlackBuilds.org]]. Xmonad is written in Haskell and therefore some packages of the Haskell series are required in order to build Xmonad. 
 Here are the packages in the correct build order: Here are the packages in the correct build order:
Line 26: Line 26:
 I have additionally installed [[http://slackbuilds.org/desktop/dmenu/|dmenu]] which is integrated into the statusbar and starts programs (like gmrun). I have also installed ''trayer'' which provides a systray in the statusbar. Unfortunately ''trayer'' is only available as an rpm-package. I wanted to write a SlackBuild script for it, but the sources are incomplete. Another tray is [[http://slackbuilds.org/desktop/stalonetray/|stalonetray]] which is available via SlackBuilds.org. I have additionally installed [[http://slackbuilds.org/desktop/dmenu/|dmenu]] which is integrated into the statusbar and starts programs (like gmrun). I have also installed ''trayer'' which provides a systray in the statusbar. Unfortunately ''trayer'' is only available as an rpm-package. I wanted to write a SlackBuild script for it, but the sources are incomplete. Another tray is [[http://slackbuilds.org/desktop/stalonetray/|stalonetray]] which is available via SlackBuilds.org.
  
-====Configuration of Xmonad====+===== Configuration of Xmonad =====
 After building and installing the above packages you can configure Xmonad. One remarkable feature of xmonad as well as xmobar is that it is not only written in the functional language Haskell, but also the configuration is a Haskell file. This makes it a bit difficult to understand the configuration files if one doesn't know Haskell. Well, I once tried to learn Haskell but (yet) without success. After building and installing the above packages you can configure Xmonad. One remarkable feature of xmonad as well as xmobar is that it is not only written in the functional language Haskell, but also the configuration is a Haskell file. This makes it a bit difficult to understand the configuration files if one doesn't know Haskell. Well, I once tried to learn Haskell but (yet) without success.
  
 At first one has to configure ''.xinitrc'' in order to start Xmonad correctly when changing from runlevel 3 to 4. At first one has to configure ''.xinitrc'' in order to start Xmonad correctly when changing from runlevel 3 to 4.
  
-==.xinitrc==+==== .xinitrc ====
 the following sections of my ''.xinitrc'' configure ''dbus'', the mouse pointer and ''trayer'', then xmonad is started the following sections of my ''.xinitrc'' configure ''dbus'', the mouse pointer and ''trayer'', then xmonad is started
 <code bash> <code bash>
Line 49: Line 49:
 </code> </code>
  
-==.xmobarrc==+==== .xmobarrc ====
 xmobar is a statusbar and displays useful information, in my case in the top part of the desktop. Below is an example of my ''.xmobarrc'': xmobar is a statusbar and displays useful information, in my case in the top part of the desktop. Below is an example of my ''.xmobarrc'':
 <code haskell> <code haskell>
Line 79: Line 79:
 For further explanation please read the manuals. For further explanation please read the manuals.
  
-==xmonad.hs==+==== xmonad.hs ====
 Here is an example of my ''~/.xmonad/xmonad.hs'' file Here is an example of my ''~/.xmonad/xmonad.hs'' file
 <code haskell> <code haskell>
Line 110: Line 110:
 Please read the documentation for ''xmonad.hs''. This is only an example (which works well for me). Please read the documentation for ''xmonad.hs''. This is only an example (which works well for me).
  
-====Additional Hints====+===== Additional Hints =====
 One can reload the configurations for xmobar and/or xmonad after changes with <key>MOD</key>+<key>'q'</key> without leaving X. This is very useful. One can reload the configurations for xmobar and/or xmonad after changes with <key>MOD</key>+<key>'q'</key> without leaving X. This is very useful.
  
 When using a tiling window manager one experiences that some applications behave unusual. In my ''xmonad.hs'' file above you see ''Vlc'' and ''Gimp'' in the list of programs which should float. In order to find out the so called ''Classname'' of the application (through which the application can be detected by the window manager) there is a script in the xmonad-contrib package. You can find it in ''/usr/share/doc/xmonad-contrib-0.10/scripts/'' directory. When using a tiling window manager one experiences that some applications behave unusual. In my ''xmonad.hs'' file above you see ''Vlc'' and ''Gimp'' in the list of programs which should float. In order to find out the so called ''Classname'' of the application (through which the application can be detected by the window manager) there is a script in the xmonad-contrib package. You can find it in ''/usr/share/doc/xmonad-contrib-0.10/scripts/'' directory.
 +
 ====== Sources ====== ====== Sources ======
 <!-- If you are copying information from another source, then specify that source --> <!-- If you are copying information from another source, then specify that source -->
 <!-- * Original source: [[http://some.website.org/some/page.html]] --> <!-- * Original source: [[http://some.website.org/some/page.html]] -->
 <!-- Authors are allowed to give credit to themselves! --> <!-- Authors are allowed to give credit to themselves! -->
-  * Originally written by [[wiki:user:markush]]+  * Originally written by [[wiki:user:markush|Markus Hutmacher]]
 <!-- * Contributions by [[wiki:user:yyy | User Y]] --> <!-- * Contributions by [[wiki:user:yyy | User Y]] -->
  
 <!-- Please do not modify anything below, except adding new tags.--> <!-- Please do not modify anything below, except adding new tags.-->
 <!-- You must remove the tag-word "template" below before saving your new page --> <!-- You must remove the tag-word "template" below before saving your new page -->
-{{tag>howtos windowmanager tiling-windowmanager haskell xmonad}}+{{tag>howtos windowmanager tiling-windowmanager haskell xmonad author_markush }}
 howtos:window_managers:xmonad_tiling_window_manager ()