https://wiki.haskell.org/api.php?action=feedcontributions&user=Cce&feedformat=atom
HaskellWiki - User contributions [en]
2024-03-19T04:08:22Z
User contributions
MediaWiki 1.35.5
https://wiki.haskell.org/index.php?title=Xmonad/Using_xmonad_in_Unity_2D&diff=42433
Xmonad/Using xmonad in Unity 2D
2011-10-14T16:07:52Z
<p>Cce: replacing XMonad Session /w working version from Nafai's config.</p>
<hr />
<div>{{xmonad}}<br />
[[Category:XMonad]]<br />
<br />
==Introduction==<br />
<br />
There are enough differences between the Gnome 3 and Gnome 2 panel that may cause you to look for something else. This guide will help you setup XMonad to be used with Unity 2D. <br />
<br />
Unity 2D is different from Unity 3D in a few significant ways: Unity 2D comprises a set of programs (panel, launcher, etc) and allows you to choose which window manager you want to use. On the other hand, Unity 3D is a Compiz plugin, so it can be seen as a window manager (like Gnome Shell).<br />
<br />
This guide assumes you will run Unity 2D using the Gnome 3 libraries.<br />
<br />
==Preparation==<br />
<br />
Install Unity 2D:<br />
<br />
<pre><br />
% sudo apt-get install unity-2d-panel<br />
</pre><br />
<br />
Create the following files:<br />
<br />
<pre><br />
# /usr/share/applications/xmonad.desktop<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Xmonad<br />
Exec=xmonad<br />
NoDisplay=true<br />
X-GNOME-WMName=Xmonad<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
X-GNOME-Autostart-Notify=true<br />
<br />
<br />
# /usr/share/gnome-session/sessions/xmonad.session<br />
[GNOME Session]<br />
Name=Xmonad Unity-2D Desktop<br />
RequiredComponents=gnome-settings-daemon;<br />
RequiredProviders=windowmanager;panel;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-panel=unity-2d-panel<br />
<br />
<br />
# /usr/share/xsessions/xmonad-gnome-session.desktop<br />
[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession<br />
</pre><br />
<br />
==XMonad Setup==<br />
<br />
First, [[Xmonad/Using xmonad in Gnome#Configure Xmonad to interoperate with Gnome|configure XMonad as you would for it to be used in Gnome]]. Next you need to make the following changes to your <code>xmonad.hs</code>:<br />
<br />
Add the following to your manage hook:<br />
<br />
<pre><br />
myManageHook = composeAll [<br />
-- other hooks,<br />
, className =? "Unity-2d-panel" --> doIgnore<br />
, className =? "Unity-2d-launcher" --> doIgnore<br />
-- more hooks<br />
</pre><br />
<br />
The Unity 2d panel declares 2 different window types and that seems to be confusing XMonad, so you'll have to explicitely add a gap at the top:<br />
<br />
<pre><br />
import XMonad.Layout.Gaps<br />
<br />
myLayouts = gaps [(U, 24)] $<br />
-- your other layout configuration<br />
</pre><br />
<br />
Now you should be ready to login. Make sure you choose the <code>XMonad GNOME</code> session in GDM.<br />
<br />
==Unity 2D setup ==<br />
<br />
Unity 2D is still using GConf for its configuration, so using GConf Editor, look under <code>desktop/gnome/unity-2d/launcher</code> to see how you can tweak the launcher behavior.</div>
Cce
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive&diff=18076
Xmonad/Config archive
2008-01-04T18:08:45Z
<p>Cce: </p>
<hr />
<div>{{xmonad}}<br />
<br />
==xmonad configuration examples==<br />
<br />
Configuration files (Config.hs for xmonad < 0.5, xmonad.hs for xmonad >= 0.5)<br />
<br />
For more screenshots see the [[Xmonad/Screenshots]] archive.<br />
<br />
;[[/Template Config.hs]] (0.5)<br />
:The default xmonad settings, in the form of a template, so you can easily edit and replace any values.<br />
<br />
;[[/Don's xmonad.hs]] (0.5)<br />
:[[/Don's Config.hs]] (0.4)<br />
:colours, use custom terminal, dynamicLogDzen<br />
[[Image:dons-config.png|center|200px]]<br />
<br />
;[[/Gwern's Config.hs]] (0.5)<br />
:[[/Gwern's Config.hs (0.4)]] (old)<br />
:Ratpoison-y keybindings; example usage of XSelection.<br />
<br />
;[[/twifkak's xmonad.hs]] (0.5)<br />
:[[/twifkak's Config.hs]] (0.4)<br />
:modMask = mod4Mask; noBorders tabbed layout; keybindings for dzen, rotview, swapworkspaces, windowbringer, and windownavigation; urgencyhook (only in darcs xmonad).<br />
<br />
;[[/nomeatas Config.hs]] (0.4)<br />
:modMaks = mod4Mask; gnome-stuff<br />
<br />
;[[/David Roundy's xmonad.hs]] (0.5)<br />
:Combo config for small screen + xclock. Requires the xmonad-library branch, so not for the faint of heart. This config also keeps mod=mod1, and therefore moves a number of key bindings to non-standard locations (my laptop has no spare modifier keys).<br />
[[Image:droundy-config.png|center|200px]]<br />
<br />
;[[/Brent Yorgey's xmonad.hs]] (0.5 darcs)<br />
:Only works with darcs xmonad. modMask = mod4Mask; DynamicLog, RotView, ViewPrev, WindowNavigation, ToggleLayouts (toggle full screen mode), UrgencyHook + dzen, FlexibleManipulate, a bunch of Prompts, Submap, Search, and a few others, with keybindings for all! (Warning: lots of non-standard keybindings. =)<br />
[[Image:byorgey-config.png|center|200px]]<br />
<br />
;[[/Robert Manea's xmonad.hs]] (0.5)<br />
:[[/Robert Manea's Config.hs and support scripts]] (0.4)<br />
:Customized DynamicLog and ShellPrompt, ManageDock, some efforts to make the colors of all components go together well<br />
0.4 screenshot: [[Image:rob-config.png|center|400px]]<br />
0.5 screenshot: [[Image:Xmonad_shellprompt_newconf.png|center|400px]]<br />
<br />
;[[/Eric Mertens' xmonad.hs]] (0.5)<br />
:[[/Eric Mertens's Config.hs]] (0.4)<br />
:Customized DynamicLog, ShellPrompt, TilePrime, Dual-head and an effort to make the statusbar similar to DWM.<br />
[[Image:glguy-config.jpg|center|400px]]<br />
<br />
;[[/vvv's xmonad.hs]] (0.5)<br />
:[[/vvv's Config.hs]] (0.4)<br />
:CustomKeys, CycleWS, {Shell,Ssh,Man}Prompt, Submap, DynamicWorkspaces, NoBorders, and ion-like status bar written in nonkosher Perl.<br />
[[Image:vvv-config.png|center|200px]]<br />
<br />
;[[/Andrea Rossato's xmonad.hs]] (0.5)<br />
:[[/arossato's Config.hs]] (0.4)<br />
:Tabbed, Xmobar with DynamicLog, (Shell|Ssh|Man)Prompt.<br />
[[Image:Arossato-config.png|center|200px]]<br />
<br />
;[[/Octoploid's xmonad.hs]] (0.5)<br />
:Xmobar with customized DynamicLog, RotView with custom keys, colors, terminal, golden ratio<br />
[[Image:Octoploid_conf.png|center|200px]]<br />
[[Image:Octoploid_conf2.png|center|200px]]<br />
<br />
;[[/Ray's xmonad.hs]] (0.5)<br />
:DynamicLog, custom manageHook, changed from default terminal, border colors, prompts, and layouts. Pseudo-Haskell dzen statusbar with greek letters for workspace names.<br />
[[Image:Ray-config.png|center|200px]]<br />
<br />
;[[/nattfodd's xmonad.hs]] (0.5)<br />
:DynamicLog, NoBorders, urgencyHook and French keyboard.<br />
[[Image:Nattfodd-scrot.png|center|200px]]<br />
<br />
;[[/deifl's xmonad.hs]] (0.5)<br />
:DynamicLog, WindowBringer, CopyWindow, ResizableTile, Tabbed layout. not default terminal, changed colors and some instances of dzen.<br />
Clean: [[Image:D_xmonad_clear.jpg|center|200px]]<br />
Populated: [[Image:D_xmonad_full.jpg|center|200px]]<br />
<br />
;[[/Xilon's xmonad.hs]] (0.5)<br />
:Simple and clean setup with dzen and a tray. Dzen with workspaces uses UrgencyHook for Urgent windows.<br />
[[Image:xilon-config.png|center|200px]]<br />
<br />
; [[/skorpan's xmonad.hs]] (0.5)<br />
: Basically slight modifications of rob's setup.<br />
[[Image:Skorpan.png|center|200px]]<br />
<br />
;[[/loupgaroublonds xmonad.hs]] (0.5)<br />
: mostly a stock config but with support for gnome and my cat<br />
[[Image:loupgaroublond-config.png|center|200px]]<br />
<br />
;[[/cce xmonad.hs]] (0.5)<br />
: alt+enter full screen, alt+hjkl to navigate, many remapped keys<br />
<br />
;[[/entropies xmonad.hs]] (0.5)<br />
: windows as meta key, fullscreen & noborders on keypress for client. custom keybindings. magnifier.<br />
[[Image:entropie-config.png|center|200px]]<br />
<br />
<br />
== Note on uploading ==<br />
<br />
To upload your config file, create some text on this page of the form:<br />
<br />
<nowiki>; [[/you Config.hs]]</nowiki><br />
<nowiki>: description of your setup</nowiki><br />
<br />
and save the page. This will create a new page under /you into which you<br />
can paste your Config.hs text. Wrap them in <nowiki><haskell></nowiki> and <nowiki></haskell></nowiki><br />
tags, to enable nice markup; add a nice category like <nowiki>[[Category:XMonad configuration]]</nowiki>, and upload. If you have an xmonad.hs for xmonad 0.5,<br />
upload that to<br />
<br />
<nowiki>; [[/you xmonad.hs]]</nowiki><br />
<br />
Images can be uploaded by clicking on the 'Upload file' link, and then<br />
referring to the uploaded image as, e.g.<br />
<br />
<nowiki>[[Image:you-config.png|center|200px]]</nowiki><br />
<br />
which will scale the image correctly for a thumbnail.<br />
<br />
[[Category:XMonad configuration]]</div>
Cce
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive&diff=18075
Xmonad/Config archive
2008-01-04T18:07:28Z
<p>Cce: </p>
<hr />
<div>{{xmonad}}<br />
<br />
==xmonad configuration examples==<br />
<br />
Configuration files (Config.hs for xmonad < 0.5, xmonad.hs for xmonad >= 0.5)<br />
<br />
For more screenshots see the [[Xmonad/Screenshots]] archive.<br />
<br />
;[[/Template Config.hs]] (0.5)<br />
:The default xmonad settings, in the form of a template, so you can easily edit and replace any values.<br />
<br />
;[[/Don's xmonad.hs]] (0.5)<br />
:[[/Don's Config.hs]] (0.4)<br />
:colours, use custom terminal, dynamicLogDzen<br />
[[Image:dons-config.png|center|200px]]<br />
<br />
;[[/Gwern's Config.hs]] (0.5)<br />
:[[/Gwern's Config.hs (0.4)]] (old)<br />
:Ratpoison-y keybindings; example usage of XSelection.<br />
<br />
;[[/twifkak's xmonad.hs]] (0.5)<br />
:[[/twifkak's Config.hs]] (0.4)<br />
:modMask = mod4Mask; noBorders tabbed layout; keybindings for dzen, rotview, swapworkspaces, windowbringer, and windownavigation; urgencyhook (only in darcs xmonad).<br />
<br />
;[[/nomeatas Config.hs]] (0.4)<br />
:modMaks = mod4Mask; gnome-stuff<br />
<br />
;[[/David Roundy's xmonad.hs]] (0.5)<br />
:Combo config for small screen + xclock. Requires the xmonad-library branch, so not for the faint of heart. This config also keeps mod=mod1, and therefore moves a number of key bindings to non-standard locations (my laptop has no spare modifier keys).<br />
[[Image:droundy-config.png|center|200px]]<br />
<br />
;[[/Brent Yorgey's xmonad.hs]] (0.5 darcs)<br />
:Only works with darcs xmonad. modMask = mod4Mask; DynamicLog, RotView, ViewPrev, WindowNavigation, ToggleLayouts (toggle full screen mode), UrgencyHook + dzen, FlexibleManipulate, a bunch of Prompts, Submap, Search, and a few others, with keybindings for all! (Warning: lots of non-standard keybindings. =)<br />
[[Image:byorgey-config.png|center|200px]]<br />
<br />
;[[/Robert Manea's xmonad.hs]] (0.5)<br />
:[[/Robert Manea's Config.hs and support scripts]] (0.4)<br />
:Customized DynamicLog and ShellPrompt, ManageDock, some efforts to make the colors of all components go together well<br />
0.4 screenshot: [[Image:rob-config.png|center|400px]]<br />
0.5 screenshot: [[Image:Xmonad_shellprompt_newconf.png|center|400px]]<br />
<br />
;[[/Eric Mertens' xmonad.hs]] (0.5)<br />
:[[/Eric Mertens's Config.hs]] (0.4)<br />
:Customized DynamicLog, ShellPrompt, TilePrime, Dual-head and an effort to make the statusbar similar to DWM.<br />
[[Image:glguy-config.jpg|center|400px]]<br />
<br />
;[[/vvv's xmonad.hs]] (0.5)<br />
:[[/vvv's Config.hs]] (0.4)<br />
:CustomKeys, CycleWS, {Shell,Ssh,Man}Prompt, Submap, DynamicWorkspaces, NoBorders, and ion-like status bar written in nonkosher Perl.<br />
[[Image:vvv-config.png|center|200px]]<br />
<br />
;[[/Andrea Rossato's xmonad.hs]] (0.5)<br />
:[[/arossato's Config.hs]] (0.4)<br />
:Tabbed, Xmobar with DynamicLog, (Shell|Ssh|Man)Prompt.<br />
[[Image:Arossato-config.png|center|200px]]<br />
<br />
;[[/Octoploid's xmonad.hs]] (0.5)<br />
:Xmobar with customized DynamicLog, RotView with custom keys, colors, terminal, golden ratio<br />
[[Image:Octoploid_conf.png|center|200px]]<br />
[[Image:Octoploid_conf2.png|center|200px]]<br />
<br />
;[[/Ray's xmonad.hs]] (0.5)<br />
:DynamicLog, custom manageHook, changed from default terminal, border colors, prompts, and layouts. Pseudo-Haskell dzen statusbar with greek letters for workspace names.<br />
[[Image:Ray-config.png|center|200px]]<br />
<br />
;[[/nattfodd's xmonad.hs]] (0.5)<br />
:DynamicLog, NoBorders, urgencyHook and French keyboard.<br />
[[Image:Nattfodd-scrot.png|center|200px]]<br />
<br />
;[[/deifl's xmonad.hs]] (0.5)<br />
:DynamicLog, WindowBringer, CopyWindow, ResizableTile, Tabbed layout. not default terminal, changed colors and some instances of dzen.<br />
Clean: [[Image:D_xmonad_clear.jpg|center|200px]]<br />
Populated: [[Image:D_xmonad_full.jpg|center|200px]]<br />
<br />
;[[/Xilon's xmonad.hs]] (0.5)<br />
:Simple and clean setup with dzen and a tray. Dzen with workspaces uses UrgencyHook for Urgent windows.<br />
[[Image:xilon-config.png|center|200px]]<br />
<br />
; [[/skorpan's xmonad.hs]] (0.5)<br />
: Basically slight modifications of rob's setup.<br />
[[Image:Skorpan.png|center|200px]]<br />
<br />
;[[/loupgaroublonds xmonad.hs]] (0.5)<br />
: mostly a stock config but with support for gnome and my cat<br />
[[Image:loupgaroublond-config.png|center|200px]]<br />
<br />
;[[/entropies xmonad.hs]] (0.5)<br />
: windows as meta key, fullscreen & noborders on keypress for client. custom keybindings. magnifier.<br />
[[Image:entropie-config.png|center|200px]]<br />
<br />
;[[/cce xmonad.hs]] (0.5)<br />
: alt+enter full screen, alt+hjkl to navigate, many remapped keys<br />
<br />
== Note on uploading ==<br />
<br />
To upload your config file, create some text on this page of the form:<br />
<br />
<nowiki>; [[/you Config.hs]]</nowiki><br />
<nowiki>: description of your setup</nowiki><br />
<br />
and save the page. This will create a new page under /you into which you<br />
can paste your Config.hs text. Wrap them in <nowiki><haskell></nowiki> and <nowiki></haskell></nowiki><br />
tags, to enable nice markup; add a nice category like <nowiki>[[Category:XMonad configuration]]</nowiki>, and upload. If you have an xmonad.hs for xmonad 0.5,<br />
upload that to<br />
<br />
<nowiki>; [[/you xmonad.hs]]</nowiki><br />
<br />
Images can be uploaded by clicking on the 'Upload file' link, and then<br />
referring to the uploaded image as, e.g.<br />
<br />
<nowiki>[[Image:you-config.png|center|200px]]</nowiki><br />
<br />
which will scale the image correctly for a thumbnail.<br />
<br />
[[Category:XMonad configuration]]</div>
Cce
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/cce_xmonad.hs&diff=18074
Xmonad/Config archive/cce xmonad.hs
2008-01-04T18:07:18Z
<p>Cce: cce's xmonad configuration</p>
<hr />
<div><haskell><br />
-- this xmonad configuration is heavily modified from the base template:<br />
-- * it uses mod+H/K/J/L to move between windows,<br />
-- and mod+ctrl+H/J/K/L to move them around<br />
-- * it uses mod+ENTER to go to a full-screen mode<br />
-- * it uses mod+TAB to swap workspaces<br />
-- * it uses mod+B/N to move up/down windows in tabbed/accordian<br />
-- * use mod+shift+J/K to resize<br />
-- * use alt+s to start a shell command <br />
-- * setup to have accordian, mirror and tabbed layouts as alternatives<br />
--<br />
-- # my .xinitrc<br />
-- xmodmap -e "keysym Caps_Lock = Escape"<br />
-- xmodmap -e "clear lock"<br />
-- xmodmap -e "clear mod1"<br />
-- xmodmap -e "clear mod4"<br />
-- xmodmap -e "add mod1 = Super_L Super_R Alt_R"<br />
-- xmodmap -e "add mod4 = Alt_L"<br />
-- konsole &<br />
-- exec /usr/local/bin/xmonad<br />
<br />
import XMonad<br />
import System.Exit<br />
import XMonad.Layout.NoBorders<br />
import XMonad.Layout.WindowNavigation<br />
import XMonad.Layout.ToggleLayouts<br />
import XMonad.Layout.Tabbed<br />
import XMonad.Layout.Accordion<br />
import XMonad.Actions.RotView<br />
import XMonad.Prompt<br />
import XMonad.Prompt.Shell<br />
<br />
import qualified XMonad.StackSet as W<br />
import qualified Data.Map as M<br />
<br />
------------------------------------------------------------------------<br />
myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $<br />
[ ((modMask .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)<br />
<br />
-- keys for Window Navigation hook<br />
, ((modMask, xK_Right), sendMessage $ Go R)<br />
, ((modMask, xK_Left ), sendMessage $ Go L)<br />
, ((modMask, xK_Up ), sendMessage $ Go U)<br />
, ((modMask, xK_Down ), sendMessage $ Go D)<br />
, ((modMask, xK_l ), sendMessage $ Go R)<br />
, ((modMask, xK_h ), sendMessage $ Go L)<br />
, ((modMask, xK_k ), sendMessage $ Go U)<br />
, ((modMask, xK_j ), sendMessage $ Go D)<br />
, ((modMask .|. controlMask, xK_Right), sendMessage $ Swap R)<br />
, ((modMask .|. controlMask, xK_Left ), sendMessage $ Swap L)<br />
, ((modMask .|. controlMask, xK_Up ), sendMessage $ Swap U)<br />
, ((modMask .|. controlMask, xK_Down ), sendMessage $ Swap D)<br />
, ((modMask .|. controlMask, xK_l ), sendMessage $ Swap R)<br />
, ((modMask .|. controlMask, xK_h ), sendMessage $ Swap L)<br />
, ((modMask .|. controlMask, xK_k ), sendMessage $ Swap U)<br />
, ((modMask .|. controlMask, xK_j ), sendMessage $ Swap D)<br />
, ((modMask, xK_Return), sendMessage ToggleLayout)<br />
, ((modMask, xK_Tab ), rotView True)<br />
, ((modMask .|. shiftMask, xK_Tab ), rotView False)<br />
--<br />
, ((modMask, xK_c ), kill)<br />
, ((modMask, xK_x ), <br />
spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"")<br />
, ((modMask, xK_t ), spawn $ XMonad.terminal conf)<br />
, ((modMask, xK_f ), refresh)<br />
, ((modMask, xK_m ), windows W.focusMaster )<br />
, ((modMask, xK_b ), windows W.focusUp )<br />
, ((modMask, xK_n ), windows W.focusDown )<br />
, ((modMask, xK_space ), sendMessage NextLayout)<br />
, ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)<br />
, ((modMask .|. shiftMask, xK_h ), sendMessage Shrink)<br />
, ((modMask .|. shiftMask, xK_l ), sendMessage Expand)<br />
, ((modMask, xK_v ), withFocused $ windows . W.sink)<br />
, ((modMask, xK_s ), shellPrompt defaultXPConfig)<br />
<br />
-- standard ones that I didn't modify<br />
, ((modMask , xK_comma ), sendMessage (IncMasterN 1))<br />
, ((modMask , xK_period), sendMessage (IncMasterN (-1)))<br />
, ((modMask , xK_z ),<br />
modifyGap (\i n -> let x = (XMonad.defaultGaps <br />
conf ++ repeat (0,0,0,0)) !! i<br />
in if n == x then (0,0,0,0) else x))<br />
, ((modMask .|. shiftMask, xK_q ), io (exitWith ExitSuccess))<br />
, ((modMask , xK_q ),<br />
broadcastMessage ReleaseResources >> restart (Just "xmonad") True)<br />
]<br />
++<br />
<br />
--<br />
-- mod-[1..9], Switch to workspace N<br />
-- mod-shift-[1..9], Move client to workspace N<br />
--<br />
[((m .|. modMask, k), windows $ f i)<br />
| (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]<br />
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]<br />
++<br />
<br />
--<br />
-- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3<br />
-- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3<br />
--<br />
[((m .|. modMask, key), screenWorkspace sc >>= flip whenJust (windows . f))<br />
| (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]<br />
, (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]<br />
<br />
<br />
------------------------------------------------------------------------<br />
-- Mouse bindings: default actions bound to mouse events<br />
--<br />
myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $<br />
[ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w))<br />
, ((modMask, button2), (\w -> focus w >> windows W.swapMaster))<br />
, ((modMask, button3), (\w -> focus w >> mouseResizeWindow w))<br />
]<br />
<br />
------------------------------------------------------------------------<br />
-- Layouts:<br />
<br />
-- You can specify and transform your layouts by modifying these values.<br />
-- If you change layout bindings be sure to use 'mod-shift-space' after<br />
-- restarting (with 'mod-q') to reset your layout state to the new<br />
-- defaults, as xmonad preserves your old layout settings by default.<br />
--<br />
-- The available layouts. Note that each layout is separated by |||,<br />
-- which denotes layout choice.<br />
--<br />
myLayout = toggle $ navkey $ tiled <br />
||| Mirror tiled<br />
||| Accordion<br />
||| tabbed shrinkText defaultTConf<br />
where<br />
-- default tiling algorithm partitions the screen into two panes<br />
tiled = Tall nmaster delta ratio<br />
-- The default number of windows in the master pane<br />
nmaster = 1<br />
-- Default proportion of screen occupied by master pane<br />
ratio = 1/2<br />
-- Percent of screen to increment by when resizing panes<br />
delta = 3/100<br />
-- hooks for navigation and full-screen keys<br />
toggle = toggleLayouts (noBorders Full)<br />
navkey = configurableNavigation (navigateColor "#111111")<br />
<br />
------------------------------------------------------------------------<br />
-- Window rules:<br />
<br />
-- Execute arbitrary actions and WindowSet manipulations when managing<br />
-- a new window. You can use this to, for example, always float a<br />
-- particular program, or have a client always appear on a particular<br />
-- workspace.<br />
--<br />
-- To find the property name associated with a program, use<br />
-- > xprop | grep WM_CLASS<br />
-- and click on the client you're interested in.<br />
--<br />
myManageHook = composeAll<br />
[ className =? "MPlayer" --> doFloat<br />
, className =? "Gimp" --> doFloat<br />
, resource =? "desktop_window" --> doIgnore<br />
, resource =? "kdesktop" --> doIgnore ]<br />
<br />
<br />
------------------------------------------------------------------------<br />
-- Status bars and logging<br />
<br />
-- Perform an arbitrary action on each internal state change or X event.<br />
-- See the 'DynamicLog' extension for examples.<br />
--<br />
-- To emulate dwm's status bar<br />
--<br />
-- > logHook = dynamicLogDzen<br />
--<br />
myLogHook = return ()<br />
<br />
------------------------------------------------------------------------<br />
-- Now run xmonad with all the defaults we set up.<br />
<br />
-- Run xmonad with the settings you specify. No need to modify this.<br />
--<br />
main = xmonad defaults<br />
<br />
-- A structure containing your configuration settings, overriding<br />
-- fields in the default config. Any you don't override, will <br />
-- use the defaults defined in xmonad/XMonad/Config.hs<br />
-- <br />
-- No need to modify this.<br />
--<br />
defaults = defaultConfig {<br />
-- simple stuff<br />
terminal = "konsole",<br />
borderWidth = 3,<br />
modMask = mod4Mask,<br />
numlockMask = mod2Mask,<br />
workspaces = ["1","2","3","4","5","6","7","8","9"],<br />
normalBorderColor = "#dddddd",<br />
focusedBorderColor = "#ff0000",<br />
defaultGaps = [(0,0,0,0)],<br />
<br />
-- key bindings<br />
keys = myKeys,<br />
mouseBindings = myMouseBindings,<br />
<br />
-- hooks, layouts<br />
layoutHook = myLayout,<br />
manageHook = myManageHook,<br />
logHook = myLogHook<br />
}<br />
</haskell></div>
Cce