background preloader

XMonad

Facebook Twitter

Actions.WorkspaceCursors. Here is an example config: import XMonad import XMonad.Actions.WorkspaceCursors import XMonad.Hooks.DynamicLog import XMonad.Util.EZConfig import qualified XMonad.StackSet as W main = do x <- xmobar conf xmonad x conf = additionalKeysP defaultConfig { layoutHook = workspaceCursors myCursors $ layoutHook defaultConfig , workspaces = toList myCursors } $ [("M-"++shift++control++[k], f direction depth) | (f,shift) <- zip [modifyLayer,shiftModifyLayer] ["","S-"] , (direction,control) <- zip [W.focusUp',W.focusDown'] ["C-",""] , (depth,k) <- zip (reverse [1..focusDepth myCursors]) "asdf"] ++ moreKeybindings moreKeybindings = [] myCursors = makeCursors $ map (map (\x -> [x])) [ "1234", "abc", "xyz"] -- myCursors = makeCursors [["wsA","wsB","wsC"],["-alpha-","-beta-","-gamma-"],["x","y"]]

Actions.WorkspaceCursors

Actions.Plane. Layout.Fullscreen. Provides a ManageHook and an EventHook that sends layout messages with information about fullscreening windows.

Layout.Fullscreen

This allows layouts to make their own decisions about what they should to with a window that requests fullscreen. The module also includes a few layout modifiers as an illustration of how such layouts should behave. To use this module, add fullscreenEventHook and fullscreenManageHook to your config, i.e. xmonad defaultconfig { handleEventHook = fullscreenEventHook, manageHook = fullscreenManageHook, layoutHook = myLayouts } Now you can use layouts that respect fullscreen, for example the provided fullscreenFull: myLayouts = fullscreenFull someLayout data FullscreenMessage Source. Dotfiles/dot.Xdefaults at master · norrs/dotfiles.

Norrs's gist: 2947423. Files/dot.xmonad/xmonad.hs at master · norrs/dotfiles. Image:Xmonad-screen-gnome-brownblack5.jpg. Norrs's gist: 2945060. Hooks.SetWMName. Issue 177 - xmonad - xmonad does not follow ICCCM and ignores WM_TAKE_FOCUS protocol - xmonad: a tiling window manager. Hpaste — Haskell Pastebin. Layout.IndependentScreens. You can use this module with the following in your ~/.xmonad/xmonad.hs: import XMonad.Layout.IndependentScreens You can define your workspaces by calling withScreens: myConfig = defaultConfig { workspaces = withScreens 2 ["web", "email", "irc"] } This will create "physical" workspaces with distinct internal names for each (screen, virtual workspace) pair.

Layout.IndependentScreens

Then edit any keybindings that use the list of workspaces or refer to specific workspace names. KeyBindings conf = let m = modMask conf in fromList $ {- lots of other keybindings -} [((m .|. modm, k), windows $ f i) | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] This should change to keyBindings conf = let m = modMask conf in fromList $ {- lots of other keybindings -} [((m .|. modm, k), windows $ onCurrentScreen f i) | (i, k) <- zip (workspaces' conf) [xK_1 .. xK_9] , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] marshallPP :: ScreenId -> PP -> PPSource. Layout.NoBorders. SetsAmbiguous allows custom actions to generate lists of windows that should not have borders drawn through ConfigurableBorder To add your own (though perhaps those options would better belong as an aditional constructor to Ambiguity), you can add the function as such: data MyAmbiguity = MyAmbiguity deriving (Read, Show) instance SetsAmbiguous MyAmbiguity where hiddens _ wset mst wrs = otherHiddens Screen \\ otherHiddens OnlyFloat where otherHiddens p = hiddens p wset mst wrs The above example is redundant, because you can have the same result with:

Layout.NoBorders

Norrs's gist: 2938661. Hpaste — Haskell Pastebin. Layout.LayoutCombinators. Xmonad/Notable changes since 0.9. This page is for keeping a record of significant changes in darcs xmonad and xmonad-contrib since the 0.9 releases.

Xmonad/Notable changes since 0.9

See darcs changes in the source repositories for the patches and more details covering documentation and bug fixes not noted here. Xmonad/General xmonad.hs config tips. This document assumes you're running >= XMonad-0.8.

Xmonad/General xmonad.hs config tips

It describes general tips for configuring xmonad.hs, for example "How to make window X float by default" and others. If you can't find what you're searching for, you may want to look at the Config archive or ask for help on #xmonad@irc.freenode.net. Also useful, for an overview of how to configure bindings and hooks, and (somewhat out of date) summary of xmonad-contrib extensions, see XMonad.Doc.Extending.

Please add what you found useful, and of course improving existing tips or adding alternatives is highly appreciated! 1 Managing Windows aka Manage Hooks s define special actions to be performed on newly created windows matching specific properties. 1.1 Making window float by default, or send it to specific workspace. Xmonad/General xmonad.hs config tips. This document assumes you're running >= XMonad-0.8.

Xmonad/General xmonad.hs config tips

It describes general tips for configuring xmonad.hs, for example "How to make window X float by default" and others. If you can't find what you're searching for, you may want to look at the Config archive or ask for help on #xmonad@irc.freenode.net. Also useful, for an overview of how to configure bindings and hooks, and (somewhat out of date) summary of xmonad-contrib extensions, see XMonad.Doc.Extending.

Please add what you found useful, and of course improving existing tips or adding alternatives is highly appreciated! 1 Managing Windows aka Manage Hooks s define special actions to be performed on newly created windows matching specific properties. 1.1 Making window float by default, or send it to specific workspace. XMonad.Actions.OnScreen. This module provides an easy way to control, what you see on other screens in xinerama mode without having to focus them.

XMonad.Actions.OnScreen

Layout.Master.