From gwern0 at gmail.com Fri May 1 14:49:56 2009 From: gwern0 at gmail.com (Gwern Branwen) Date: Fri May 1 14:35:42 2009 Subject: [xmonad] Recompiling on reinstallation Message-ID: Don today in #xmonad linked http://braindump.dk/tech/2009/05/01/xmonad-upgrade/ The problem seems to be that the custom xmonad binary was not being recompiled even when XMonad was upgraded/reinstalled. Fortunately, I had seen a Yi technique which asked Cabal for the installed binary's patch; then it could get the last-modified times of the installed binary & the custom binary, and force a recompile if the former was newer than the latter. I coded this up for xmonad-core, but whenever I try it out, I get link errors. This is not the first time I've seen such errors, so I do not know whether my patch is flawed or my setup. If anyone wants to try it themselves and perhaps fix it, I'm attaching it. The changes: hunk ./XMonad/Core.hs 55 +import System.FilePath.Posix (()) hunk ./XMonad/Core.hs 60 +import Paths_xmonad (getBinDir) + hunk ./XMonad/Core.hs 399 +-- * the installed xmonad executable is more recent than the custom xmonad +-- hunk ./XMonad/Core.hs 408 --- hunk ./XMonad/Core.hs 411 + cabalBinDir <- getBinDir + let cabalBin = cabalBinDir "xmonad" + cabalBinT <- getModTime cabalBin hunk ./XMonad/Core.hs 421 - if (force || srcT > binT) + if (force || srcT > binT || cabalBinT > binT) hunk ./XMonad/Main.hsc 43 + + hunk ./XMonad/Main.hsc 124 - + -- have recompile check for a stale custom binary + recompile False hunk ./xmonad.cabal 44 - build-depends: base < 4 && >=3, containers, directory, process + build-depends: base < 4 && >=3, containers, directory, process, filepath -- gwern -------------- next part -------------- A non-text attachment was scrubbed... Name: recompile.dpatch Type: application/octet-stream Size: 8624 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090501/07c69dcf/recompile-0001.obj From john at yates-sheets.org Sat May 2 13:25:20 2009 From: john at yates-sheets.org (John Yates) Date: Sat May 2 13:10:56 2009 Subject: [xmonad] Turning emacs mini-buffer window into a strut Message-ID: <3f14737c0905021025u193cadaeg41cb4bf4a7f2fa0b@mail.gmail.com> This is my first appearance in the xmonad community. Those tracking awesome may recognize this post as similar to one I posted earlier on that mailing list. Some backstory As a longtime C++ programmer I had assumed that awesome's imperative codebase (C++ and Lua) would present a gentler learning curve. I made some initial progress but ultimately found awesome still too immature and undocumented to give me confidence of achieving my various goals (of which possibly more in a subsequent posting). On switching to xmonad the greater maturity, generally good documentation, abundance of contributed modules and availablity of example configurations helped me greatly. The only thing I miss from awesome is its somewhat snappier performance. My guess would be that that has nothing to do with choice of implementation or scripting language, but rather with the fact that awesome is built on xcb while xmonad is built on classic xlib. My current challenge Years ago I loved Apollo workstations' DM (Display Manager). Ever since becoming an emacs user I have dreamed of recreating that environment. The emergence of robust tiling window managers and the example of Drew Adams' OneOnOne package (http://www.emacswiki.org/emacs/OneOnOneEmacs) leads me to believe that after a couple decades the dream may now be close to realization. For reference my environment is Ubuntu Jaunty, Gnome with a single top panel on a 1920x1200 screen. Under Gnome/Metacity I have emacs-snapshot (23.0.93.1) more or less working in the the single mini-buffer for all windows mode. (Here I use the term window to refer to what in the Emacs world would be called a frame.) The mini-buffer window is positioned at the bottom of the screen and is full-screen wide. Alternatively I can position the mini-buffer at the top of the screen just below the Gnome panel. Now I want to move this Emacs arrangement to xmonad. Because I have arranged for the mini-buffer window to have a distinct resource type I can recognize it in a manage hook. From the xmonad FAQ and some googling I believe that when that window appears I need to set its override-redirect attribute to true and define it as a strut. Though I am working my way through Hal Daum?'s "Yet Another Haskell Tutorial" I fear it may be a while before I can code such a doStrut function. Thus my appeal to the readers of this list. My sense is that when the mini-buffer window appears it is properly sized and positioned. Thus there should be no need to compute the strut components, they should be directly liftable from the window. Thanks in advance for any help, /john From mail at justinbogner.com Sat May 2 14:14:16 2009 From: mail at justinbogner.com (mail@justinbogner.com) Date: Sat May 2 14:00:18 2009 Subject: [xmonad] Re: Turning emacs mini-buffer window into a strut References: <3f14737c0905021025u193cadaeg41cb4bf4a7f2fa0b@mail.gmail.com> Message-ID: <87ljpfbcef.fsf@justinbogner.com> John Yates writes: > For reference my environment is Ubuntu Jaunty, Gnome with a single top > panel on a 1920x1200 screen. Under Gnome/Metacity I have > emacs-snapshot (23.0.93.1) more or less working in the the single > mini-buffer for all windows mode. (Here I use the term window to > refer to what in the Emacs world would be called a frame.) The > mini-buffer window is positioned at the bottom of the screen and is > full-screen wide. Alternatively I can position the mini-buffer at the > top of the screen just below the Gnome panel. > > Now I want to move this Emacs arrangement to xmonad. Because I have > arranged for the mini-buffer window to have a distinct resource type I > can recognize it in a manage hook. From the xmonad FAQ and some > googling I believe that when that window appears I need to set its > override-redirect attribute to true and define it as a strut. Though > I am working my way through Hal Daum?'s "Yet Another Haskell Tutorial" > I fear it may be a while before I can code such a doStrut function. > Thus my appeal to the readers of this list. My sense is that when the > mini-buffer window appears it is properly sized and positioned. Thus > there should be no need to compute the strut components, they should > be directly liftable from the window. You might have luck using the XMonad.Layout.Gaps layout in contrib, and by having a managehook that ignores the emacs minibuffer window (using doIgnore). This wouldn't be dynamic (moving the emacs window would require you to reconfigure it), but could work as a kludge until you manage to do it properly. From xmonad at cenderis.demon.co.uk Sat May 2 14:14:48 2009 From: xmonad at cenderis.demon.co.uk (Bruce Stephens) Date: Sat May 2 14:00:27 2009 Subject: [xmonad] Turning emacs mini-buffer window into a strut In-Reply-To: <3f14737c0905021025u193cadaeg41cb4bf4a7f2fa0b@mail.gmail.com> (John Yates's message of "Sat\, 2 May 2009 13\:25\:20 -0400") References: <3f14737c0905021025u193cadaeg41cb4bf4a7f2fa0b@mail.gmail.com> Message-ID: <87iqkjmkx3.fsf@cenderis.demon.co.uk> John Yates writes: [...] > From the xmonad FAQ and some googling I believe that when that > window appears I need to set its override-redirect attribute to true > and define it as a strut. Though I am working my way through Hal > Daum?'s "Yet Another Haskell Tutorial" I fear it may be a while > before I can code such a doStrut function. Thus my appeal to the > readers of this list. My sense is that when the mini-buffer window > appears it is properly sized and positioned. Thus there should be > no need to compute the strut components, they should be directly > liftable from the window. I don't know whether this is the best approach, but it occurs to me that having the mini-buffer frame declare itself as a strut (by setting _NET_WM_STRUT_PARTIAL) might be a good way to do it? There's an xmonad extension to handle struts, and presumably other window managers could make use of it, too. (I don't know whether this could be done in elisp. Hmm, I guess it's not, but that feels like a logical thing for Emacs to be able to do, so maybe add a frame parameter to do that?) From gwern0 at gmail.com Sat May 2 14:30:26 2009 From: gwern0 at gmail.com (gwern0@gmail.com) Date: Sat May 2 14:16:07 2009 Subject: [xmonad] darcs patch: Config.hs, Operations.hs: +unfloat, unfloatFocused fun... Message-ID: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> Sat May 2 14:26:31 EDT 2009 gwern0@gmail.com * Config.hs, Operations.hs: +unfloat, unfloatFocused functions 'unfloat' is the obvious inverse of the existing 'float' function, and so makes the API a little more rational. 'unfloatFocused' is easy once you have unfloat, and more importantly, is defined in >20 user configs; so obviously there's a need! -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 7768 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090502/a13719ab/attachment.bin From dons at galois.com Sat May 2 15:11:41 2009 From: dons at galois.com (Don Stewart) Date: Sat May 2 14:59:27 2009 Subject: [xmonad] darcs patch: Config.hs, Operations.hs: +unfloat, unfloatFocused fun... In-Reply-To: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> References: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> Message-ID: <20090502191141.GA6552@whirlpool.galois.com> Isn't 'unfloat' the same as 'sink'? unfloatFocused seems useful. Do you have some examples of how people are using it? gwern0: > Sat May 2 14:26:31 EDT 2009 gwern0@gmail.com > * Config.hs, Operations.hs: +unfloat, unfloatFocused functions > 'unfloat' is the obvious inverse of the existing 'float' function, and so makes > the API a little more rational. > 'unfloatFocused' is easy once you have unfloat, and more importantly, is defined in > >20 user configs; so obviously there's a need! Content-Description: A darcs patch for your repository! > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > > New patches: > > [Config.hs, Operations.hs: +unfloat, unfloatFocused functions > gwern0@gmail.com**20090502182631 > Ignore-this: 782418b6bdeaf3b9890a43b44651dbe5 > 'unfloat' is the obvious inverse of the existing 'float' function, and so makes > the API a little more rational. > 'unfloatFocused' is easy once you have unfloat, and more importantly, is defined in > >20 user configs; so obviously there's a need! > ] { > hunk ./XMonad/Config.hs 210 > , ((modMask, xK_l ), sendMessage Expand) -- %! Expand the master area > > -- floating layer support > - - , ((modMask, xK_t ), withFocused $ windows . W.sink) -- %! Push window back into tiling > + , ((modMask, xK_t ), unfloatFocused) -- %! Push window back into tiling > > -- increase or decrease number of windows in the master area > , ((modMask , xK_comma ), sendMessage (IncMasterN 1)) -- %! Increment the number of windows in the master area > hunk ./XMonad/Operations.hs 384 > withFocused :: (Window -> X ()) -> X () > withFocused f = withWindowSet $ \w -> whenJust (W.peek w) f > > +-- | 'unfloat' window with focus. > +unfloatFocused :: X () > +unfloatFocused = withFocused $ unfloat > + > -- | 'True' if window is under management by us > isClient :: Window -> X Bool > isClient w = withWindowSet $ return . W.member w > hunk ./XMonad/Operations.hs 470 > sw <- W.lookupWorkspace sc ws > return (W.focusWindow f . W.shiftWin sw w $ ws) > > +-- | Inverse of 'float'; push a floating window back into tiling stack. > +unfloat :: Window -> X () > +unfloat = windows . W.sink > + > -- --------------------------------------------------------------------- > -- Mouse handling > > } > > Context: > > [Avoid deadly cycle in man/xmonad.hs > Spencer Janssen **20090319081918 > Ignore-this: adcba110caad465a2cbb4b9dca7cb612 > ] > [X.Config.hs, ./man/xmonad.hs: update Event Hook doc > wirtwolff@gmail.com**20090209183837 > Ignore-this: 3792043278932e371e3e2858913a2b17 > ] > [Use records to document Tall's arguments > Spencer Janssen **20090221230628 > Ignore-this: 253c09de793715c18a029406795a42fd > ] > [Fix possible head [] > Joachim Breitner **20090106192026 > This seems to be a rare case, but I just got hit by it. > ] > [ManageHook.doShift: use shiftWin instead of shift > Spencer Janssen **20090219041458 > Ignore-this: 4d7f348d6d394c581ab2809bbc45a2c6 > ] > [Express shift in terms of shiftWin > Spencer Janssen **20090217235343 > Ignore-this: 8f213bca20065a39e7c16027f7b398cf > ] > [Use standard -fforce-recomp instead of undocumented -no-recomp > Don Stewart **20090208165518] > [Support for custom event hooks > Daniel Schoepe **20090203155536 > Ignore-this: f22f1a7ae2d958ba1b3625aa923b7efd > ] > [Make X an instance of Typeable > Daniel Schoepe **20090128215406 > Ignore-this: bb155e62ea4e451460e3b94508dc49d2 > ] > [Add uninstallSignalHandlers, use in spawn > Spencer Janssen **20090122002643 > Ignore-this: d91bde6f965341a2619fe2dde83cc099 > ] > [Create a new session for forked processes > Spencer Janssen **20090122000423 > Ignore-this: f5d9cf254a0b07ddbf204457b7783880 > ] > [TAG 0.8.1 > Spencer Janssen **20090118083910] > [Close stdin in spawned processes > Spencer Janssen **20090117040024 > Ignore-this: 2e372ed6215160adae8da1c44cdede3d > ] > [Document spawnPID > Spencer Janssen **20090117035907 > Ignore-this: 1641bdcf5055b2ec7b9455265f5b1d52 > ] > [Asynchronously recompile/restart xmonad on mod-q > Spencer Janssen **20090117035300 > Ignore-this: 753d8746034f818b81df79003ae5ee0d > ] > [Add --restart, a command line flag to cause a running xmonad process to restart > Spencer Janssen **20090117034959 > Ignore-this: 45c8c8aba7cc7391b95c7e3fb01e5bf9 > ] > [Bump version to 0.8.1 > Spencer Janssen **20090116223621 > Ignore-this: 2e8e9dc7b6ca725542f4afe04253dc57 > ] > [Remove doubleFork, handle SIGCHLD > Spencer Janssen **20090116204742 > Ignore-this: f9b1a65b4f0622922f80ad2ab6c5a52f > This is a rather big change. Rather than make spawned processes become > children of init, we handle them in xmonad. As a side effect of this change, > we never need to use waitForProcess in any contrib module -- in fact, doing so > will raise an exception. The main benefit to handling SIGCHLD is that xmonad > can now be started with 'exec', and will correctly clean up after inherited > child processes. > ] > [More flexible userCode function > Daniel Schoepe **20090110221852] > [Call logHook as the very last action in windows > Spencer Janssen **20081209233700 > Ignore-this: 4396ad891b607780f8e4b3b6bbce87e > ] > [Main.hs: escape / in Haddocks > gwern0@gmail.com**20081207020915 > Ignore-this: 2c4525280fbe73c46f3abd8fc13628e9 > This lets haddocks for Main.hs, at least, to build with 2.3.0. > ] > [Accept inferior crossing events. This patch enables fmouse-focus-follows-screen > Spencer Janssen **20081205045130 > Ignore-this: 3ac329fb92839827aed0a4370784cabd > ] > [Tile all windows at once > Spencer Janssen **20081118074447] > [Factor rational rect scaling into a separate function > Spencer Janssen **20081118072849] > [Change screen focus by clicking on the root window. > Spencer Janssen **20081106224031 > This is a modification of a patch from Joachim Breitner. > ] > [Fix #192. > Spencer Janssen **20081021220059] > [select base < 4 for building on ghc 6.10 > Adam Vogt **20081013214509] > [add killWindow function > Joachim Breitner **20081005001804 > This is required to kill anything that is not focused, without > having to focus it first. > ] > [add'l documentation > Devin Mullins **20080927234639] > [Regression: ungrab buttons on *non* root windows > Spencer Janssen **20081007214351] > [Partial fix for #40 > Spencer Janssen **20081007212053 > Improvements: > - clicking on the root will change focus to that screen > - moving the mouse from a window on a screen to an empty screen changes focus > to that screen > The only remaining issue is that moving the mouse between two empty screens > does not change focus. In order to solve this, we'd have to select motion events > on the root window, which is potentially expensive. > ] > [Track mouse position via events received > Spencer Janssen **20081007203953] > [Fix haddock > Spencer Janssen **20081007094641] > [Move screen locating code into pointScreen > Spencer Janssen **20081007094207] > [Make pointWithin a top-level binding > Spencer Janssen **20081007090229] > [sp README, CONFIG, STYLE, TODO > gwern0@gmail.com**20080913024457] > [Use the same X11 dependency as xmonad-contrib > Spencer Janssen **20080921061508] > [Export focusUp' and focusDown' -- work entirely on stacks > Spencer Janssen **20080911214803] > [add W.shiftMaster, fix float/tile-reordering bug > Devin Mullins **20080911053909] > [TAG 0.8 > Spencer Janssen **20080905195412] > Patch bundle hash: > 789863517e7c765f75aa84289b5d3189e65d8731 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > > iEYEAREKAAYFAkn8kSkACgkQvpDo5Pfl1oIqPQCfTUUzYe2ONWCIATpbOznSJwaG > JdAAn0XSZM+AufBLH2TtobeCueD8VN10 > =DfAM > -----END PGP SIGNATURE----- > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad From gwern0 at gmail.com Sat May 2 15:22:12 2009 From: gwern0 at gmail.com (Gwern Branwen) Date: Sat May 2 15:07:52 2009 Subject: [xmonad] darcs patch: Config.hs, Operations.hs: +unfloat, unfloatFocused fun... In-Reply-To: <20090502191141.GA6552@whirlpool.galois.com> References: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> <20090502191141.GA6552@whirlpool.galois.com> Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On Sat, May 2, 2009 at 3:11 PM, Don Stewart wrote: > Isn't 'unfloat' the same as 'sink'? If it is, I don't see how defining unfloat as 'windows . W.sink' would work. > unfloatFocused seems useful. Do you have some examples of how people are > using it? Sure. Using my downloader tool to get the config archive, here are 20 copy-pastes of the unfloat function in people's configs (and presumably there are more in configs not included in the archive): 12.hs: , ((mod4Mask , xK_t ), withFocused $ windows . W.sink) -- %! Push window back into tiling 13.hs: , ((m, xK_z), withFocused $ windows . W.sink) -- unfloat 15.hs: , ("M-r", withFocused $ windows . W.sink) 19.hs: , ("M-t", withFocused $ windows . W.sink) 1.hs: , ((modm, xK_t ), withFocused $ windows . W.sink) 21.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) 24.hs: , ("M-t", withFocused $ windows . W.sink) 25.hs: , ("M-d", withFocused $ windows . W.sink) 28.hs: , ("M-t" , withFocused $ windows . W.sink) -- put window back on tiling layer 2.hs: , ((modm, xK_t ), withFocused $ windows . W.sink) 34.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) 38.hs: , ((modMask, xK_v ), withFocused $ windows . W.sink) 3.hs: , ((modMask, xK_s ), withFocused $ windows . W.sink) 40.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) 42.hs: , ("M-t", withFocused $ windows . W.sink) -- unfloat 44.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) 45.hs: , ((modMask .|. shiftMask, xK_t ), withFocused $ windows . W.sink) 48.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) -- %! Push window back into tiling 52.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) 7.hs: , ((modMask .|. controlMask, xK_d), withFocused $ windows . W.sink) -- push window back into tiling Getting rid of some copy-paste in >20 configs strikes me as worth 6 lines. - -- gwern -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Use GnuPG with Firefox : http://getfiregpg.org (Version: 0.7.5) iEYEAREKAAYFAkn8nVwACgkQvpDo5Pfl1oLddwCfaWtamRt+B2mUgM8y4br978oK jJIAni2D/I/6+BCP68Dshydtpem/sxSy =zXai -----END PGP SIGNATURE----- From dons at galois.com Sat May 2 15:39:59 2009 From: dons at galois.com (Don Stewart) Date: Sat May 2 15:27:15 2009 Subject: [xmonad] darcs patch: Config.hs, Operations.hs: +unfloat, unfloatFocused fun... In-Reply-To: References: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> <20090502191141.GA6552@whirlpool.galois.com> Message-ID: <20090502193959.GB6651@whirlpool.galois.com> Ah, they're not copy-paste though -- they're in the default Config. -- Don gwern0: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > On Sat, May 2, 2009 at 3:11 PM, Don Stewart wrote: > > Isn't 'unfloat' the same as 'sink'? > > If it is, I don't see how defining unfloat as 'windows . W.sink' would work. > > > unfloatFocused seems useful. Do you have some examples of how people are > > using it? > > Sure. Using my downloader tool to get the config archive, here are 20 > copy-pastes of the unfloat function in people's configs (and > presumably there are more in configs not included in the archive): > > 12.hs: , ((mod4Mask , xK_t ), withFocused $ > windows . W.sink) -- %! Push window back into tiling > 13.hs: , ((m, xK_z), withFocused $ windows . > W.sink) -- unfloat > 15.hs: , ("M-r", withFocused $ windows . W.sink) > 19.hs: , ("M-t", withFocused $ windows . W.sink) > 1.hs: , ((modm, xK_t ), withFocused $ windows . W.sink) > 21.hs: , ((modMask, xK_t ), withFocused $ > windows . W.sink) > 24.hs: , ("M-t", withFocused $ windows . W.sink) > 25.hs: , ("M-d", withFocused $ windows . W.sink) > 28.hs: , ("M-t" , withFocused $ windows . W.sink) -- put > window back on tiling layer > 2.hs: , ((modm, xK_t ), withFocused $ windows . W.sink) > 34.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) > 38.hs: , ((modMask, xK_v ), withFocused $ windows . W.sink) > 3.hs: , ((modMask, xK_s ), withFocused $ windows . W.sink) > 40.hs: , ((modMask, xK_t ), withFocused $ > windows . W.sink) > 42.hs: , ("M-t", withFocused $ windows . W.sink) -- unfloat > 44.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) > 45.hs: , ((modMask .|. shiftMask, xK_t ), withFocused $ windows . W.sink) > 48.hs: , ((modMask, xK_t ), withFocused $ windows > . W.sink) -- %! Push window back into tiling > 52.hs: , ((modMask, xK_t ), withFocused $ windows . W.sink) > 7.hs: , ((modMask .|. controlMask, xK_d), withFocused $ windows . > W.sink) -- push window back into tiling > > Getting rid of some copy-paste in >20 configs strikes me as worth 6 lines. > > - -- > gwern > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Use GnuPG with Firefox : http://getfiregpg.org (Version: 0.7.5) > > iEYEAREKAAYFAkn8nVwACgkQvpDo5Pfl1oLddwCfaWtamRt+B2mUgM8y4br978oK > jJIAni2D/I/6+BCP68Dshydtpem/sxSy > =zXai > -----END PGP SIGNATURE----- From vogt.adam at gmail.com Sat May 2 19:32:01 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sat May 2 19:18:06 2009 Subject: [xmonad] darcs patch: Config.hs, Operations.hs: +unfloat, unfloatFocused fun... In-Reply-To: <20090502193959.GB6651@whirlpool.galois.com> References: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> <20090502191141.GA6552@whirlpool.galois.com> <20090502193959.GB6651@whirlpool.galois.com> Message-ID: <20090502233201.GA12619@smuckers> Perhaps an alternative would be to make it easier to refer to actions by the keys that call them in the default config, which is sort of awkward currently. The goal would be remapping sort of like in vim. Here's a sketch: > fromDefaultConfig :: (ButtonMask, KeySym) -> (X ()) > fromDefaultConfig k = fromMaybe (return ()) $ Map.lookup k $ keys dcl dcl > where > dcl = defaultConfig { layoutHook = Layout $ layoutHook defaultConfig } I can't see myself using this, but it could simplify rearranging keys as those configs do. Adam From Jan.Vornberger at Informatik.Uni-Oldenburg.DE Sat May 2 19:39:02 2009 From: Jan.Vornberger at Informatik.Uni-Oldenburg.DE (Jan Vornberger) Date: Sat May 2 19:25:39 2009 Subject: [xmonad] Window manager replacement (--replace flag) Message-ID: <20090502233902.GA5344@archer.localdomain.org> Hi there! I have looked a little bit into enabling XMonad to replace an existing window manager when starting. I think it's a useful feature to help a new user to try out the window manager (e.g. from a running Gnome-Session with Metacity). I also found a corresponding 'issue' on the bug tracker (http://code.google.com/p/xmonad/issues/detail?id=99), which however has been closed as 'WontFix'. I have a rough version of the feature ready, which is good enough for my needs for now. It's not in a shape to go into the repository though, I'm only posting this here in case someone wants to continue working on it and for reference. The current version of the patch is attached. It's also available at my repository (http://tuvok.home.dyndns.org/xmonad-dev/xmonad/). I had a look at http://tronche.com/gui/x/icccm/sec-2.html#s-2.8 for reference, but mostly followed the code of other window managers. Namely XFWM4, Compiz and Metacity. If someone wants to look into it, here are the relevant parts: apt-get source xfwm4 -> edit screen.c -> search for myScreenSetWMAtom apt-get source compiz -> edit display.c -> search for replaceCurrentWm apt-get source metacity -> core/screen.c -> search for replace_current_wm My code does not everything these window managers do for this feature. The steps that I have skipped out of laziness and/or limited understanding of X11 programming, are marked with 'SKIPPED' in the code. Basically my code right now always replaces an existing window manager and assumes that everything goes fine. One other thing I noticed: While XMonad can now replace other window managers, it doesn't allow itself to be replaced in this manner. I haven't looked into it further, but we would need to play nice and terminate when we see another WM trying to take over. Things to do: - implement 'SKIPPED' parts - add '--replace' flag and only replace when the user specifies this flag - allow replacement of XMonad by another WM As I said, I have paused working on this feature for now. If anyone wants to have a shot at it, feel free to do so! :-) Cheers! Jan -------------- next part -------------- Sat Apr 18 00:25:09 CEST 2009 Jan Vornberger * half-implemented support for replacing an existing window manager New patches: [half-implemented support for replacing an existing window manager Jan Vornberger **20090417222509 Ignore-this: 17d9f72ef7a5d84b5fa6ac319566602b ] { hunk ./XMonad/Main.hsc 42 import XMonad.Operations import System.IO +--import System.Exit ------------------------------------------------------------------------ -- Locale support hunk ./XMonad/Main.hsc 70 rootw <- rootWindow dpy dflt + -- check for other WM + wmSnAtom <- internAtom dpy ("WM_S" ++ (show dflt)) False + currentWmSnOwner <- xGetSelectionOwner dpy wmSnAtom + when (currentWmSnOwner /= 0) $ do + putStrLn $ "Screen " ++ (show dflt) ++ " on display \"" + ++ (displayString dpy) ++ "\" already has a window manager." + -- exitFailure + + -- prepare to receive destroyNotify for old WM + selectInput dpy currentWmSnOwner structureNotifyMask + + -- create off-screen window + netWmSnOwner <- allocaSetWindowAttributes $ \attributes -> do + set_override_redirect attributes True + set_event_mask attributes propertyChangeMask + let screen = defaultScreenOfDisplay dpy + let visual = defaultVisualOfScreen screen + let attrmask = cWOverrideRedirect .|. cWEventMask + createWindow dpy rootw (-100) (-100) 1 1 0 copyFromParent copyFromParent visual attrmask attributes + + -- try to acquire wmSnAtom, this should signal the old WM to terminate + putStrLn $ "Replacing existing window manager..." + xSetSelectionOwner dpy wmSnAtom netWmSnOwner currentTime + + -- SKIPPED: check if we acquired the selection + -- SKIPPED: send client message indicating that we are now the WM + + -- wait for old WM to go away + putStr $ "Waiting for other window manager to terminate... " + fix $ \again -> do + evt <- allocaXEvent $ \event -> do + windowEvent dpy currentWmSnOwner structureNotifyMask event + get_EventType event + + when (evt /= destroyNotify) again + putStrLn $ "done" + -- If another WM is running, a BadAccess error will be returned. The -- default error handler will write the exception to stderr and exit with -- an error. } Context: [Avoid deadly cycle in man/xmonad.hs Spencer Janssen **20090319081918 Ignore-this: adcba110caad465a2cbb4b9dca7cb612 ] [X.Config.hs, ./man/xmonad.hs: update Event Hook doc wirtwolff@gmail.com**20090209183837 Ignore-this: 3792043278932e371e3e2858913a2b17 ] [Use records to document Tall's arguments Spencer Janssen **20090221230628 Ignore-this: 253c09de793715c18a029406795a42fd ] [Fix possible head [] Joachim Breitner **20090106192026 This seems to be a rare case, but I just got hit by it. ] [ManageHook.doShift: use shiftWin instead of shift Spencer Janssen **20090219041458 Ignore-this: 4d7f348d6d394c581ab2809bbc45a2c6 ] [Express shift in terms of shiftWin Spencer Janssen **20090217235343 Ignore-this: 8f213bca20065a39e7c16027f7b398cf ] [Use standard -fforce-recomp instead of undocumented -no-recomp Don Stewart **20090208165518] [Support for custom event hooks Daniel Schoepe **20090203155536 Ignore-this: f22f1a7ae2d958ba1b3625aa923b7efd ] [Make X an instance of Typeable Daniel Schoepe **20090128215406 Ignore-this: bb155e62ea4e451460e3b94508dc49d2 ] [Add uninstallSignalHandlers, use in spawn Spencer Janssen **20090122002643 Ignore-this: d91bde6f965341a2619fe2dde83cc099 ] [Create a new session for forked processes Spencer Janssen **20090122000423 Ignore-this: f5d9cf254a0b07ddbf204457b7783880 ] [TAG 0.8.1 Spencer Janssen **20090118083910] [Close stdin in spawned processes Spencer Janssen **20090117040024 Ignore-this: 2e372ed6215160adae8da1c44cdede3d ] [Document spawnPID Spencer Janssen **20090117035907 Ignore-this: 1641bdcf5055b2ec7b9455265f5b1d52 ] [Asynchronously recompile/restart xmonad on mod-q Spencer Janssen **20090117035300 Ignore-this: 753d8746034f818b81df79003ae5ee0d ] [Add --restart, a command line flag to cause a running xmonad process to restart Spencer Janssen **20090117034959 Ignore-this: 45c8c8aba7cc7391b95c7e3fb01e5bf9 ] [Bump version to 0.8.1 Spencer Janssen **20090116223621 Ignore-this: 2e8e9dc7b6ca725542f4afe04253dc57 ] [Remove doubleFork, handle SIGCHLD Spencer Janssen **20090116204742 Ignore-this: f9b1a65b4f0622922f80ad2ab6c5a52f This is a rather big change. Rather than make spawned processes become children of init, we handle them in xmonad. As a side effect of this change, we never need to use waitForProcess in any contrib module -- in fact, doing so will raise an exception. The main benefit to handling SIGCHLD is that xmonad can now be started with 'exec', and will correctly clean up after inherited child processes. ] [Main.hs: escape / in Haddocks gwern0@gmail.com**20081207020915 Ignore-this: 2c4525280fbe73c46f3abd8fc13628e9 This lets haddocks for Main.hs, at least, to build with 2.3.0. ] [More flexible userCode function Daniel Schoepe **20090110221852] [Call logHook as the very last action in windows Spencer Janssen **20081209233700 Ignore-this: 4396ad891b607780f8e4b3b6bbce87e ] [Accept inferior crossing events. This patch enables fmouse-focus-follows-screen Spencer Janssen **20081205045130 Ignore-this: 3ac329fb92839827aed0a4370784cabd ] [Tile all windows at once Spencer Janssen **20081118074447] [Factor rational rect scaling into a separate function Spencer Janssen **20081118072849] [Change screen focus by clicking on the root window. Spencer Janssen **20081106224031 This is a modification of a patch from Joachim Breitner. ] [Fix #192. Spencer Janssen **20081021220059] [select base < 4 for building on ghc 6.10 Adam Vogt **20081013214509] [add killWindow function Joachim Breitner **20081005001804 This is required to kill anything that is not focused, without having to focus it first. ] [add'l documentation Devin Mullins **20080927234639] [Regression: ungrab buttons on *non* root windows Spencer Janssen **20081007214351] [Partial fix for #40 Spencer Janssen **20081007212053 Improvements: - clicking on the root will change focus to that screen - moving the mouse from a window on a screen to an empty screen changes focus to that screen The only remaining issue is that moving the mouse between two empty screens does not change focus. In order to solve this, we'd have to select motion events on the root window, which is potentially expensive. ] [Track mouse position via events received Spencer Janssen **20081007203953] [Fix haddock Spencer Janssen **20081007094641] [Move screen locating code into pointScreen Spencer Janssen **20081007094207] [Make pointWithin a top-level binding Spencer Janssen **20081007090229] [sp README, CONFIG, STYLE, TODO gwern0@gmail.com**20080913024457] [Use the same X11 dependency as xmonad-contrib Spencer Janssen **20080921061508] [Export focusUp' and focusDown' -- work entirely on stacks Spencer Janssen **20080911214803] [add W.shiftMaster, fix float/tile-reordering bug Devin Mullins **20080911053909] [TAG 0.8 Spencer Janssen **20080905195412] Patch bundle hash: 91fd805c1299465b19d8ae2c93f4b66709d68e46 From john at yates-sheets.org Sat May 2 19:43:49 2009 From: john at yates-sheets.org (John Yates) Date: Sat May 2 19:29:46 2009 Subject: [xmonad] Turning emacs mini-buffer window into a strut In-Reply-To: <87iqkjmkx3.fsf@cenderis.demon.co.uk> References: <3f14737c0905021025u193cadaeg41cb4bf4a7f2fa0b@mail.gmail.com> <87iqkjmkx3.fsf@cenderis.demon.co.uk> Message-ID: <3f14737c0905021643x3b6db183j593657756f721c7@mail.gmail.com> Bruce, Thanks for the quick reply. > I don't know whether this is the best approach, but it occurs to me > that having the mini-buffer frame declare itself as a strut (by > setting _NET_WM_STRUT_PARTIAL) might be a good way to do it? A fully-tiled mini-buffer is amazingly frustrating. It moves around and invariably has a disconcerting aspect ratio. Having an Emacs mini-buffer-only frame declared as some form of strut would seem appropriate. The xmonad FAQ suggests that being able to set override redirect is also important. And for good measure the _NET_WM_WINDOW_TYPE should probably be changed from _NET_WM_WINDOW_TYPE_NORMAL to _NET_WM_WINDOW_TYPE_DOCK. > There's an xmonad extension to handle struts, and presumably other > window managers could make use of it, too. Absolutely. Down the road I would love to have the freedom to experiment easily with various window managers without each time having to contend with a screwy mini-buffer. > (I don't know whether this > could be done in elisp. ?Hmm, I guess it's not, but that feels like a > logical thing for Emacs to be able to do, so maybe add a frame > parameter to do that?) Emacs already has a number of frame parameters that seem to exist only to be passed through as window attributes. Similarly window type and override redirect could be exposed as simple pass-throughs. By contrast a strut or strut_partial property probably would have to examine at least the top, left, height, and fullscreen frame parameters. History suggests that getting such changes into an Emacs release could take a while. Near term I will continue to pursue the xmonad manage hook approach of modifying the window's properties. Such a capability might prove useful in making other applications run comfortably under xmonad while remaining tiled. /john From gwern0 at gmail.com Sat May 2 23:25:27 2009 From: gwern0 at gmail.com (Gwern Branwen) Date: Sat May 2 23:12:15 2009 Subject: [xmonad] darcs patch: Config.hs, Operations.hs: +unfloat, unfloatFocused fun... In-Reply-To: <20090502195428.GE6651@whirlpool.galois.com> References: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> <20090502191141.GA6552@whirlpool.galois.com> <20090502193959.GB6651@whirlpool.galois.com> <20090502195428.GE6651@whirlpool.galois.com> Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On Sat, May 2, 2009 at 3:54 PM, Don Stewart wrote: > They're in the default Config -- i.e. that binding is already in scope. > > So people are intentionally duplicating parts of the default config for > some reason. > > I think this is quite different to the case where there is a spontaneous > idiom appearing. > > -- Don You refer to just the ones duplicating the mod-t binding? I'd say it's an interesting example of how our keybinding system is suboptimal - even moderately competent users should not find themselves duplicating stuff like this. But anyway, even if you filter out the ones binding to xK_t, there're still 10 configs using this same function definition. Is that not enough? Before I invest anymore time in trying to make configs more concise & usable by factoring out commonalities, I'd appreciate some hard guidelines on when something is meritorious enough to be put in core and when it is not. - -- gwern -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Use GnuPG with Firefox : http://getfiregpg.org (Version: 0.7.5) iEYEAREKAAYFAkn9DpsACgkQvpDo5Pfl1oKF6gCeItWqEw6tOJZesV3ONrYWJmbB OcgAnjG98E+ZW1cwFmFUfjbfdjkNQRA3 =VybT -----END PGP SIGNATURE----- From ankaan at gmail.com Sun May 3 07:39:54 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sun May 3 07:25:33 2009 Subject: [xmonad] darcs patch: nameTail - Remove the first word of a layout description Message-ID: <49fd828a.1438560a.1123.ffffa86b@mx.google.com> Sun May 3 12:59:50 CEST 2009 Anders Engstrom * nameTail - Remove the first word of a layout description -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 37063 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090503/46012d25/attachment-0001.bin From nzeh at cs.dal.ca Sun May 3 10:03:56 2009 From: nzeh at cs.dal.ca (Norbert Zeh) Date: Sun May 3 09:50:08 2009 Subject: [xmonad] Turning emacs mini-buffer window into a strut In-Reply-To: <3f14737c0905021643x3b6db183j593657756f721c7@mail.gmail.com> References: <3f14737c0905021025u193cadaeg41cb4bf4a7f2fa0b@mail.gmail.com> <87iqkjmkx3.fsf@cenderis.demon.co.uk> <3f14737c0905021643x3b6db183j593657756f721c7@mail.gmail.com> Message-ID: <20090503140356.GR4165@cs.dal.ca> I'm thinking that the most flexible way of doing this would be to write a layout modifier that declares different parts of the screen to be dedicated to certain types of clients, while the remainder of the screen uses any regular layout. Doing this using a modifier has the advantage that the client doesn't have to cooperate and one could have multiple reserved screen areas (e.g., bottom, very narrow for the minibuffer, left for emacs speedbar, etc.) If you want to do it using struts, I can only see three ways of doing it, and neither seems too appealing: 1. Set the strut statically, but what if you want to use the same workspace for other stuff later on. The strut is still there. 2. The suggestion by Bruce: make the minibuffer window set _NET_WM_STRUT_PARTIAL. 3. Same as (1) but create and tear down the strut as part of window management whenever the minibuffer window appears/disappears. I'm not sure how to do (3), and it may in fact be easy, but I suspect that it would end up being more kludgy than writing the above layout modifier, which shouldn't be hard at all. Cheers, Norbert On Sat, May 02, 2009 at 07:43:49PM -0400, John Yates wrote: > Bruce, > > Thanks for the quick reply. > > > I don't know whether this is the best approach, but it occurs to me > > that having the mini-buffer frame declare itself as a strut (by > > setting _NET_WM_STRUT_PARTIAL) might be a good way to do it? > > A fully-tiled mini-buffer is amazingly frustrating. It moves around > and invariably has a disconcerting aspect ratio. > > Having an Emacs mini-buffer-only frame declared as some form of strut > would seem appropriate. The xmonad FAQ suggests that being able to > set override redirect is also important. And for good measure the > _NET_WM_WINDOW_TYPE should probably be changed from > _NET_WM_WINDOW_TYPE_NORMAL to _NET_WM_WINDOW_TYPE_DOCK. > > > There's an xmonad extension to handle struts, and presumably other > > window managers could make use of it, too. > > Absolutely. Down the road I would love to have the freedom to > experiment easily with various window managers without each time > having to contend with a screwy mini-buffer. > > > (I don't know whether this > > could be done in elisp. ?Hmm, I guess it's not, but that feels like a > > logical thing for Emacs to be able to do, so maybe add a frame > > parameter to do that?) > > Emacs already has a number of frame parameters that seem to exist only > to be passed through as window attributes. Similarly window type and > override redirect could be exposed as simple pass-throughs. By > contrast a strut or strut_partial property probably would have to > examine at least the top, left, height, and fullscreen frame > parameters. > > History suggests that getting such changes into an Emacs release could > take a while. Near term I will continue to pursue the xmonad manage > hook approach of modifying the window's properties. Such a capability > might prove useful in making other applications run comfortably under > xmonad while remaining tiled. > > /john > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > -- "And it happened all the time that the compromise between two perfectly rational alternatives was something that made no sense at all." -- Neal Stephenson, Anathem From aditya.siram at gmail.com Sun May 3 11:41:56 2009 From: aditya.siram at gmail.com (aditya siram) Date: Sun May 3 11:27:33 2009 Subject: [xmonad] Emacs 23, Speedbar, XMonad 0.8.1, Wrong Window Focused Message-ID: <594f78210905030841k3bd1582ct375b555a872da744@mail.gmail.com> Hi all, I am currently having a problem with XMonad correctly switching focus from the Speedbar ( in File mode ) and the editing window. Choosing a file in the Speedbar loads that file into the editing window but XMonad's focus stays in the speedbar. Surprisingly I can edit and navigate the file just fine in the editing window ( meaning all my keypress events are caught by the editing window ), but XMonad still thinks that the Speedbar is the master window. If I now switch layouts the Speedbar truly becomes the master window, also the red border stays with the Speedbar while I am typing in the editing window. I then have to explicitly move focus ( using Alt-j etc ) to the editing window. In Buffer Mode, selecting a buffer in the Speedbar loads it in the editing window, but focus and keypress events correctly stay in the Speedbar window. Thanks, deech -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/xmonad/attachments/20090503/1d1d115d/attachment.htm From vogt.adam at gmail.com Sun May 3 14:29:41 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 3 14:14:18 2009 Subject: [xmonad] darcs patch: nameTail - Remove the first word of a layout description In-Reply-To: <49fd828a.1438560a.1123.ffffa86b@mx.google.com> References: <49fd828a.1438560a.1123.ffffa86b@mx.google.com> Message-ID: <20090503182941.GA6564@smuckers> * On Sunday, May 03 2009, Anders Engstrom wrote: >Sun May 3 12:59:50 CEST 2009 Anders Engstrom > * nameTail - Remove the first word of a layout description Applied, thanks. I wasn't aware of Layout.Named. It seems to be an easier way to present shorter layout names than using a case expression in the ppLayout. From vogt.adam at gmail.com Sun May 3 14:48:42 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 3 14:34:27 2009 Subject: [xmonad] Merged functionality from X.L.ThreeColumnsMiddle into X.L.ThreeColumns (and some new features) In-Reply-To: <20090414063018.GA27535@smuckers.uwaterloo.ca> References: <79b09ba10904110454t2a8df92cmab5b8d0789c6231@mail.gmail.com> <20090414063018.GA27535@smuckers.uwaterloo.ca> Message-ID: <20090503184842.GA8759@smuckers> I've pushed these: Sat Apr 25 12:17:10 EDT 2009 Adam Vogt * Export ThreeColMid from L.ThreeColumnsMiddle The configs that import it should continue to work with this module, though the type of the ThreeColMid constructor is now ThreeCol (previously ThreeColMid). I doubt that many configs use ThreeColMid, since it is darcs-only. The compatibility module added by this patch might be worth removing before the next release? Tue Apr 14 02:18:19 EDT 2009 Adam Vogt * ThreeColumns support middle column, with more backwards compatiblity Sat Apr 11 07:36:36 EDT 2009 Anders Engstrom * X.L.ThreeColumnsMiddle merged into X.L.ThreeColumns with some new features Thanks From ankaan at gmail.com Sun May 3 15:11:58 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sun May 3 14:57:47 2009 Subject: [xmonad] darcs patch: ThreeCol - Update docs to match reality Message-ID: <49fdec7e.0305560a.2911.11c8@mx.google.com> Sun May 3 21:07:55 CEST 2009 Anders Engstrom * ThreeCol - Update docs to match reality -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 38370 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090503/f8a88d55/attachment-0001.bin From vogt.adam at gmail.com Sun May 3 15:17:30 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 3 15:02:03 2009 Subject: [xmonad] darcs patch: ThreeCol - Update docs to match reality In-Reply-To: <49fdec7e.0305560a.2911.11c8@mx.google.com> References: <49fdec7e.0305560a.2911.11c8@mx.google.com> Message-ID: <20090503191730.GA9156@smuckers> * On Sunday, May 03 2009, Anders Engstrom wrote: >Sun May 3 21:07:55 CEST 2009 Anders Engstrom > * ThreeCol - Update docs to match reality Applied, Thanks From vogt.adam at gmail.com Sun May 3 15:24:50 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 3 15:09:44 2009 Subject: [xmonad] patch: New XMonad.Layout.MessageControl module. In-Reply-To: <20090208194635.GT29860@whirlpool.galois.com> References: <20090128024704.0755f6d9@unifr.ch> <20090208194635.GT29860@whirlpool.galois.com> Message-ID: <20090503192450.GB8759@smuckers> * On Sunday, February 08 2009, Don Stewart wrote: >Who's the LayoutCombinators czar? Nobody, though droundy was. Perhaps L.SubLayouts with the apropriate manageHook could replace LayoutCombinators, which may or may not be more sane about sending messages to the sublayouts. >quentin.moser: >> Hi, >> >> These patches provide a message escape/filtering facility intended to >> make it easier to control complex nested layouts via messages. >> >> >> >> The first one provides "unEscape" and "ignore" modifiers you could use >> to write something like this: >> >> > import XMonad.Layout.MessageControl >> > >> > myLayout = Full ||| gimp ||| ... >> > where gimp = ignore NextLayout $ ignore JumpToLayout $ unEscape $ >> > mastered 0.01 0.2 (simpleTabbed ||| Grid) >> > >> > nextOuterLayout = sendMessage NextLayout >> > nextInnerLayout = sendMessage $ escape NextLayout >> >> (see the XMonad.Layout.MessageControl patch for details. For >> clarification, "ignore" blocks all messages of the _same type_ as its >> parameter.) >> >> >> >> However, neither XMonad.Layout.(|||) nor >> XMonad.Layout.LayoutCombinators.(|||) can be used with this, because >> they both send messages (NextLayoutNoWrap) which have a private type and >> therefore cannot be filtered. >> >> Thus the patch to X.L.LayoutCombinators, which moves the >> NoWrap messages from their own type into the JumpLayout type, so that >> they can now be intercepted with "ignore JumpToLayout". >> >> I also made these constructors public because I don't like exporting >> data types with only part of their constructors, but that's not >> actually necessary and can be reverted if wanted. >> >> >> >> ... >> >> Also, when adding these modifiers into my Big Monstrous LayoutHook of >> Hell I had to add an {-# OPTIONS_GHC -fcontext-stack=40 #-} pragma to >> my xmonad.hs to prevent a context reduction overflow =). > > >> _______________________________________________ >> xmonad mailing list >> xmonad@haskell.org >> http://www.haskell.org/mailman/listinfo/xmonad > >_______________________________________________ >xmonad mailing list >xmonad@haskell.org >http://www.haskell.org/mailman/listinfo/xmonad From vogt.adam at gmail.com Sun May 3 15:35:11 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 3 15:20:10 2009 Subject: [xmonad] darcs patch: U.Loggers: add maildirNew, other loggers, and logger f... In-Reply-To: <49e16d06.c401be0a.09f9.0911@mx.google.com> References: <49e16d06.c401be0a.09f9.0911@mx.google.com> Message-ID: <20090503193511.GC8759@smuckers> * On Saturday, April 11 2009, Wirt Wolff wrote: >Sat Apr 11 22:13:56 MDT 2009 wirtwolff@gmail.com > * U.Loggers: add maildirNew, other loggers, and logger formatting utilities > Rework of the Logger portions of patches originally from seanmce33@gmail.com > to apply without conflicts, plus several formatting utilities for use with > X (Maybe String) aka Loggers. Applied, Thanks From dons at galois.com Sun May 3 15:54:34 2009 From: dons at galois.com (Don Stewart) Date: Sun May 3 15:42:10 2009 Subject: [xmonad] darcs patch: Config.hs, Operations.hs: +unfloat, unfloatFocused fun... In-Reply-To: References: <49fc9142.48c3f10a.3c14.ffff8811@mx.google.com> <20090502191141.GA6552@whirlpool.galois.com> <20090502193959.GB6651@whirlpool.galois.com> <20090502195428.GE6651@whirlpool.galois.com> Message-ID: <20090503195434.GE11310@whirlpool.galois.com> gwern0: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > On Sat, May 2, 2009 at 3:54 PM, Don Stewart wrote: > > They're in the default Config -- i.e. that binding is already in scope. > > > > So people are intentionally duplicating parts of the default config for > > some reason. > > > > I think this is quite different to the case where there is a spontaneous > > idiom appearing. > > > > -- Don > > You refer to just the ones duplicating the mod-t binding? I'd say it's > an interesting example of how our keybinding system is suboptimal - > even moderately competent users should not find themselves duplicating > stuff like this. > > But anyway, even if you filter out the ones binding to xK_t, there're > still 10 configs using this same function definition. > > Is that not enough? Before I invest anymore time in trying to make > configs more concise & usable by factoring out commonalities, I'd > appreciate some hard guidelines on when something is meritorious > enough to be put in core and when it is not. > One function composition probably isn't worthwhile. Using incompatible names also isn't a good idea (naming is a bikeshed, beware!) Look for larger patterns : particular sets of modules used together, for example. -- Don From ankaan at gmail.com Sun May 3 16:08:08 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sun May 3 15:57:23 2009 Subject: [xmonad] darcs patch: ThreeColMid - Swap slave window positions Message-ID: <49fdf9a8.09b6660a.1d8f.21cc@mx.google.com> Sun May 3 21:50:26 CEST 2009 Anders Engstrom * ThreeColMid - Swap slave window positions This patch will swap the positions of the two slave windows and this will result in a more intuitive window order. When using focusDown beginning in the master pane we will move in the following graphical order 2->3->1->2->3 instead of 2->1->3->2->1. This is backwards from what is expected. The small drawback is that increasing from 2 to 3 windows (and therefore also columns) will behave in a less intuitive way. The window in the right column will jump to the left of the screen. I think that it is a good idea to make this change since I rely a lot on the window order but people using WindowNavigation may be of a different opinion. An alternative is to add an option to select in what way to behave, but that could be overkill... I leave it up to discussion and devs to decide. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 38373 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090503/3b7986d9/attachment-0001.bin From vogt.adam at gmail.com Sun May 3 19:49:00 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 3 19:34:28 2009 Subject: [xmonad] darcs patch: ThreeColMid - Swap slave window positions In-Reply-To: <49fdf9a8.09b6660a.1d8f.21cc@mx.google.com> References: <49fdf9a8.09b6660a.1d8f.21cc@mx.google.com> Message-ID: <20090503234900.GA30256@smuckers> * On Sunday, May 03 2009, Anders Engstrom wrote: >Sun May 3 21:50:26 CEST 2009 Anders Engstrom > * ThreeColMid - Swap slave window positions > This patch will swap the positions of the two slave windows and this > will result in a more intuitive window order. When using focusDown > beginning in the master pane we will move in the following graphical > order 2->3->1->2->3 instead of 2->1->3->2->1. This is backwards from > what is expected. So instead of going down the two columns alternating between the two, you've changed it to go down a single column at a time? > The small drawback is that increasing from 2 to 3 windows (and therefore > also columns) will behave in a less intuitive way. The window in the > right column will jump to the left of the screen. Perhaps there is a way to avoid this issue and keep your changes to the focus behavior: I found ThreeColMid to be quite predictable when I tried it a couple weeks ago. Perhaps you could achieve focusing down a single column with a binding to something like: > windows $ W.focusDown . W.focusDown Of course with a special case for < 3 windows. Perhaps something like PerLayoutKeys would be required for making such configurations more sane. > I think that it is a good idea to make this change since I rely a lot on > the window order but people using WindowNavigation may be of a different > opinion. WindowNavigation users are unaffected by window order, so the only issue would be your changing of the behavior when windows are added. > An alternative is to add an option to select in what way to behave, but > that could be overkill... I leave it up to discussion and devs to > decide. I agree about that being overkill. Adam From vogt.adam at gmail.com Sun May 3 19:55:52 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 3 19:43:41 2009 Subject: [xmonad] darcs patch: Add lib to ghc searchpath with recompila... (and 1 more) Message-ID: <49fe2f08.060ec00a.0659.4437@mx.google.com> Sat Mar 21 19:29:07 EDT 2009 Adam Vogt * Add lib to ghc searchpath with recompilation check Sun May 3 19:54:15 EDT 2009 Adam Vogt * Only watch mtime for .hs, .lhs, .hsc for ~/.xmonad/lib Previously xmonad would force a recompile due to the object files being too new, so only look at files which may contain haskell code. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 9585 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090503/fb1f3fbb/attachment.bin From lazycat.manatee at gmail.com Sun May 3 20:21:08 2009 From: lazycat.manatee at gmail.com (Andy Stewart) Date: Sun May 3 20:55:29 2009 Subject: [xmonad] Re: Emacs 23, Speedbar, XMonad 0.8.1, Wrong Window Focused References: <594f78210905030841k3bd1582ct375b555a872da744@mail.gmail.com> Message-ID: <873abl1zwr.fsf@ubuntu.domain> Hi, aditya siram writes: > Hi all, > I am currently having a problem with XMonad correctly switching focus from the Speedbar ( in File > mode ) and the editing window. Choosing a file in the > Speedbar loads that file into the editing window but XMonad's focus stays in the > speedbar. Surprisingly I can edit and navigate the file just fine in the > editing window ( meaning all my keypress events are caught by the editing window ), but XMonad still > thinks that the Speedbar is the master window. If I > now switch layouts the Speedbar truly becomes the master window, also the red border stays with the > Speedbar while I am typing in the editing window. I > then have to explicitly move focus ( using Alt-j etc ) to the editing window. You can use sr-speedbar.el instead speedbar. Then you can use speedbar in *same* frame, and not new frame to contain speedbar buffer. http://www.emacswiki.org/cgi-bin/emacs/SrSpeedbar have detail that how to install sr-speedbar.el Regards, -- Andy From vogt.adam at gmail.com Sun May 3 22:54:09 2009 From: vogt.adam at gmail.com (vogt.adam@gmail.com) Date: Sun May 3 22:45:26 2009 Subject: [xmonad] EZConfig changes for Util.NamedActions Message-ID: <20090504025409.GA8071@smuckers> Hello To allow Util.NamedActions to be used with EZConfig, I had to generalize some type signatures in EZConfig and add an additional function. What do you think of these changes, should I go ahead and apply them? Thanks, Adam -------------- next part -------------- Sun May 3 22:40:17 EDT 2009 Adam Vogt * Add U.NamedActions: present a list of keybindings including submaps New patches: [Add U.NamedActions: present a list of keybindings including submaps Adam Vogt **20090504024017 Ignore-this: 181c3ee603c82e0c56406ba8552fd394 ] { hunk ./XMonad/Util/EZConfig.hs 30 -- * Emacs-style keybinding specifications mkKeymap, checkKeymap, + mkNamedKeymap ) where import XMonad hunk ./XMonad/Util/EZConfig.hs 36 import XMonad.Actions.Submap +import XMonad.Util.NamedActions + import qualified Data.Map as M import Data.List (foldl', intersperse, sortBy, groupBy, nub) import Data.Ord (comparing) hunk ./XMonad/Util/EZConfig.hs 355 mkKeymap :: XConfig l -> [(String, X ())] -> M.Map (KeyMask, KeySym) (X ()) mkKeymap c = M.fromList . mkSubmaps . readKeymap c +mkNamedKeymap :: XConfig l -> [(String, NamedAction)] -> [((KeyMask, KeySym), NamedAction)] +mkNamedKeymap c = mkNamedSubmaps . readKeymap c + -- | Given a list of pairs of parsed key sequences and actions, -- group them into submaps in the appropriate way. hunk ./XMonad/Util/EZConfig.hs 360 + +mkNamedSubmaps :: [([(KeyMask, KeySym)], NamedAction)] -> [((KeyMask, KeySym), NamedAction)] +mkNamedSubmaps binds = map combine gathered + where gathered = groupBy fstKey + . sortBy (comparing fst) + $ binds + combine [([k],act)] = (k,act) + combine ks = (head . fst . head $ ks, + submapName . mkNamedSubmaps $ map (first tail) ks) + fstKey = (==) `on` (head . fst) + mkSubmaps :: [ ([(KeyMask,KeySym)], X ()) ] -> [((KeyMask, KeySym), X ())] mkSubmaps binds = map combine gathered where gathered = groupBy fstKey hunk ./XMonad/Util/EZConfig.hs 388 -- description, action) pairs, parse the key sequences into lists of -- @(KeyMask,KeySym)@ pairs. Key sequences which fail to parse will -- be ignored. -readKeymap :: XConfig l -> [(String, X())] -> [([(KeyMask,KeySym)], X())] +readKeymap :: XConfig l -> [(String, t)] -> [([(KeyMask, KeySym)], t)] readKeymap c = mapMaybe (maybeKeys . first (readKeySequence c)) where maybeKeys (Nothing,_) = Nothing maybeKeys (Just k, act) = Just (k, act) addfile ./XMonad/Util/NamedActions.hs hunk ./XMonad/Util/NamedActions.hs 1 +{-# OPTIONS_GHC -fno-warn-orphans #-} +{-# LANGUAGE FlexibleInstances, StandaloneDeriving #-} +{-# LANGUAGE ExistentialQuantification, FlexibleContexts #-} +-------------------------------------------------------------------- +-- | +-- Module : XMonad.Util.NamedActions +-- Copyright : Adam Vogt +-- License : BSD3-style (see LICENSE) +-- +-- Maintainer : Adam Vogt +-- Stability : unstable +-- Portability : unportable +-- +-- Present a list of the keybindings in use. +-------------------------------------------------------------------- + +module XMonad.Util.NamedActions ( + -- * Usage: + -- $usage + sendMessage', + spawn', + submapName, + addDescrKeys, + xMessage, + + showKmSimple, + showKm, + + noName, + oneName, + addName, + + (^++^), + + NamedAction(..), + HasName, + defaultKeysDescr + ) where + +import XMonad.Actions.Submap(submap) +import XMonad(KeySym, KeyMask, X, Layout, Message, + XConfig(workspaces, terminal, modMask, layoutHook, keys, XConfig), + io, spawn, whenJust, ChangeLayout(NextLayout), IncMasterN(..), + Resize(..), kill, refresh, screenWorkspace, sendMessage, setLayout, + windows, withFocused, controlMask, mod1Mask, mod2Mask, mod3Mask, + mod4Mask, mod5Mask, shiftMask, xK_1, xK_9, xK_Return, xK_Tab, xK_c, + xK_comma, xK_e, xK_h, xK_j, xK_k, xK_l, xK_m, xK_n, xK_p, + xK_period, xK_q, xK_r, xK_space, xK_t, xK_w, keysymToString) +import System.Posix.Process(executeFile, forkProcess) +import Control.Arrow(Arrow((***), second, (&&&), first)) +import Data.Bits(Bits((.|.), complement, (.&.))) +import Data.Function((.), const, ($), flip, id, on) +import Data.List((++), filter, zip, map, concatMap, elem, head, + last, null, unlines, groupBy, intercalate, partition, sortBy) +import System.Exit(ExitCode(ExitSuccess), exitWith) + +import qualified Data.Map as M +import qualified XMonad.StackSet as W + +-- $usage +-- Here is an example config that demonstrates the usage of 'sendMessage'', +-- 'mkNamedKeymap', 'addDescrKeys', and '^++^' +-- +-- > import XMonad +-- > import XMonad.Util.NamedActions +-- > import XMonad.Util.EZConfig +-- > +-- > main = xmonad $ addDescrKeys ((mod4Mask, xK_d), xMessage) myKeys +-- > defaultConfig { modMask = mod4Mask } +-- > +-- > myKeys = flip mkNamedKeymap $ +-- > [("M-x a", addName "useless..." $ spawn "xmessage foo"), +-- > ("M-c", sendMessage' Expand)] +-- > ^++^ +-- > [("", spawn "mpc toggle" :: X ()), +-- > ("", spawn "mpc next"] +-- +-- Due to the type of '^++^', you can combine bindings whose actions are @X ()@ +-- as well as actions that have descriptions. However you cannot mix the two in +-- a single list, unless each is prefixed with 'addName' or 'noName'. '^++^' +-- works with traditional-style keybindings too. +-- +-- Also note the unfortunate necessity of a type annotation, since 'spawn' is +-- too general. + +deriving instance Show XMonad.Resize +deriving instance Show XMonad.IncMasterN + +-- | 'sendMessage' but add a description that is @show message@. Note that not +-- all messages have show instances. +sendMessage' :: (Message a, Show a) => a -> NamedAction +sendMessage' x = NamedAction $ (XMonad.sendMessage x,show x) + +-- | 'spawn' but the description is the string passed +spawn' :: String -> NamedAction +spawn' x = addName x $ spawn x + +class HasName a where + showName :: a -> [String] + showName = const [""] + getAction :: a -> X () + +instance HasName (X ()) where + getAction = id + +instance HasName (IO ()) where + getAction = io + +instance HasName (X (),String) where + showName = (:[]) . snd + getAction = fst + +instance HasName (X (),[String]) where + showName = snd + getAction = fst + +-- show only the outermost description +instance HasName (NamedAction,String) where + showName = (:[]) . snd + getAction = getAction . fst + +instance HasName NamedAction where + showName (NamedAction x) = showName x + getAction (NamedAction x) = getAction x + +-- | An existential wrapper so that different types can be combined in lists, +-- and maps +data NamedAction = forall a. HasName a => NamedAction a + +-- | 'submap', but propagate the descriptions of the actions. Does this belong +-- in "XMonad.Actions.Submap"? +submapName :: (HasName a) => [((KeyMask, KeySym), a)] -> NamedAction +submapName = NamedAction . (submap . M.map getAction . M.fromList &&& showKm) + . map (second NamedAction) + +-- | Combine keymap lists with actions that may or may not have names +(^++^) :: (HasName b, HasName b1) => + [(d, b)] -> [(d, b1)] -> [(d, NamedAction)] +a ^++^ b = map (second NamedAction) a ++ map (second NamedAction) b + +-- | Or allow another lookup table? +modToString :: KeyMask -> String +modToString mask = concatMap (++"-") $ filter (not . null) + $ map (uncurry w) + [(mod1Mask, "M1") + ,(mod2Mask, "M2") + ,(mod3Mask, "M3") + ,(mod4Mask, "M4") + ,(mod5Mask, "M5") + ,(controlMask, "C") + ,(shiftMask,"Shift")] + where w m str = if m .&. complement mask == 0 then str else "" + +keyToString :: (KeyMask, KeySym) -> [Char] +keyToString = uncurry (++) . (modToString *** keysymToString) + +-- | Squeezes bindings from [xK_1 .. xK_9] +showKm :: [((KeyMask, KeySym), NamedAction)] -> [[Char]] +showKm = uncurry (flip (++)) + . second showKmSimple + . first (map ( intercalate " ... " . showKmSimple . uncurry (:) + . (head &&& (:[]) . last) + . sortBy (compare `on` (snd . fst))) + . groupBy ((==) `on` (fst . fst)) + ) + . partition ((`elem` [xK_1 .. xK_9]) . snd . fst) + +showKmSimple :: [((KeyMask, KeySym), NamedAction)] -> [[Char]] +showKmSimple = concatMap (\(k,e) -> map ((keyToString k ++) . smartSpace) $ showName e) + where smartSpace [] = [] + smartSpace xs = ' ':xs + +-- | An action to send to 'addDescrKeys' for showing the keybindings. See also 'showKm' and 'showKmSimple' +xMessage :: [((KeyMask, KeySym), NamedAction)] -> NamedAction +xMessage x = addName "Show Keybindings" $ io $ do + forkProcess $ executeFile "xmessage" True ["-default", "okay", unlines $ showKm x] Nothing + return () + +-- | Merge the supplied keys with 'defaultKeysDescr' +addDescrKeys :: (HasName b1, HasName b) => + ((KeyMask, KeySym),[((KeyMask, KeySym), NamedAction)] -> b) + -> (XConfig Layout -> [((KeyMask, KeySym), b1)]) + -> XConfig l + -> XConfig l +addDescrKeys k ks = addDescrKeys' k (\l -> defaultKeysDescr l ^++^ ks l) + +-- | Without merging with 'defaultKeysDescr' +addDescrKeys' :: (HasName b) => + ((KeyMask, KeySym),[((KeyMask, KeySym), NamedAction)] -> b) + -> (XConfig Layout -> [((KeyMask, KeySym), NamedAction)]) -> XConfig l -> XConfig l +addDescrKeys' (k,f) ks conf = + let shk l = f $ [(k,f $ ks l)] ^++^ ks l + keylist l = M.map getAction $ M.fromList $ ks l ^++^ [(k, shk l)] + in conf { keys = keylist } + +-- | A version of the default keys from 'XMonad.Config.defaultConfig', but with +-- 'NamedAction' instead of @X ()@ +defaultKeysDescr :: XConfig Layout -> [((KeyMask, KeySym), NamedAction)] +defaultKeysDescr conf@(XConfig {XMonad.modMask = modm}) = + -- launching and killing programs + [ ((modm .|. shiftMask, xK_Return), addName "Launch Terminal" $ spawn $ XMonad.terminal conf) -- %! Launch terminal + , ((modm, xK_p ), addName "Launch dmenu" $ spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"") -- %! Launch dmenu + , ((modm .|. shiftMask, xK_p ), addName "Launch gmrun" $ spawn "gmrun") -- %! Launch gmrun + , ((modm .|. shiftMask, xK_c ), addName "Close the focused window" kill) -- %! Close the focused window + + , ((modm, xK_space ), sendMessage' NextLayout) -- %! Rotate through the available layout algorithms + , ((modm .|. shiftMask, xK_space ), addName "Reset the layout" $ setLayout $ XMonad.layoutHook conf) -- %! Reset the layouts on the current workspace to default + + , ((modm, xK_n ), addName "Refresh" refresh) -- %! Resize viewed windows to the correct size + + -- move focus up or down the window stack + , ((modm, xK_Tab ), addName "Focus down" $ windows W.focusDown) -- %! Move focus to the next window + , ((modm .|. shiftMask, xK_Tab ), addName "Focus up" $ windows W.focusUp ) -- %! Move focus to the previous window + , ((modm, xK_j ), addName "Focus down" $ windows W.focusDown) -- %! Move focus to the next window + , ((modm, xK_k ), addName "Focus up" $ windows W.focusUp ) -- %! Move focus to the previous window + , ((modm, xK_m ), addName "Focus the master" $ windows W.focusMaster ) -- %! Move focus to the master window + + -- modifying the window order + , ((modm, xK_Return), addName "Swap with the master" $ windows W.swapMaster) -- %! Swap the focused window and the master window + , ((modm .|. shiftMask, xK_j ), addName "Swap down" $ windows W.swapDown ) -- %! Swap the focused window with the next window + , ((modm .|. shiftMask, xK_k ), addName "Swap up" $ windows W.swapUp ) -- %! Swap the focused window with the previous window + + -- resizing the master/slave ratio + , ((modm, xK_h ), sendMessage' Shrink) -- %! Shrink the master area + , ((modm, xK_l ), sendMessage' Expand) -- %! Expand the master area + + -- floating layer support + , ((modm, xK_t ), addName "Push floating to tiled" $ withFocused $ windows . W.sink) -- %! Push window back into tiling + + -- increase or decrease number of windows in the master area + , ((modm , xK_comma ), sendMessage' (IncMasterN 1)) -- %! Increment the number of windows in the master area + , ((modm , xK_period), sendMessage' (IncMasterN (-1))) -- %! Deincrement the number of windows in the master area + + -- quit, or restart + , ((modm .|. shiftMask, xK_q ), addName "Quit" $ io (exitWith ExitSuccess)) -- %! Quit xmonad + , ((modm , xK_q ), addName "Restart" $ spawn "xmonad --recompile && xmonad --restart") -- %! Restart xmonad + ] + ++ + -- mod-[1..9] %! Switch to workspace N + -- mod-shift-[1..9] %! Move client to workspace N + [((m .|. modm, k), addName (n ++ i) $ windows $ f i) + | (f, m, n) <- [(W.greedyView, 0, "Switch to workspace "), (W.shift, shiftMask, "Move client to workspace ")] + , (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]] + ++ + -- mod-{w,e,r} %! Switch to physical/Xinerama screens 1, 2, or 3 + -- mod-shift-{w,e,r} %! Move client to screen 1, 2, or 3 + [((m .|. modm, key), addName (n ++ show sc) $ screenWorkspace sc >>= flip whenJust (windows . f)) + | (f, m, n) <- [(W.view, 0, "Switch to screen number "), (W.shift, shiftMask, "Move client to screen number ")] + , (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]] + +-- | These are just the @NamedAction@ constructor but with a more specialized +-- type, so that you don't have to supply any annotations, for ex coercing +-- spawn to @X ()@ from the more general @MonadIO m => m ()@ +noName :: X () -> NamedAction +noName = NamedAction + +oneName :: (X (), String) -> NamedAction +oneName = NamedAction + +addName :: String -> X () -> NamedAction +addName = flip (curry NamedAction) hunk ./xmonad-contrib.cabal 212 XMonad.Util.Font XMonad.Util.Invisible XMonad.Util.Loggers + XMonad.Util.NamedActions XMonad.Util.NamedScratchpad XMonad.Util.NamedWindows XMonad.Util.Run } Context: [U.Loggers: add maildirNew, other loggers, and logger formatting utilities wirtwolff@gmail.com**20090412041356 Ignore-this: 73240ab34348ad895c3d66c2a2e8e40f Rework of the Logger portions of patches originally from seanmce33@gmail.com to apply without conflicts, plus several formatting utilities for use with X (Maybe String) aka Loggers. ] [ThreeCol - Update docs to match reality Anders Engstrom **20090503190755 Ignore-this: e63f3ee533dd9bcf0f32da2316dde1dd ] [Remove some excess whitespace in XMonad.AppLauncher Adam Vogt **20090503183416 Ignore-this: b5bfa9625b5b080c20398cf1aa396a08 ] [Export ThreeColMid from L.ThreeColumnsMiddle Adam Vogt **20090425161710 Ignore-this: f08d23d108ae9aa4ad176fd9dd275409 The configs that import it should continue to work with this module, though the type of the ThreeColMid constructor is now ThreeCol (previously ThreeColMid). ] [ThreeColumns support middle column, with more backwards compatiblity Adam Vogt **20090414061819 Ignore-this: 5a8991269904986e0e012e955c6d4712 ] [X.L.ThreeColumnsMiddle merged into X.L.ThreeColumns with some new features Anders Engstrom **20090411113636 Ignore-this: 1d5bb8de98f8ade3780444ed99f5a12f ] [nameTail - Remove the first word of a layout description Anders Engstrom **20090503105950 Ignore-this: a44c5e38163ed98ffc244cdd206632d1 ] [Add H.InsertPosition: add new windows to different positions in a workspace Adam Vogt **20090503020303 Ignore-this: 7e7d5fa5b42698799cabe600159a75f7 ] [Add changeMaster function to L.Mosaic Adam Vogt **20090501233136 Ignore-this: eca2a48fb987bb871ad93e6c6bf1a186 ] [Optimizer bug does not affect 6.10.2 (issue 226) Adam Vogt **20090430034823 Ignore-this: f43f9bf9502ebb19743c3b417ef02347 ] [Remove -XScopedTypeVariables requirement with L.SubLayouts Adam Vogt **20090428222749 Ignore-this: dbb08e3c1641796603fdaf7b929cdf6d This should keep the code -Wall clean on ghc-6.8 in addition to ghc-6.10 ] [Add SubLayouts: a layout combinator for nesting layouts. Adam Vogt **20090423013135 Ignore-this: abb21b19bfbc567953419b3035b6a295 ] [Document and extend BoringWindows to support multiple sources of boring. Adam Vogt **20090406041301 Ignore-this: 7375c8912ede6a6a44db4a4b91ffbc33 The Replace and Merge messages are added to support layouts sending a list of windows that should be skipped over. The sources are tagged by a string key, so it is possible though unlikely for different sources of boring windows to interfere with eachother. ] [Add Apply message to L.WindowNavigation Adam Vogt **20090303065701 Ignore-this: e808729ddd2375778a96775568b8b621 ] [X.A.TopicSpace: remove the allTopics lists from the configuration. Nicolas Pouillard **20090423172939 Ignore-this: 1ac344b32865b38e53b968cc037b0a01 ] [added colour themes perlkat@katspace.org**20090227065315 These themes are colour themes only; they use the default font settings. I thought the existing themes were rather dull, so these give more bright (but tasteful) colours; shades of peacock feathers, shades of autumn. ] [Prompt.hs: setSuccess True also on Keypad Enter sean.escriva@gmail.com**20090409162609 Ignore-this: cf04f87c546f89bd32a94de3a2a93b22 ] [Update focus on mouse moves within inactive windows Daniel Schoepe **20090407191819 Ignore-this: 36c05c60420520dab708401d8a80fc85 This patch adds functionality to update the focus on moves in unfocused windows, which would make sense if one wanted the focus to follow the mouse. Currently this only happens when the mouse enters/leaves a window. This patch should fix issue #205. ] [Add promoteWarp event to L.MagicFocus Adam Vogt **20090322221456 Ignore-this: 12ad5fc144a35fb605f53b744d8146ef This event enables A.UpdatePointer behavior without causing infinite loops in combination with magicFocus ] [Add TowardsCentre option to UpdatePointer Adam Vogt **20090322215811 Ignore-this: d543d8f090b03a6c26b3a0427be3a051 This option is like Nearest, but it places the pointer a configurable percentage towards the centre of the window, instead of right at the edge. ] [Remove excess whitespace in A.UpdatePointer Adam Vogt **20090322215553 Ignore-this: 6fbc63642b946461e0fafcb44016824 ] [Combo fix ReleaseResources when no windows are available, new fix Anders Engstrom **20090224172018 Ignore-this: b59603df8e4cfc1fb2cf9070cea615b3 ] [OneBig_resize.dpatch portnov84@rambler.ru**20090221142300 Ignore-this: c02b25bd370ee449aab28005eb4418cf Add Shrink/Expand messages handling for OneBig layout. ] [OneBig_layout.dpatch portnov84@rambler.ru**20090220172634 Ignore-this: 9d4f308d13f003aa4236417307a66c15 Add the OneBig layout, which places one (master) window at top left corner of screen (width and height of master window are parameters of layout), and other (slave) windows at bottom and at right of master, trying to give equal space for each slave window. ] [Properly encode destop names before sending them to X server in XMonad.Hooks.EwmhDesktops Khudyakov Alexey **20090220184137 Ignore-this: 6a22ea8bdc49f8484e18f04aaeb545ae ] [Make utf8-string regular dependency Khudyakov Alexey **20090220183318 Ignore-this: b38936b037c1172ec69905fa345f7afe The reason for this is that EWMH specification require utf8 encoded strings. ] [Update haddock description for Actions.GridSelect Daniel Schoepe **20090422172510 Ignore-this: db5a2c009f7e88647f168ccb225d6219 ] [X.H.DynamicLog: provides trim, inverse of pad sean.escriva@gmail.com**20090409163513 Ignore-this: 9d92ff592f2bc4f041b85d1314058fdc ] [Mouse support for GridSelect Daniel Schoepe **20090409223302 Ignore-this: 38669e39c8676233d71f457c0b697500 GridSelect now allows selecting an element by a click with the left mouse button. ] [Generalize GridSelect to arbitrary elements Daniel Schoepe **20090409155704 Ignore-this: 69fbce85232871482adcce06c1a5fe62 This patch generalizes Actions.GridSelect to work for arbitrary (String,a)-lists. The changes break configurations that used `gridSelect' directly, which is now named gridSelectWindow. As an example for uses of the GridSelect-UI, I included a function to spawn an application from a list of commands(`spawnSelected'). ] [Improve composability of X.H.Place, drop simple(st)Float support quentin.moser@unifr.ch**20090415184550 Ignore-this: 8a0fb64aa0db27b242b7ad4bcba1a3ca ] [Fixed X.H.Place.position quentin.moser@unifr.ch**20090409084946 Ignore-this: 29e3936800194916a859976ff126dbfe ] [Module for automatic placement of floating windows quentin.moser@unifr.ch**20090408080953 Ignore-this: 1874df995fc02a0b80051db39d91a2e1 ] [X.H.FloatNext: new module, float the next spawned window(s) quentin.moser@unifr.ch**20090415181907 Ignore-this: 95e1c9daa3ca43bfb058f6a881a97f3a ] [ComboP konstantin.sobolev@gmail.com**20090415014327 Ignore-this: 73bb986165a7bba466aae789a5448170 ] [New module: XMonad.Actions.TopicSpace Nicolas Pouillard **20090419085239 Ignore-this: 4c20592ea6ca74f38545c5a1a002ef91 ] [NamedScratchpad konstantin.sobolev@gmail.com**20090419045542 Ignore-this: b442cb08123d2413e0bb144a73bf3f57 ] [More configurability for Layout.NoBorders (typeclass method) Adam Vogt **20090325050206 Ignore-this: 91fe0bc6217b910b7348ff497b922e11 This method uses a typeclass to pass a function to the layoutmodifier. It is flexible, but a bit indirect and perhaps the flexibility is not required. ] [Add XMonad.Actions.PhysicalScreens nelhage@mit.edu**20090321001320 Add an XMonad.Actions.PhysicalScreens contrib module that allows addressing of screens by physical ordering, rather than the arbitrary ScreenID. ] [pointWithin has moved to the core Joachim Breitner **20081008154245] [UpdatePointer even to empty workspaces Joachim Breitner **20081007080041 This makes UpdatePointer more Xinerama-compatible: If the user switches to a screen with an empty workspace, the pointer is moved to that workspace, which I think is expected behavoiur. ] [More predictable aspect ratio in GridVariants.Grid Norbert Zeh **20090311013617 The old version fairly arbitrarily decided to prefer windows that are too high over those that are too wide. The new version chooses the number of columns so that all windows on the screen are as close as possible to the desired aspect ratio. As a side effect, the layout changes much more predictably under addition and removal of clients. ] [X.L.Master: fix number of windows Ismael Carnales **20090301051509 Ignore-this: 2af132159450d4fb72eb52024eda71b5 ] [U.EZConfig: add xK_Print to special keys wirtwolff@gmail.com**20090302230741 Ignore-this: 9560b7c7c4424edb5cea6eec45e2b41d Many setups are expecting xK_Print rather than xK_Sys_Req, so make it available in additionalKeysP. ] [More flexibility for H.FadeInactive Daniel Schoepe **20090309160020 Ignore-this: ebfa2eadb439763276b372107cdf8d6c ] [Prompt.Shell: escape ampersand Valery V. Vorotyntsev **20090312091314 Ignore-this: 7200b76af8109bab794157da46cb0030 Ampersand (&) is a special character and should be escaped. ] [Cleanup X.L.Mosaic, without breaking it Adam Vogt **20090219022417 Ignore-this: d49ed55fe8dc2204256dff9252384745 ] [X.L.Mosaic: prevent users from causing non-termination with negative elements Adam Vogt **20090210022727 Ignore-this: 370a7d6249906f1743c6692758ce5aeb ] [better Layout.NoBorders.smartBorders behavior on xinerama Adam Vogt **20090314170058 Ignore-this: 36737ce2fa2087c4a16ddf226d3b0f0a Now smartBorders shows borders when you have multiple screens with one window each. In the case where only one window is visible, no borders are drawn. ] [H.DynamicLog: revised dzenStrip and xmobarStrip functions wirtwolff@gmail.com**20090314041517 Ignore-this: 9897c60b8dfc59344939b7aebc370953 Reconcile darcswatch patch with pushed version of dzenStrip. ] [X.H.DynamicLog: Add dzenStrip to remove formatting, for use in dzenPP's ppUrgent. Braden Shepherdson **20090314032818 Ignore-this: fd96a1a4b112d0f71589b639b83ec3e This function was written by Wirt Wolff. This change should allow UrgencyHook to work out of the box with dzen and dzenPP, rather than the colours being overridden so even though UrgencyHook is working, it doesn't change colours. ] [X.H.ManageHelpers: export isInProperty Roman Cheplyaka **20090308201112] [L.Cross: clarify documentation wirtwolff@gmail.com**20090222042220 Ignore-this: 4a5dcf71e63d045f27e2340e1def5cc8 Amend-record earlier patch to work with byorgey's fix, this one is just the documentation typo fixes and clarifications. ] [documentation for IndependentScreens daniel@wagner-home.com**20090221235959] [eliminate a haddock warning in BoringWindows daniel@wagner-home.com**20090221235836] [merge IndependentScreens daniel@wagner-home.com**20090221232142] [add IndependentScreens to xmonad-contrib.cabal daniel@wagner-home.com**20090221231632] [add type information for IndependentScreens daniel@wagner-home.com**20090221231525] [add some boilerplate comments at the top of IndependentScreens Brent Yorgey **20090221230850] [IndependentScreens, v0.0 daniel@wagner-home.com**20090221225229] [U.Run: remove waitForProcess to close Issue 268 wirtwolff@gmail.com**20090220214153 Ignore-this: a6780565fde40a4aac9023cc55fc2273 http://code.google.com/p/xmonad/issues/detail?id=268 Submitting with some trepidation, since I've nearly no understanding of process handling. Should be ok, no warnings by sjanssen when asking about it in hpaste or earlier email, and tested locally by spawning excessive numbers of dzens: did not leave zombies or raise exceptions. ] [change Cross data declaration into a record so that Haddock will parse the per-argument comments Brent Yorgey **20090221224742] [X.L.Master: turn it to a Layout modifier and update the code Ismael Carnales **20090213020453 Ignore-this: 69513ad2b60dc4aeb49d64ca30e6f9f8 ] [Use doShift in my config Spencer Janssen **20090219042040 Ignore-this: 1f103d21bbceec8d48384f975f18eaec ] [SpawnOn: use doShift. This resolves problems where SpawnOn would shift the wrong window Spencer Janssen **20090219041856 Ignore-this: 6ae639a638db8eff77203f3f2e481a4e ] [SpawnOn: delete seen pids Spencer Janssen **20090213013011 Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f ] [X.U.Loggers: handle possible EOF (reported by dyfrgi) Roman Cheplyaka **20090216213842] [U.Scratchpad: add general spawn action to close issue 249 wirtwolff@gmail.com**20090214003642 Ignore-this: 925ad9db4ecc934dcd86320f383ed44a Adds scratchpadSpawnActionCustom where user specifies how to set resource to "scratchpad". This allows use of gnome-terminal, etc. Add detail to RationalRectangle documentation; strip trailing spaces. ] [SpawnOn: add 'exec' to shell strings where possible Spencer Janssen **20090212234608 Ignore-this: c7de4e05803d60b10f38004dcbda4732 ] [Add Cross Layout 'Luis Cabellos '**20090209174802] [Fix an undefined in EwmhDesktops Daniel Schoepe **20090209152308 Ignore-this: f60a43d7ba90164ebcf700090dfb2480 ] [X.U.WindowProperties: docs (description and sections) Roman Cheplyaka **20090208231422] [X.U.WindowProperties: Add getProp32 and getProp32s, helpers to get properties from windows Ismael Carnales **20090205013031 Ignore-this: c5481fd5d97b15ca049e2da2605f65c1 ] [cleanup and make X.L.Mosaic behavior more intuitive wrt. areas Adam Vogt **20090208221629 Ignore-this: 3c3c6faa203cbb1c1db909e5bf018b6f ] [minor typo in XMonad/Util/EZConfig.hs Joachim Breitner **20090208192224 Ignore-this: 7ffee60858785c3e31fdd5383c9bb784 ] [Multimedia keys support for EZConfig Khudyakov Alexey **20090207173330 Ignore-this: 21183dd7c192682daa18e3768828f88d ] [+A.CycleWindows: bindings to cycle windows in new ways wirtwolff@gmail.com**20090207170622 Ignore-this: 51634299addf224cbbc421adb4b048f5 Provides binding actions and customizable pure stack operations to cycle through a list of permutations of the stack (recent), cycle nth into focus, cycle through focus excluding a neighbor, cycle unfocused, shift a window halfway around the stack. Esp. for Full, two or three pane layouts, but useful for any layout with many windows. ] [XMonad.Actions.CopyWindow: fmt & qualify stackset import gwern0@gmail.com**20090206171833 Ignore-this: 4d08f5a7627020b188f59fc637b53ae8 ] [XMonad.Actions.CopyWindow runOrCopy lan3ny@gmail.com**20080602205742] [ManageHelpers: reduce duplicated code in predicates Ismael Carnales **20090204021847 Ignore-this: e28a912d4f897eba68ab3edfddf9f26b ] [Remove X.U.SpawnOnWorkspace (superseded by X.A.SpawnOn) Roman Cheplyaka **20090204103635] [X.A.SpawnOn: add docs Roman Cheplyaka **20090204102424 Add more documentation, including documentation from X.U.SpawnOnWorkspace by Daniel Schoepe. ] [Remove silliness from XMonad.Doc.Configuring Spencer Janssen **20090204055626] [Adjustments to use the new event hook feature instead of Hooks.EventHook Daniel Schoepe **20090203160046 Ignore-this: f8c239bc8e301cbd6fa509ef748af542 ] [Easier Colorizers for X.A.GridSelect quentin.moser@unifr.ch**20090128001702 Ignore-this: df3e0423824e40537ffdb4bc7363655d ] [X.A.SpawOn: fix usage doc Roman Cheplyaka **20090202102042] [Added GridVariants.SplitGrid Norbert Zeh **20090129152146 GridVariants.TallGrid behaved weird when transformed using Mirror or Reflect. The new layout SplitGrid does away with the need for such transformations by taking a parameter to specify horizontal or vertical splits. ] [FixedColumn: added missing nmaster to the usage doc Ismael Carnales **20090130195239 Ignore-this: 642aa0bc9e68e7518acc8af30324b97a ] [XMonad.Actions.Search: fix whitespace & tabs gwern0@gmail.com**20090129025246 Ignore-this: 894e479ccc46160848c4d70c2361c929 ] [xmonad-action-search-intelligent-searchengines Michal Trybus **20090128101938 Changed the XMonad.Action.Search to use a function instead of String to prepare the search URL.Added a few useful functions used to connect many search engines together and do intelligent prefixed searches (more doc in haddock)The API has not changed with the only exception of search function, which now accepts a function instead of String. ] [XMonad.Prompt autocompletion fix quentin.moser@unifr.ch**20090127184145 Ignore-this: 635cbf6420722a4edef1ae9c40b36e1b ] [X.A.SinkAll: re-add accidentally deleted usage documentation Brent Yorgey **20090127222533] [move XMonad.Actions.SinkAll functionality to more general XMonad.Actions.WithAll, and re-export sinkAll from X.A.SinkAll for backwards compatibility Brent Yorgey **20090127222355] [adds generic 'all windows on current workspace' functionality loupgaroublond@gmail.com**20081221224850] [placement patch to XMonad.Layout.LayoutHints quentin.moser@unifr.ch**20090126195950 Ignore-this: 87a5efa9c841d378a808b1a4309f18 ] [XMonad.Actions.MessageFeedback module quentin.moser@unifr.ch**20090126181059 Ignore-this: 82e58357a44f98c35ccf6ad0ef98b552 ] [submapDefault Anders Engstrom **20090118152933 Ignore-this: c8958d47eb584a7de04a81eb087f05d1 Add support for a default action to take when the entered key does not match any entry. ] [X.A.CycleWS: convert tabs to spaces (closes #266) Roman Cheplyaka **20090127185604] [Mosaic picks the middle aspect layout, unless overriden Adam Vogt **20090126032421 Ignore-this: aaa31da14720bffd478db0029563aea5 ] [Mosaic: stop preventing access to the widest layouts Adam Vogt **20090125045256 Ignore-this: c792060fe2eaf532f433cfa8eb1e8fe3 ] [X.L.Mosaic add documentation, update interface and aspect ratio behavior Adam Vogt **20090125041229 Ignore-this: e78027707fc844b3307ea87f28efed73 ] [Use currentTag, thanks asgaroth Spencer Janssen **20090125213331 Ignore-this: dd1a3d96038de6479eca3b9798d38437 ] [Support for spawning most applications on a specific workspace Daniel Schoepe **20090125191045 Ignore-this: 26076d54b131e037b42c87e4fde63200 ] [X.L.Mosaic: haddock fix Roman Cheplyaka **20090124235908] [A mosaic layout based on MosaicAlt Adam Vogt **20090124022058 Ignore-this: 92bad7498f1ac402012e3eba6cbb2693 The position of a window in the stack determines its position and layout. And the overall tendency to make wide or tall windows can be changed, though not all of the options presented by MosaicAlt can be reached, the layout changes with each aspect ratio message. ] [uninstallSignalHandlers in spawnPipe Spencer Janssen **20090122002745 Ignore-this: e8cfe0f18f278c95d492628da8326fd7 ] [Create a new session for spawnPiped processes Spencer Janssen **20090122000441 Ignore-this: 37529c5fe8b4bf1b97fffb043bb3dfb0 ] [TAG 0.8.1 Spencer Janssen **20090118220647] [Use spawnOn in my config Spencer Janssen **20090117041026 Ignore-this: 3f92e4bbe4f2874b86a6c7ad66a31bbb ] [Add XMonad.Actions.SpawnOn Spencer Janssen **20090117040432 Ignore-this: 63869d1ab11f2ed5aab1690763065800 ] [Bump version to 0.8.1 Spencer Janssen **20090116223607 Ignore-this: 1c201e87080e4404f51cadc108b228a1 ] [Compile without optimizations on x86_64 and GHC 6.10 Spencer Janssen **20090108231650 Ignore-this: a803235b8022793f648e8953d9f05e0c This is a workaround for http://xmonad.org/bugs/226 ] [Update all uses of doubleFork/waitForProcess Spencer Janssen **20090116210315 Ignore-this: 4e15b7f3fd6af3b7317449608f5246b0 ] [Update to my config Spencer Janssen **20090116204553 Ignore-this: 81017fa5b99855fc8ed1fe8892929f53 ] [Adjustments to new userCode function Daniel Schoepe **20090110221310] [X.U.EZConfig: expand documentation Brent Yorgey **20090116153143] [add a bit of documentation to HintedTile Brent Yorgey **20090114065126] [ManageHelpers: add isDialog johanngiwer@web.de**20090108232505] [CenteredMaster portnov84@rambler.ru**20090111134513 centerMaster layout modifier places master window at top of other, at center of screen. Other windows are managed by base layout. topRightMaster is similar, but places master window at top right corner. ] [XMonad.Util.XSelection: update maintainer information gwern0@gmail.com**20090110213000 Ignore-this: 1592ba07f2ed5d2258c215c2d175190a ] [X.U.XSelection: get rid of warning about missing newline, add Haddock link Brent Yorgey **20090102194357] [adds haddock documentation for transformPromptSelection loupgaroublond@gmail.com**20090102190954 also renames the function per mailing list recommendation ] [adds a weird function to XSelection loupgaroublond@gmail.com**20081222020730 This enables you to pass a function of (String -> String) to a selection function to modify the string before executing it. This way, you can input your own escape routines to make it shell command line safe, and/or do other fancier things. ] [ThreeColumnsMiddle xmonad@c-otto.de**20090102091019] [fix-fromJust-errors rupa@lrrr.us**20081224045509 bogner wrote all this stuff and i just tested it. I had: myLogHook = ewmhDesktopLogHookCustom ScratchpadFilterOutWorkspace >> updatePointer Nearest Everytime I invoked or hid Scratchpad, it would leave a 'Maybe.fromJust: Nothing' line in .xsession-errors, and updatePointer would stop working. ] [ Prompt: Change Filemode to 600 for history-file (fixes bug 244) Dominik Bruhn **20081218001601] [X.L.Monitor: changes in message passing Roman Cheplyaka **20081226220851 - transform mbName (Maybe String) to name (String) - slghtly change semantics of messages, document it ] [X.L.Monitor: change interface Roman Cheplyaka **20081226213118 - remove add*Monitor - add manageMonitor, monitor template ] [X.U.WindowProperties: propertyToQuery+docs Roman Cheplyaka **20081225080702] [X.L.Monitor: docs Roman Cheplyaka **20081225073904] [hlintify XUtils, XSelection, Search, WindowGo gwern0@gmail.com**20081220153302 Ignore-this: 7e877484e3cd8954b74232ea83180fa9 ] [fix focus issue for XMonad.Actions.Warp.banishScreen Norbert Zeh **20081212203532 This patch ensures that the focus (or in fact the whose windowset) does not change as a result of a banishScreen. The way this is implemented will become problematic if xmonad ever goes multithreaded. ] [addition of XMonad.Actions.Warp.banishScreen Norbert Zeh **20081212192621 This works on top of warpToScreen and, thus, suffers from the same issue: focus change. ] [fixed documentation for banish Norbert Zeh **20081212191819 banish actually warps to the specified corner of the current window, not the screen. ] [addition of combined TallGrid layout Norbert Zeh **20081212184836 Added a module XMonad.Layouts.GridVariants, which defines layouts Grid and TallGrid. The former is a customizable version of Grid. The latter is a combination of Grid and Tall (see doc of the module). ] [Add FixedColumn, a layout like Tall but based on the resize hints of windows Justin Bogner **20081213073054] [XMonad.Actions.WindowGo: fix a floating-related focus bug gwern0@gmail.com**20081205150755 Ignore-this: c8b6625aa2bd4136937acbd2ad64ffd3 If a floating window was focused, a cross-workspace 'raise' would cause a loop of shifting windows. Apparently the problem was 'focus' and its mouse-handling. Spencer suggested that the calls to focus be replaced with 'focusWindow', which resolved it. ] [Prompt.hs: +greenXPConfig and amberXPConfig gwern0@gmail.com**20081119213122 Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6 ] [Prompt.hs: increase font size to 12 from niggardly 10 gwern0@gmail.com**20081119212523 Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c ] [Prompt.hs: replace magic numbers with understandable names gwern0@gmail.com**20081119212502 Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1 ] [X.L.Monitor: recommend doHideIgnore (docs) Roman Cheplyaka **20081215190710] [X.L.Monitor: docs Roman Cheplyaka **20081215184423] [X.L.Monitor: export Monitor datatype Roman Cheplyaka **20081215184318] [X.H.ManageHelpers: add doHideIgnore Roman Cheplyaka **20081215182758] [Add KDE 4 config, thanks to Shirakawasuna on IRC Spencer Janssen **20081211071141 Ignore-this: 51698961ab5b6e569c294d174f2804a9 ] [I use the deleteConsecutive history filter Spencer Janssen **20081025070438] [Remove XMonad.Config.PlainConfig, it has been turned into the separate xmonad-light project. Braden Shepherdson **20081203161534] [XMonad.Prompt: swap up and down per bug #243 gwern0@gmail.com**20081203013323 Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8 ] [Fix boolean operator precedence in GridSelect keybindings Aleksandar Dimitrov **20081201120928 The vim-like hjkl keys were ORed to the key event AND arrow keys. ] [GridSelect.hs: navigate grid with h,j,k,l as well as arrow keys sean.escriva@gmail.com**20081122084725] [Export setOpacity from FadeInactive. Document how to make monitor transparent (X.L.Monitor) Roman Cheplyaka **20081117153027] [Monitor: use broadcastMessage instead of sendMessage; this solves several issues Roman Cheplyaka **20081117133957] [FadeInactive: fade all inactive windows (including focused windows on visible screens) Roman Cheplyaka **20081117130115] [Monitor: documented one more issue Roman Cheplyaka **20081117113807] [Monitor: improved the docs Roman Cheplyaka **20081117073709] [added XMonad.Layout.Monitor Roman Cheplyaka **20081115104735] [WindowProperties: added allWithProperty Roman Cheplyaka **20081115104525] [ManageHelpers: added doSideFloat (generalization of doCenterFloat) Roman Cheplyaka **20081114113015] [GridSelect: Export default_colorizer Dominik Bruhn **20081112140005] [Simplify code for restriction-calculation and remove compiletime warnings Dominik Bruhn **20081112134630] [Simplify handle/eventLoop, introduce findInWindowMap, partial updates for key movements (less flickering) Clemens Fruhwirth **20081111100405 * handle/eventLoop carried the display and the drawing window as parameters. The display is available from the embedded X monad, the drawing windows was added. * updateWindows now takes a list of windows to update. updateAllWindows updates all windows. * only the windows that are modified by key movements are redrawn now. This means less flickering. ] [GridSelect: force cursor stay in visible area Roman Cheplyaka **20081111063348] [GridSelect: fix infiniteness problem with diamondRestrict Roman Cheplyaka **20081111055350] [GridSelect: remove tabs Roman Cheplyaka **20081111053647] [Exported shrinkWhile from Decoration to use in GridSelect Roman Cheplyaka **20081110191534] [GridSelect: added link to a screenshot Roman Cheplyaka **20081110190617] [GridSelect: various improvements Roman Cheplyaka **20081110184644 Added documentation Restricted export list for the sake of haddock Added functions: withSelectedWindow bringSelected (by Clemens Fruhwirth) goToSelected (by Dominik Bruhn) ] [Initial version of GridSelect.hs with a lot room for improvement/cleanups Clemens Fruhwirth **20081107115114] [documentation: XMonad.Util.Search.hs, add EZConfig keybindings example sean.escriva@gmail.com**20081106171707] [typo Don Stewart **20081104043044 Ignore-this: bdac0ff3316c821bce321b51c62f6e89 ] [place an upper bound on the version of base we support Don Stewart **20081104035857 Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854 ] [explicit import list for things in the process library Don Stewart **20081104035319 Ignore-this: 91b7f96421828788760e8bcff7dec317 ] [Work around ghc 6.10 bug #2738 Don Stewart **20081104034819 Ignore-this: c75da9693fa642025eac0d074869423d ] [windowPromptBringCopy deadguysfrom@gmail.com**20081023173019] [generic menu and window bringer Travis B. Hartwell **20081027005523] [Search.hs: +hackage search, courtesy of byorgey gwern0@gmail.com**20081031214937 Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab ] [Prompt.hs rename deleteConsecutiveDuplicates gwern0@gmail.com**20081008205131 That name is really unwieldy and long. ] [Prompt.hs: have historyCompletion filter dupes gwern0@gmail.com**20081008204710 Specifically, it calls deleteConsecutiveDuplicates on the end product. uniqSort reverses order in an unfortunate way, so we don't use that. The use-case is when a user has added the same input many times - as it stands, if the history records 30 'top's or whatever, the completion will show 30 'top' entries! This fixes that. ] [Prompt.hs: tweak haddocks gwern0@gmail.com**20081008204649] [Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off gwern0@gmail.com**20081008192645] [Do not consider XMONAD_TIMER unknown Joachim Breitner **20081008195643] [Kill window without focusing it first Joachim Breitner **20081005002533 This patch requires the patch "add killWindow function" in xmonad. Before this patch, people would experience ?workspace flicker? when closing a window via EWMH that is not on the current workspace, for example when quitting pidgin via the panel icon. ] [let MagnifyLess actually magnify less daniel@wagner-home.com**20081015153911] [Actions.Search: add a few search engines intrigeri@boum.org**20081008104033 Add Debian {package, bug, tracking system} search engines, as well as Google Images and isohunt. ] [Implement HiddenNonEmptyWS with HiddenWS and NonEmptyWS Joachim Breitner **20081006211027 (Just to reduce code duplication) ] [Add straightforward HiddenWS to WSType Joachim Breitner **20081006210548 With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing. ] [Merge emptyLayoutMod into redoLayout Joachim Breitner **20081005190220 This removes the emptyLayoutMod method from the LayoutModifier class, and change the Stack parameter to redoLayout to a Maybe Stack one. It also changes all affected code. This should should be a refactoring without any change in program behaviour. ] [SmartBorders even for empty layouts Joachim Breitner **20081005184426 Fixes: http://code.google.com/p/xmonad/issues/detail?id=223 ] [Paste.hs: improve haddocks gwern0@gmail.com**20080927150158] [Paste.hs: fix haddock gwern0@gmail.com**20080927145238] [minor explanatory comment daniel@wagner-home.com**20081003015919] [XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage) Lukas Mai **20080930141715] [XMonad.Util.Font: UTF8 -> USE_UTF8 Lukas Mai **20080930140056] [Paste.hs: implement noModMask suggestion gwern0@gmail.com**20080926232056] [fix a divide by zero error in Grid daniel@wagner-home.com**20080926204148] [-DUTF8 flag with -DUSE_UTF8 gwern0@gmail.com**20080921154014] [XSelection.hs: use CPP to compile against utf8-string gwern0@gmail.com**20080920151615] [add XMonad.Config.Azerty Devin Mullins **20080924044946] [flip GridRatio to match convention (x/y) Devin Mullins **20080922033354] [let Grid have a configurable aspect ratio goal daniel@wagner-home.com**20080922010950] [Paste.hs: +warning about ASCII limitations gwern0@gmail.com**20080921155038] [Paste.hs: shorten comment lines to under 80 columns per sjanssen gwern0@gmail.com**20080921154950] [Forgot to enable historyFilter :( Spencer Janssen **20080921094254] [Prompt: add configurable history filters Spencer Janssen **20080921093453] [Update my config to use 'statusBar' Spencer Janssen **20080921063513] [Rename pasteKey functions to sendKey Spencer Janssen **20080921062016] [DynamicLog: doc fixes Spencer Janssen **20080921061314] [Move XMonad.Util.XPaste to XMonad.Util.Paste Spencer Janssen **20080921060947] [Depend on X11 >= 1.4.3 Spencer Janssen **20080921055456] [statusBar now supplies the action to toggle struts Spencer Janssen **20080918013858] [cleanup - use currentTag Devin Mullins **20080921011159] [XPaste.hs: improve author info gwern0@gmail.com**20080920152342] [+XMonad.Util.XPaste: a module for pasting strings to windows gwern0@gmail.com**20080920152106] [UrgencyHook bug fix: cleanupUrgents should clean up reminders, too Devin Mullins **20080920062117] [Sketch of XMonad.Config.Monad Spencer Janssen **20080917081838] [raiseMaster seanmce33@gmail.com**20080912184830] [Add missing space between dzen command and flags Daniel Neri **20080915131009] [Big DynamicLog refactor. Added statusBar, improved compositionality for dzen and xmobar Spencer Janssen **20080913205931 Compatibility notes: - dzen type change - xmobar type change - dynamicLogDzen removed - dynamicLogXmobar removed ] [Take maintainership of XMonad.Prompt Spencer Janssen **20080911230442] [Overhaul Prompt to use a zipper for history navigation. Fixes issue #216 Spencer Janssen **20080911225940] [Use the new completion on tab setting Spencer Janssen **20080911085940] [Only start to show the completion window with more than one match Joachim Breitner **20080908110129] [XPrompt: Add showCompletionOnTab option Joachim Breitner **20080908105758 This patch partially implements http://code.google.com/p/xmonad/issues/detail?id=215 It adds a XPConfig option that, if enabled, hides the completion window until the user presses Tab once. Default behaviour is preserved. TODO: If Tab causes a unique completion, continue to hide the completion window. ] [XMonad.Actions.Plane.planeKeys: function to make easier to configure Marco T?lio Gontijo e Silva **20080714153601] [XMonad.Actions.Plane: removed unneeded hiding Marco T?lio Gontijo e Silva **20080714152631] [Improvements in documentation Marco T?lio Gontijo e Silva **20080709002425] [Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde} Spencer Janssen **20080911040808] [add clearUrgents for your keys Devin Mullins **20080909055425] [add reminder functionality to UrgencyHook Devin Mullins **20080824200548 I'm considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so to speak. Bleh. ] [TAG 0.8 Spencer Janssen **20080905195420] Patch bundle hash: 2df246dd8f838839a66704297b3bd13109f8c468 From me at twifkak.com Sun May 3 23:29:17 2009 From: me at twifkak.com (Devin Mullins) Date: Sun May 3 23:20:29 2009 Subject: [xmonad] EZConfig changes for Util.NamedActions In-Reply-To: <20090504025409.GA8071@smuckers> References: <20090504025409.GA8071@smuckers> Message-ID: <20090504032917.GA15727@twifkak.com> On Sun, May 03, 2009 at 10:54:09PM -0400, vogt.adam@gmail.com wrote: > Hello > > To allow Util.NamedActions to be used with EZConfig, I had to generalize > some type signatures in EZConfig and add an additional function. > > What do you think of these changes, should I go ahead and apply them? I didn't work on the actual substantial part of EZConfig; that was byorgey. That said, it looks fine, though the duplication between mkNamedSubmaps and mkSubmaps makes me squeamish. Also, why not have mkNamedKeymap take HasName instead of NamedAction? I didn't look at the NamedActions module in great detail. Looks neat! Suggestions for UI: - An IO () -> IO () that wraps the main xmonad action and wrests control from it if the user asks for --keys. - An X () that toggles a cute little overlay like the ? window for gmail and reader. Devin -- When all you have is a hammer, everything looks like a nail. LEARN CHINESE - In the future jian lai ?? Lucky Numbers 11, 32, 26, 48, 33, 54 From wouter at chalmers.se Mon May 4 04:57:46 2009 From: wouter at chalmers.se (Wouter Swierstra) Date: Mon May 4 05:05:38 2009 Subject: [xmonad] StackSet patch Message-ID: I found a really minor bug in the "new" function in StackSet.hs. I've attached a patch to fix it. More interesting, however, is how I found this. I've been transcribing XMonad's StackSets to the functional language/proof assistant Coq. I've set up a darcs repository with my work so far: darcs get www.cs.nott.ac.uk/~wss/repos/StackSet At the moment I have a fairly complete implementation of StackSets in Coq. I have to admit that I did cut a few corners here and there, but there's nothing that can't be fixed with a bit more work. From this Coq file, you can (in principle) extract Haskell code that is pretty close to the current StackSet.hs. I should emphasize that I haven't proven much about StackSets just yet. This only shows that the definitions in StackSet.hs can be made total (i.e. non-crashing and terminating) in a richer type theory. It should be fun to prove some QuickCheck properties in Coq ? which is what I'd like to do next. Wouter -------------- next part -------------- A non-text attachment was scrubbed... Name: stackset.patch Type: application/octet-stream Size: 6307 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090504/263c0519/stackset.obj -------------- next part -------------- From dons at galois.com Mon May 4 12:29:18 2009 From: dons at galois.com (Don Stewart) Date: Mon May 4 12:37:25 2009 Subject: [xmonad] StackSet patch In-Reply-To: References: Message-ID: <20090504162918.GA15431@whirlpool.galois.com> Excellent. Applied! Let us know if you need any help. wouter: > > I found a really minor bug in the "new" function in StackSet.hs. I've > attached a patch to fix it. > > More interesting, however, is how I found this. I've been transcribing > XMonad's StackSets to the functional language/proof assistant Coq. I've > set up a darcs repository with my work so far: > > darcs get www.cs.nott.ac.uk/~wss/repos/StackSet > > At the moment I have a fairly complete implementation of StackSets in > Coq. I have to admit that I did cut a few corners here and there, but > there's nothing that can't be fixed with a bit more work. From this Coq > file, you can (in principle) extract Haskell code that is pretty close to > the current StackSet.hs. > > I should emphasize that I haven't proven much about StackSets just yet. > This only shows that the definitions in StackSet.hs can be made total > (i.e. non-crashing and terminating) in a richer type theory. It should be > fun to prove some QuickCheck properties in Coq ? which is what I'd like > to do next. > > Wouter > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad From spencerjanssen at gmail.com Mon May 4 14:07:58 2009 From: spencerjanssen at gmail.com (Spencer Janssen) Date: Mon May 4 13:59:09 2009 Subject: [xmonad] Merged functionality from X.L.ThreeColumnsMiddle into X.L.ThreeColumns (and some new features) In-Reply-To: <20090503184842.GA8759@smuckers> References: <79b09ba10904110454t2a8df92cmab5b8d0789c6231@mail.gmail.com> <20090414063018.GA27535@smuckers.uwaterloo.ca> <20090503184842.GA8759@smuckers> Message-ID: <20090504180757.GA28030@celeborn> On Sun, May 03, 2009 at 02:48:42PM -0400, Adam Vogt wrote: > I've pushed these: > > Sat Apr 25 12:17:10 EDT 2009 Adam Vogt > * Export ThreeColMid from L.ThreeColumnsMiddle > > The configs that import it should continue to work with this module, though the > type of the ThreeColMid constructor is now ThreeCol (previously ThreeColMid). > > I doubt that many configs use ThreeColMid, since it is darcs-only. The > compatibility module added by this patch might be worth removing before the > next release? Agreed. Combatibility is really only important across releases, we expect darcs users to be agile. Always happy to sign off on cruft removal, Spencer Janssen From spencerjanssen at gmail.com Mon May 4 14:14:42 2009 From: spencerjanssen at gmail.com (Spencer Janssen) Date: Mon May 4 14:00:39 2009 Subject: [xmonad] EZConfig changes for Util.NamedActions In-Reply-To: <20090504025409.GA8071@smuckers> References: <20090504025409.GA8071@smuckers> Message-ID: <20090504181442.GB28030@celeborn> On Sun, May 03, 2009 at 10:54:09PM -0400, vogt.adam@gmail.com wrote: > Hello > > To allow Util.NamedActions to be used with EZConfig, I had to generalize > some type signatures in EZConfig and add an additional function. > > What do you think of these changes, should I go ahead and apply them? > > Thanks, > Adam No particular comments about this patch. However, I think the approach in http://code.haskell.org/~sjanssen/xmonad-newconfig is more promising and will be the core eventually. It may be better to invest effort in getting xmonad 1.0 ready and released? Cheers, Spencer Janssen From spencerjanssen at gmail.com Mon May 4 14:17:40 2009 From: spencerjanssen at gmail.com (Spencer Janssen) Date: Mon May 4 14:03:22 2009 Subject: [xmonad] Emacs 23, Speedbar, XMonad 0.8.1, Wrong Window Focused In-Reply-To: <594f78210905030841k3bd1582ct375b555a872da744@mail.gmail.com> References: <594f78210905030841k3bd1582ct375b555a872da744@mail.gmail.com> Message-ID: <20090504181740.GC28030@celeborn> On Sun, May 03, 2009 at 10:41:56AM -0500, aditya siram wrote: > Hi all, > I am currently having a problem with XMonad correctly switching focus from > the Speedbar ( in File mode ) and the editing window. Choosing a file in the > Speedbar loads that file into the editing window but XMonad's focus stays in > the speedbar. Surprisingly I can edit and navigate the file just fine in the > editing window ( meaning all my keypress events are caught by the editing > window ), but XMonad still thinks that the Speedbar is the master window. If > I now switch layouts the Speedbar truly becomes the master window, also the > red border stays with the Speedbar while I am typing in the editing window. > I then have to explicitly move focus ( using Alt-j etc ) to the editing > window. > > In Buffer Mode, selecting a buffer in the Speedbar loads it in the editing > window, but focus and keypress events correctly stay in the Speedbar window. > > > Thanks, > deech Emacs is moving the focus illegally per the ICCCM. From ankaan at gmail.com Mon May 4 14:40:23 2009 From: ankaan at gmail.com (=?UTF-8?Q?Anders_Engstr=C3=B6m?=) Date: Mon May 4 14:26:52 2009 Subject: [xmonad] darcs patch: ThreeColMid - Swap slave window positions In-Reply-To: <20090503234900.GA30256@smuckers> References: <49fdf9a8.09b6660a.1d8f.21cc@mx.google.com> <20090503234900.GA30256@smuckers> Message-ID: <79b09ba10905041140n1a9749adgfc60f3e216f5f226@mail.gmail.com> You misunderstood the changes I made a bit. All I did was to swap the positions of the slave panes. Previously they were placed like this | slave1 | master | slave2 |. Which result in the following order with three windows present and using W.focusDown: | 2 | 1 | 3 |. I changed it so it becomes | slave 2 | master | slave1 |, or with W.focusDown | 3 | 1 | 2 |, since we wrap around at the end of the list we will be moving from the top and moving to the bottom of each column and then from the left to the right continously. This instead of moving from the top to the bottom and then from the right to the left. After sleeping on this I came up with the idea that a vertical and a horizontal reflect will result in a very similar result, except that the master window will be at the bottom (and a pixel here and there in width). But this feels a bit tedious, I would consider this the new behaviour the expected behaviour. If the proposed changed would be accepted, the old behaviour could be emulated in the same way and with the same drawback. /Anders On Mon, May 4, 2009 at 01:49, Adam Vogt wrote: > * On Sunday, May 03 2009, Anders Engstrom wrote: > >>Sun May ?3 21:50:26 CEST 2009 ?Anders Engstrom >> ?* ThreeColMid - Swap slave window positions >> ?This patch will swap the positions of the two slave windows and this >> ?will result in a more intuitive window order. When using focusDown >> ?beginning in the master pane we will move in the following graphical >> ?order 2->3->1->2->3 instead of 2->1->3->2->1. This is backwards from >> ?what is expected. > > So instead of going down the two columns alternating between the two, > you've changed it to go down a single column at a time? > >> ?The small drawback is that increasing from 2 to 3 windows (and therefore >> ?also columns) will behave in a less intuitive way. The window in the >> ?right column will jump to the left of the screen. > > Perhaps there is a way to avoid this issue and keep your changes to the > focus behavior: I found ThreeColMid to be quite predictable when I tried it > a couple weeks ago. > > Perhaps you could achieve focusing down a single column with a binding to > something like: > >> windows $ W.focusDown . W.focusDown > > Of course with a special case for < 3 windows. Perhaps something like > PerLayoutKeys would be required for making such configurations more sane. > >> ?I think that it is a good idea to make this change since I rely a lot on >> ?the window order but people using WindowNavigation may be of a different >> ?opinion. > > WindowNavigation users are unaffected by window order, so the only issue > would be your changing of the behavior when windows are added. > >> ?An alternative is to add an option to select in what way to behave, but >> ?that could be overkill... I leave it up to discussion and devs to >> ?decide. > > I agree about that being overkill. > > Adam > From ankaan at gmail.com Mon May 4 14:46:40 2009 From: ankaan at gmail.com (=?UTF-8?Q?Anders_Engstr=C3=B6m?=) Date: Mon May 4 14:32:11 2009 Subject: [xmonad] darcs patch: ThreeColMid - Swap slave window positions In-Reply-To: <79b09ba10905041140n1a9749adgfc60f3e216f5f226@mail.gmail.com> References: <49fdf9a8.09b6660a.1d8f.21cc@mx.google.com> <20090503234900.GA30256@smuckers> <79b09ba10905041140n1a9749adgfc60f3e216f5f226@mail.gmail.com> Message-ID: <79b09ba10905041146p1c2c74dfhfe9036678b14fcc1@mail.gmail.com> Oh. Sorry, that last thing was wrong. A verticalReflect will not be required, only a horizontal. So the only drawback is the small discrepency of the width, which is neglectable. 2009/5/4 Anders Engstr?m : > You misunderstood the changes I made a bit. All I did was to swap the > positions of the slave panes. Previously they were placed like this | > slave1 | master | slave2 |. Which result in the following order with > three windows present and using W.focusDown: | 2 | 1 | 3 |. I changed > it so it becomes | slave 2 | master | slave1 |, or with W.focusDown | > 3 | 1 | 2 |, since we wrap around at the end of the list we will be > moving from the top and moving to the bottom of each column and then > from the left to the right continously. This instead of moving from > the top to the bottom and then from the right to the left. > > After sleeping on this I came up with the idea that a vertical and a > horizontal reflect will result in a very similar result, except that > the master window will be at the bottom (and a pixel here and there in > width). But this feels a bit tedious, I would consider this the new > behaviour the expected behaviour. If the proposed changed would be > accepted, the old behaviour could be emulated in the same way and with > the same drawback. > > /Anders > > On Mon, May 4, 2009 at 01:49, Adam Vogt wrote: >> * On Sunday, May 03 2009, Anders Engstrom wrote: >> >>>Sun May ?3 21:50:26 CEST 2009 ?Anders Engstrom >>> ?* ThreeColMid - Swap slave window positions >>> ?This patch will swap the positions of the two slave windows and this >>> ?will result in a more intuitive window order. When using focusDown >>> ?beginning in the master pane we will move in the following graphical >>> ?order 2->3->1->2->3 instead of 2->1->3->2->1. This is backwards from >>> ?what is expected. >> >> So instead of going down the two columns alternating between the two, >> you've changed it to go down a single column at a time? >> >>> ?The small drawback is that increasing from 2 to 3 windows (and therefore >>> ?also columns) will behave in a less intuitive way. The window in the >>> ?right column will jump to the left of the screen. >> >> Perhaps there is a way to avoid this issue and keep your changes to the >> focus behavior: I found ThreeColMid to be quite predictable when I tried it >> a couple weeks ago. >> >> Perhaps you could achieve focusing down a single column with a binding to >> something like: >> >>> windows $ W.focusDown . W.focusDown >> >> Of course with a special case for < 3 windows. Perhaps something like >> PerLayoutKeys would be required for making such configurations more sane. >> >>> ?I think that it is a good idea to make this change since I rely a lot on >>> ?the window order but people using WindowNavigation may be of a different >>> ?opinion. >> >> WindowNavigation users are unaffected by window order, so the only issue >> would be your changing of the behavior when windows are added. >> >>> ?An alternative is to add an option to select in what way to behave, but >>> ?that could be overkill... I leave it up to discussion and devs to >>> ?decide. >> >> I agree about that being overkill. >> >> Adam >> > From codesite-noreply at google.com Mon May 4 17:10:25 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Mon May 4 17:00:09 2009 Subject: [xmonad] Issue 291 in xmonad: Layout.Tabbed has drawing problems when used with Layout.MultiToggle Message-ID: <0016361e89605439b204691c9726@google.com> Status: New Owner: ---- New issue 291 by lsoksane: Layout.Tabbed has drawing problems when used with Layout.MultiToggle http://code.google.com/p/xmonad/issues/detail?id=291 What steps will reproduce the problem? 1. Toggle Tabbed layout on with MultiToggle 2. Open a new window or close a window What is the expected output? What do you see instead? Names of tabs are not drawn correctly i.e. some of the names are missing. What version of the product are you using? On what operating system? xmonad-darcs-20090501-1-x86_64 xmonad-contrib-darcs-20090503-1-x86_64 (compiled with use_xft) on Arch Linux Are you using an xmonad.hs? Please attach it and the output of "xmonad --recompile". xmonad --recompile doesn't output anything. Attachments: xmonad.hs 4.1 KB -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From nicolas.pouillard at gmail.com Tue May 5 03:28:37 2009 From: nicolas.pouillard at gmail.com (Nicolas Pouillard) Date: Tue May 5 03:15:13 2009 Subject: [xmonad] EZConfig changes for Util.NamedActions In-Reply-To: <20090504181442.GB28030@celeborn> References: <20090504025409.GA8071@smuckers> <20090504181442.GB28030@celeborn> Message-ID: <1241508415-sup-4117@ausone.inria.fr> Excerpts from Spencer Janssen's message of Mon May 04 20:14:42 +0200 2009: > On Sun, May 03, 2009 at 10:54:09PM -0400, vogt.adam@gmail.com wrote: > > Hello > > > > To allow Util.NamedActions to be used with EZConfig, I had to generalize > > some type signatures in EZConfig and add an additional function. > > > > What do you think of these changes, should I go ahead and apply them? > > > > Thanks, > > Adam > > No particular comments about this patch. However, I think the approach in > > http://code.haskell.org/~sjanssen/xmonad-newconfig Is this branch already usable? Does XMC have to be updated? What are the missing points that prevents from merging this to core? -- Nicolas Pouillard From quentin.moser at unifr.ch Tue May 5 06:02:04 2009 From: quentin.moser at unifr.ch (Quentin Moser) Date: Tue May 5 05:46:25 2009 Subject: [xmonad] darcs patch: floating layout with placement Message-ID: <20090505120204.00cd21d5@unifr.ch> Hi Attached is a patch that introduces an XMonad.Layout.PlacedFloat module, similar to SimplestFloat but with windows automatically placed using a configurable policy. The patch also refactors X.H.Place and moves the placement algorithms to a new X.A.Place module, but all of this should be pretty much backwards-compatible except for the disappearance of purePlaceWindow. Cheers, Quentin -------------- next part -------------- A non-text attachment was scrubbed... Name: placedFloat.dpatch Type: application/octet-stream Size: 74913 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090505/03699c38/placedFloat-0001.obj From codesite-noreply at google.com Tue May 5 10:26:23 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Tue May 5 10:11:48 2009 Subject: [xmonad] Issue 290 in xmonad: Windows are no longer visible but are still there Message-ID: <001636163cc739929f04692b10dc@google.com> Updates: Labels: Component-Contrib Comment #5 on issue 290 by nomeata: Windows are no longer visible but are still there http://code.google.com/p/xmonad/issues/detail?id=290 Zack writes at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526106: I've been working with no FadeInactive extension for a week now, and the problem disappeared. So it is most likely related to that extension, and I'm therefore reassigning the bug to the xmonad-contrib package. Looks like FadeInactive sets in some moment a complete fading or something, and then forgets about restoring it to a sane value which makes the window readable. It's too bad, because FadeInactive is very useful to recognize focused window. Actually, the problem might also be related to the xcompmgr compositing manager which I'm using. But I've no idea of which other manager I could try out to verify that or not. Suggestions are welcome on that point. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From konstantin.sobolev at gmail.com Tue May 5 14:55:53 2009 From: konstantin.sobolev at gmail.com (Konstantin Sobolev) Date: Tue May 5 14:41:33 2009 Subject: [xmonad] darcs patch: NS_Placement (and 1 more) In-Reply-To: <94608ad80904290743j7da18b70j1761ba84959e5daf@mail.gmail.com> References: <20090428200345.72DB81103D6@kos.localdomain> <20090429003457.GA8480@smuckers> <1240977246-sup-7606@chigamba> <94608ad80904290743j7da18b70j1761ba84959e5daf@mail.gmail.com> Message-ID: <94608ad80905051155s6a6fdab6i2448990a02346488@mail.gmail.com> On Wed, Apr 29, 2009 at 10:43 AM, Konstantin Sobolev wrote: > On Tue, Apr 28, 2009 at 11:58 PM, Wirt Wolff wrote: >> I'll shut up after this, but why have two modules, why not just have >> Util.Scratchpad with all this stuff in it? shepheb, anyone else object >> to that, aside from that it would mean deleting an existing module >> (NamedScratchpad)? It's so new that doesn't seem like a big deal to me. >> Just seems to me that they are so much the same that that having >> everything in mone module would be best. > > OK, I was trying to avoid NamedScratchpad clashing with the Scratchpad > and to keep Scratchpad API. Many people use it I think, I wouldn't > like to break their configs. > So what should I do now, keep them as 2 modules but make all > NamedScrathpad functions shorter, merge them into one Scratchpad > module and keep NS functions prefixed with 'named' ?or something else? > I don't have my own preference. So, any suggestions on this one? Keep 2 modules and make NS names shorter, squeeze them into one, or may be something else? From stac at solidgoldbomb.org Wed May 6 00:19:28 2009 From: stac at solidgoldbomb.org (Stacey Sheldon) Date: Wed May 6 00:04:57 2009 Subject: [xmonad] submapDefault patch - default action for submaps In-Reply-To: <79b09ba10904261036n504bd858g3ee009eda8789727@mail.gmail.com> References: <49F48065.9@solidgoldbomb.org> <79b09ba10904261036n504bd858g3ee009eda8789727@mail.gmail.com> Message-ID: <4A010FD0.8040509@solidgoldbomb.org> I just noticed that my first reply didn't make it back to the list since I wasn't subscribed. I can confirm that the submapDefaultFixLeak patch patch fixes the issue for me. I no longer see keypresses leaking from the submap. In case anyone is interested, here are my keybindings for moving/resizing floating windows. Just invoke floatsub from some initial keybinding and then use arrows or vi or emacs bindings to move/resize the windows. Hit enter or escape to break out of the submode. floatsub = submapDefault floatsub floatsublist floatsublist = M.fromList $ [ -- Window floating stuff ((0, xK_Return), return ()) , ((0, xK_Escape), return ()) , ((0, xK_t ), withFocused $ windows . W.sink) -- arrow bindings , ((0, xK_Left ), moveFloatLeft) , ((0, xK_Right ), moveFloatRight) , ((0, xK_Up ), moveFloatUp) , ((0, xK_Down ), moveFloatDown) , ((shiftMask, xK_Left ), shrinkFloatRight) , ((shiftMask, xK_Right ), expandFloatRight) , ((shiftMask, xK_Up ), shrinkFloatBottom) , ((shiftMask, xK_Down ), expandFloatBottom) -- vi bindings , ((0, xK_h ), moveFloatLeft) , ((0, xK_l ), moveFloatRight) , ((0, xK_k ), moveFloatUp) , ((0, xK_j ), moveFloatDown) , ((shiftMask, xK_h ), shrinkFloatRight) , ((shiftMask, xK_l ), expandFloatRight) , ((shiftMask, xK_k ), shrinkFloatBottom) , ((shiftMask, xK_j ), expandFloatBottom) -- emacs bindings , ((0, xK_b ), moveFloatLeft) , ((0, xK_f ), moveFloatRight) , ((0, xK_p ), moveFloatUp) , ((0, xK_n ), moveFloatDown) , ((shiftMask, xK_b ), shrinkFloatRight) , ((shiftMask, xK_f ), expandFloatRight) , ((shiftMask, xK_p ), shrinkFloatBottom) , ((shiftMask, xK_n ), expandFloatBottom) ] where moveFloatLeft = (withFocused (keysMoveWindow (-20, 0))) >> floatsub moveFloatRight = (withFocused (keysMoveWindow ( 20, 0))) >> floatsub moveFloatUp = (withFocused (keysMoveWindow ( 0,-20))) >> floatsub moveFloatDown = (withFocused (keysMoveWindow ( 0, 20))) >> floatsub shrinkFloatRight = (withFocused (keysResizeWindow (-10, 0) (0,0))) >> floatsub expandFloatRight = (withFocused (keysResizeWindow ( 10, 0) (0,0))) >> floatsub shrinkFloatBottom = (withFocused (keysResizeWindow ( 0,-10) (0,0))) >> floatsub expandFloatBottom = (withFocused (keysResizeWindow ( 0, 30) (0,0))) >> floatsub Note that this only works properly with the submapDefaultFixLeak patch from Anders: http://www.haskell.org/pipermail/xmonad/2009-April/007821.html Stacey. From codesite-noreply at google.com Wed May 6 13:28:34 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 6 13:13:55 2009 Subject: [xmonad] Issue 292 in xmonad: Border pixels not rendered on screens rotated with xrandr Message-ID: <0016364ed80293b643046941b9ae@google.com> Status: New Owner: ---- New issue 292 by david.jc.anderson: Border pixels not rendered on screens rotated with xrandr http://code.google.com/p/xmonad/issues/detail?id=292 What steps will reproduce the problem? 1. Start xmonad with a config that sets a border around the active window 2. Create a couple of windows, note the border being rendered 3. Run `xrandr -o left` to rotate the display to portrait mode After screen rotation, the pixels usually used to render the border are no longer rendered. The focused window does not have a highlighted border around it. Space for the border is still reserved (tested by grabbing a 50 pixel border), but apparently not rendered into by xmonad. The contents of the border pixels varies from black, to partially drawn highlight color around a random window (not always the focused one), to framebuffer noise. Executing `xrandr -o normal` returns to the previous configuration, with the border correctly rendered. What version of the product are you using? On what operating system? Ubuntu 9.04 xmonad 0.8.1 X.org 7.4 My xmonad.hs is attached. `xmonad --recompile` outputs nothing. Random musings: it has been suggested on #xmonad that this could be a video driver bug. Not knowing much about the ins and outs of the interactions between xmonad, X11 and the video driver, I cannot comment on this from a technical standpoint, but it seems strange to me that a video driver bug would cause exactly these border regions, and only them, to be borked, and that every other WM I've used on this setup somehow manages to avoid this problem. Not very scientific, I'm sure WM gurus will have a more useful opinion. I remain at your disposal if extra data or testing is required. Attachments: xmonad.hs 1.1 KB -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From codesite-noreply at google.com Wed May 6 19:15:18 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 6 19:00:38 2009 Subject: [xmonad] Issue 293 in xmonad: ~/.xmonad/ not in include path Message-ID: <0016e641db12976e2004694691c8@google.com> Status: New Owner: ---- New issue 293 by kernseife: ~/.xmonad/ not in include path http://code.google.com/p/xmonad/issues/detail?id=293 Currently, xmonad explicitly nukes the include path when it compiles itself. Having ~/.xmonad/ in it would make source management less messy. Potential naming issues ("import XMonad" being recursively resolved to xmodad.hs instead to the library on case-insensitive file systems) can be worked around with by renaming xmonad.hs -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From codesite-noreply at google.com Wed May 6 19:20:45 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 6 19:06:06 2009 Subject: [xmonad] Issue 294 in xmonad: fadeInactiveLogHook behaviour messed up on xinerama Message-ID: <0016368e1b111d5e98046946a5d5@google.com> Status: New Owner: ---- New issue 294 by kernseife: fadeInactiveLogHook behaviour messed up on xinerama http://code.google.com/p/xmonad/issues/detail?id=294 0.8 fadeInactiveLogHook keeps one window per screen opaque, not only the focused window of the active screen. Related: There are some apps that some user might not want to have faded, like mplayer. Suggestion: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=4670 ...or, rather, fadeInactiveLogHook :: Ratio -> [Query Bool] -> X () -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From codesite-noreply at google.com Wed May 6 20:14:04 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 6 19:59:25 2009 Subject: [xmonad] Issue 293 in xmonad: ~/.xmonad/ not in include path Message-ID: <00163630ee1dc66f27046947636e@google.com> Updates: Status: Duplicate Mergedinto: 230 Comment #1 on issue 293 by SpencerJanssen: ~/.xmonad/ not in include path http://code.google.com/p/xmonad/issues/detail?id=293 (No comment was entered for this change.) -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From codesite-noreply at google.com Wed May 6 20:18:05 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 6 20:03:26 2009 Subject: [xmonad] Issue 230 in xmonad: Modular config support Message-ID: <0016e642d6d42a883c04694772ef@google.com> Comment #14 on issue 230 by SpencerJanssen: Modular config support http://code.google.com/p/xmonad/issues/detail?id=230 Issue 293 has been merged into this issue. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From codesite-noreply at google.com Wed May 6 20:22:14 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 6 20:07:34 2009 Subject: [xmonad] Issue 290 in xmonad: Windows are no longer visible but are still there Message-ID: <0016e644de5ef9bcd4046947807c@google.com> Updates: Status: Invalid Comment #6 on issue 290 by SpencerJanssen: Windows are no longer visible but are still there http://code.google.com/p/xmonad/issues/detail?id=290 Again, most likely an xcompmgr issue. If you want to confirm that there is an issue with FadeInactive, check whether the output of xprop | grep _NET_WM_WINDOW_OPACITY on the invisible windows is sane. Marking as invalid until then. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From codesite-noreply at google.com Wed May 6 20:26:23 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 6 20:11:44 2009 Subject: [xmonad] Issue 292 in xmonad: Border pixels not rendered on screens rotated with xrandr Message-ID: <0016361e7d94cf13ea0469478fa0@google.com> Updates: Status: Invalid Comment #1 on issue 292 by SpencerJanssen: Border pixels not rendered on screens rotated with xrandr http://code.google.com/p/xmonad/issues/detail?id=292 It's an X or video driver bug, those are the components responsible for actually drawing the borders. Window borders aren't an often used feature, so it is not uncommon for problems in border support to go unnoticed. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From loupgaroublond at gmail.com Wed May 6 21:03:02 2009 From: loupgaroublond at gmail.com (loupgaroublond@gmail.com) Date: Wed May 6 20:47:44 2009 Subject: [xmonad] ANN: XMonad in Fedora 11 Message-ID: Hey All, I'm happy to announce the little fib that is the subject of this message. My XMonad packages have been accepted by the Fedora review process. It is now possible for us to get the package in Fedora proper. Currently, there is a working build for rawhide, the unstable development branch of Fedora. There will be a build for the Fedora 11 release shortly. The only caveat is that we missed the deadline for the Fedora 11 Release, and therefore XMonad will not be in the "Everything" package set until Fedora 12. It will be available by default in the updates repository, any user can install it simply with yum. The F12 build can be found here. http://koji.fedoraproject.org/koji/buildinfo?buildID=101104 (Until these packages hit repositories, the recommended way to install XMonad on Fedora is to use cabal-install.) -Yaakov -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 270 bytes Desc: OpenPGP digital signature Url : http://www.haskell.org/pipermail/xmonad/attachments/20090506/b427d5ad/signature.bin From briqueabraque at yahoo.com Thu May 7 16:29:36 2009 From: briqueabraque at yahoo.com (=?ISO-8859-1?Q?Maur=EDcio?=) Date: Thu May 7 16:15:15 2009 Subject: [xmonad] Problem with manage hook Message-ID: Hi, I use this manageHook: mh = ( ask >>= doF . sink ) It works well except for a single application ('netgen', which uses a widget set that I can't identify). When it opens a dialog window, everything starts to flash (like if black and white lights were alternating fast). My wild guess is that when my manageHook changes a widget parameter (size?) the widget reacts changing it back, and I get an infinite loop. Do you think I could improve my manageHook to solve that? Thanks for your comments, Maur?cio From vogt.adam at gmail.com Thu May 7 17:39:35 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Thu May 7 17:23:52 2009 Subject: [xmonad] Problem with manage hook In-Reply-To: References: Message-ID: <20090507213935.GA7460@smuckers> * On Thursday, May 07 2009, Maur?cio wrote: >Hi, > >I use this manageHook: > > mh = ( ask >>= doF . sink ) > ... >Do you think I could improve my manageHook >to solve that? There are a few options: 1. don't sink such windows Find a X11 property to identify it with xprop, then only sink such windows that don't match that predicate: > mh = fmap not (className =? "netgen") --> (ask >>= doF . sink) 2. use a layout that respects hints If the window presents hints as to its desired size, using a hinted layout (or LayoutHints) might prevent such behavior with the original hook too. 3. fix the app That application should accept alternate window sizes (ICCM? violation), without behaving so strangely. Adam From ankaan at gmail.com Sat May 9 13:52:21 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sat May 9 13:40:13 2009 Subject: [xmonad] darcs patch: X.L.LayoutBuilder custom layouts Message-ID: <4a05c2d5.0437560a.631a.ffffa59c@mx.google.com> Sat May 9 19:46:27 CEST 2009 Anders Engstrom * X.L.LayoutBuilder custom layouts A layout combinator that sends a specified number of windows to one rectangle and the rest to another. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 50640 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090509/e0e35cf5/attachment-0001.bin From dons at galois.com Sat May 9 14:48:37 2009 From: dons at galois.com (Don Stewart) Date: Sat May 9 14:35:38 2009 Subject: [xmonad] darcs patch: X.L.LayoutBuilder custom layouts In-Reply-To: <4a05c2d5.0437560a.631a.ffffa59c@mx.google.com> References: <4a05c2d5.0437560a.631a.ffffa59c@mx.google.com> Message-ID: <20090509184837.GD3399@whirlpool.galois.com> Applied, thanks! ankaan: > Sat May 9 19:46:27 CEST 2009 Anders Engstrom > * X.L.LayoutBuilder custom layouts > > A layout combinator that sends a specified number of windows to one rectangle and the rest to another. Content-Description: A darcs patch for your repository! > > New patches: > > [X.L.LayoutBuilder custom layouts > Anders Engstrom **20090509174627 > Ignore-this: 65c251663f02a083c5838ae1d1bd112a > > A layout combinator that sends a specified number of windows to one rectangle and the rest to another. > ] { > addfile ./XMonad/Layout/LayoutBuilder.hs > hunk ./XMonad/Layout/LayoutBuilder.hs 1 > +{-# LANGUAGE FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, UndecidableInstances, PatternGuards, DeriveDataTypeable #-} > +----------------------------------------------------------------------------- > +-- | > +-- Module : XMonad.Layout.LayoutBuilder > +-- Copyright : (c) 2009 Anders Engstrom > +-- License : BSD3-style (see LICENSE) > +-- > +-- Maintainer : none > +-- Stability : unstable > +-- Portability : unportable > +-- > +-- A layout combinator that sends a specified number of windows to one rectangle > +-- and the rest to another. > +-- > +----------------------------------------------------------------------------- > + > +module XMonad.Layout.LayoutBuilder ( > + -- * Usage > + -- $usage > + layoutN, > + layoutR, > + layoutAll, > + IncLayoutN (..), > + SubMeasure (..), > + SubBox (..), > + absBox, > + relBox > +) where > + > +import XMonad > +import XMonad.Layout > +import qualified XMonad.StackSet as W > +import Graphics.X11.Xlib > +import Data.Maybe (isJust) > +import Control.Monad > + > +-- $usage > +-- You can use this module with the following in your @~\/.xmonad\/xmonad.hs@: > +-- > +-- > import XMonad.Layout.LayoutBuilder > +-- > +-- Then edit your @layoutHook@ by adding something like: > +-- > +-- > myLayouts = ( (layoutN 1 (relBox 0 0 0.5 1) (Just $ relBox 0 0 1 1) $ simpleTabbed) > +-- > $ (layoutAll (relBox 0.5 0 1 1) $ simpleTabbed) > +-- > ) ||| > +-- > ( (layoutN 1 (relBox (1/3) 0 (1/2) 1) (Just $ relBox 0 0 1 1) $ Tall 0 0 0) > +-- > $ (layoutR 0.1 0.5 (relBox (2/3) 0 1 1) Nothing $ Tall 0 0 0) > +-- > $ (layoutAll (relBox 0 0 (1/3) 1) $ Tall 0 0 0) > +-- > ) ||| > +-- > ( (layoutN 1 (absBox (-512-200) 0 512 0) (Just $ relBox 0 0 1 1) $ simpleTabbed) > +-- > $ (layoutN 1 (absBox (-200) 0 0 0) Nothing $ simpleTabbed) > +-- > $ (layoutAll (absBox 0 0 (-512-200) 0) $ simpleTabbed) > +-- > ) ||| Full ||| etc... > +-- > main = xmonad defaultConfig { layoutHook = myLayouts } > +-- > +-- This will produce a layout similar to DragPane, but with the possibility to have multiple windows in the left half > +-- and tabs that show the available windows. It will also produce a layout similar to ThreeColMid and a special layout > +-- created for use with a 80 columns wide Emacs window, its sidebar and a tabbed area for all other windows. > +-- > +-- This module can be used to create many different custom layouts, but there are limitations. The primary limitation > +-- can be observed in the second and third example when there are only two columns with windows in them. The leftmost > +-- area is left blank. These blank areas can be avoided by placing the rectangles appropriately. > +-- > +-- These examples require "XMonad.Layout.Tabbed". > +-- > +-- For more detailed instructions on editing the layoutHook see: > +-- > +-- "XMonad.Doc.Extending#Editing_the_layout_hook" > +-- > +-- You may wish to add the following keybindings: > +-- > +-- > , ((modMask x .|. shiftMask, xK_h ), sendMessage $ IncLayoutN (-1)) > +-- > , ((modMask x .|. shiftMask, xK_l ), sendMessage $ IncLayoutN 1) > +-- > +-- For detailed instruction on editing the key binding see: > +-- > +-- "XMonad.Doc.Extending#Editing_key_bindings". > + > +-- | Use one layout in the specified area for a number of windows and possibly let another layout handle the rest. > +data LayoutN l1 l2 a = > + LayoutN (Maybe a) (Maybe a) (Either Int (Rational,Rational)) SubBox (Maybe SubBox) (l1 a) (Maybe (l2 a)) > + deriving (Show,Read) > + > +-- | Use the specified layout in the described area for N windows and send the rest of the windows to the next layout in the chain. > +-- It is possible to supply an alternative area that will then be used instead, if there are no windows to send to the next layout. > +layoutN :: (Read a, Eq a, LayoutClass l1 a, LayoutClass l2 a, LayoutClass l3 a) => > + Int -> SubBox -> Maybe SubBox -> l1 a -> LayoutN l2 l3 a -> LayoutN l1 (LayoutN l2 l3) a > +layoutN num box mbox sub next = LayoutN Nothing Nothing (Left num) box mbox sub (Just next) > + > +-- | As layoutN, but the number of windows is given relative to the total number of windows remaining to be handled. The first > +-- argument is how much to change the ratio when using IncLayoutN, and the second is the initial ratio. > +layoutR :: (Read a, Eq a, LayoutClass l1 a, LayoutClass l2 a, LayoutClass l3 a) => > + Rational -> Rational -> SubBox -> Maybe SubBox -> l1 a -> LayoutN l2 l3 a -> LayoutN l1 (LayoutN l2 l3) a > +layoutR numdiff num box mbox sub next = LayoutN Nothing Nothing (Right (numdiff,num)) box mbox sub (Just next) > + > +-- | Use the specified layout in the described area for all remaining windows. > +layoutAll :: (Read a, Eq a, LayoutClass l1 a) => > + SubBox -> l1 a -> LayoutN l1 Full a > +layoutAll box sub = LayoutN Nothing Nothing (Right (0,1)) box Nothing sub Nothing > + > +-- | Change the number of windows handled by the focused layout. > +data IncLayoutN = IncLayoutN Int deriving Typeable > +instance Message IncLayoutN > + > +-- | The absolute or relative measures used to describe the area a layout should be placed in. For negative absolute values > +-- the total remaining space will be added. For sizes, the remaining space will also be added for zeroes. Relative values > +-- are applied on the remaining space after the top-left corner of the box have been removed. > +data SubMeasure = Abs Int | Rel Rational deriving (Show,Read) > + > +-- | A box to place a layout in. The stored values are xpos, ypos, width and height. > +data SubBox = SubBox SubMeasure SubMeasure SubMeasure SubMeasure deriving (Show,Read) > + > +-- | Create a box with only absolute measurements. > +absBox :: Int -> Int -> Int -> Int -> SubBox > +absBox x y w h = SubBox (Abs x) (Abs y) (Abs w) (Abs h) > + > +-- | Create a box with only relative measurements. > +relBox :: Rational -> Rational -> Rational -> Rational -> SubBox > +relBox x y w h = SubBox (Rel x) (Rel y) (Rel w) (Rel h) > + > +instance (LayoutClass l1 a, LayoutClass l2 a, Read a, Show a, Eq a, Typeable a) => > + LayoutClass (LayoutN l1 l2) a where > + > + -- | Update window locations. > + runLayout (W.Workspace _ (LayoutN subf nextf num box mbox sub next) s) rect > + = do let (subs,nexts,subf',nextf') = splitStack s num subf nextf > + selBox = if isJust nextf' > + then box > + else maybe box id mbox > + > + (sublist,sub') <- handle sub subs $ calcArea selBox rect > + > + (nextlist,next') <- case next of Nothing -> return ([],Nothing) > + Just n -> do (res,l) <- handle n nexts rect > + return (res,Just l) > + > + return (sublist++nextlist, Just $ LayoutN subf' nextf' num box mbox sub' next' ) > + where > + handle l s' r = do (res,ml) <- runLayout (W.Workspace "" l s') r > + l' <- return $ maybe l id ml > + return (res,l') > + > + -- | Propagate messages. > + handleMessage l m > + | Just (IncLayoutN _) <- fromMessage m = windowNum l m > + | Just (IncMasterN _) <- fromMessage m = sendFocus l m > + | Just (Shrink) <- fromMessage m = sendFocus l m > + | Just (Expand) <- fromMessage m = sendFocus l m > + | otherwise = sendBoth l m > + > + -- | Descriptive name for layout. > + description (LayoutN _ _ _ _ _ sub Nothing) = "layoutAll "++ description sub > + description (LayoutN _ _ (Left _) _ _ sub (Just next)) = "layoutN "++ description sub ++" "++ description next > + description (LayoutN _ _ (Right _) _ _ sub (Just next)) = "layoutR "++ description sub ++" "++ description next > + > + > +windowNum :: (LayoutClass l1 a, LayoutClass l2 a, Read a, Show a, Eq a, Typeable a) => LayoutN l1 l2 a -> SomeMessage -> X (Maybe (LayoutN l1 l2 a)) > +windowNum l@(LayoutN subf nextf num box mbox subl nextl) m | (Just (IncLayoutN n)) <- fromMessage m = > + do foc <- isFocus subf > + if foc then do let newnum = case num of > + (Left oldnum) -> Left $ max 1 $ oldnum + n > + (Right (diff,oldnum)) -> Right (diff, min 1 $ max 0 $ oldnum + (fromIntegral n)*diff) > + return $ Just $ LayoutN subf nextf newnum box mbox subl nextl > + else sendNext l m > +windowNum l m = sendNext l m > + > +sendSub :: (LayoutClass l1 a, LayoutClass l2 a, Read a, Show a, Eq a, Typeable a) => LayoutN l1 l2 a -> SomeMessage -> X (Maybe (LayoutN l1 l2 a)) > +sendSub (LayoutN subf nextf num box mbox sub next) m = > + do sub' <- handleMessage sub m > + return $ if isJust sub' > + then Just $ LayoutN subf nextf num box mbox (maybe sub id sub') next > + else Nothing > + > +sendBoth :: (LayoutClass l1 a, LayoutClass l2 a, Read a, Show a, Eq a, Typeable a) => LayoutN l1 l2 a -> SomeMessage -> X (Maybe (LayoutN l1 l2 a)) > +sendBoth l@(LayoutN _ _ _ _ _ _ Nothing) m = sendSub l m > +sendBoth (LayoutN subf nextf num box mbox sub (Just next)) m = > + do sub' <- handleMessage sub m > + next' <- handleMessage next m > + return $ if isJust sub' || isJust next' > + then Just $ LayoutN subf nextf num box mbox (maybe sub id sub') (Just $ maybe next id next') > + else Nothing > + > +sendNext :: (LayoutClass l1 a, LayoutClass l2 a, Read a, Show a, Eq a, Typeable a) => LayoutN l1 l2 a -> SomeMessage -> X (Maybe (LayoutN l1 l2 a)) > +sendNext (LayoutN _ _ _ _ _ _ Nothing) _ = return Nothing > +sendNext (LayoutN subf nextf num box mbox sub (Just next)) m = > + do next' <- handleMessage next m > + return $ if isJust next' > + then Just $ LayoutN subf nextf num box mbox sub next' > + else Nothing > + > +sendFocus :: (LayoutClass l1 a, LayoutClass l2 a, Read a, Show a, Eq a, Typeable a) => LayoutN l1 l2 a -> SomeMessage -> X (Maybe (LayoutN l1 l2 a)) > +sendFocus l@(LayoutN subf _ _ _ _ _ _) m = do foc <- isFocus subf > + if foc then sendSub l m > + else sendNext l m > + > +isFocus :: (Show a) => Maybe a -> X Bool > +isFocus Nothing = return False > +isFocus (Just w) = do ms <- (W.stack . W.workspace . W.current) `fmap` gets windowset > + return $ maybe False (\s -> show w == (show $ W.focus s)) ms > + > + > +calcNum :: Int -> Either Int (Rational,Rational) -> Int > +calcNum tot num = max 1 $ case num of Left i -> i > + Right (_,r) -> ceiling $ r * fromIntegral tot > + > +splitStack :: Eq a => Maybe (W.Stack a) -> Either Int (Rational,Rational) -> Maybe a -> Maybe a -> (Maybe (W.Stack a),Maybe (W.Stack a),Maybe a,Maybe a) > +splitStack Nothing _ _ _ = (Nothing,Nothing,Nothing,Nothing) > +splitStack (Just s) num subf nextf = ( differentiate' subf' subl > + , differentiate' nextf' nextl > + , subf' > + , nextf' > + ) > + where > + ws = W.integrate s > + n = calcNum (length ws) num > + subl = take n ws > + nextl = drop n ws > + subf' = foc subl subf > + nextf' = foc nextl nextf > + foc [] _ = Nothing > + foc l f = if W.focus s `elem` l > + then Just $ W.focus s > + else if maybe False (`elem` l) f > + then f > + else Just $ head l > + > +calcArea :: SubBox -> Rectangle -> Rectangle > +calcArea (SubBox xpos ypos width height) rect = Rectangle (rect_x rect + fromIntegral xpos') (rect_y rect + fromIntegral ypos') width' height' > + where > + xpos' = calc False xpos $ rect_width rect > + ypos' = calc False ypos $ rect_height rect > + width' = calc True width $ rect_width rect - xpos' > + height' = calc True height $ rect_height rect - ypos' > + > + calc zneg val tot = fromIntegral $ min (fromIntegral tot) $ max 0 $ > + case val of Rel v -> floor $ v * fromIntegral tot > + Abs v -> if v<0 || (zneg && v==0) > + then (fromIntegral tot)+v > + else v > + > +differentiate' :: Eq q => Maybe q -> [q] -> Maybe (W.Stack q) > +differentiate' _ [] = Nothing > +differentiate' Nothing w = W.differentiate w > +differentiate' (Just f) w > + | f `elem` w = Just $ W.Stack { W.focus = f > + , W.up = reverse $ takeWhile (/=f) w > + , W.down = tail $ dropWhile (/=f) w > + } > + | otherwise = W.differentiate w > hunk ./xmonad-contrib.cabal 150 > XMonad.Layout.HintedTile > XMonad.Layout.IM > XMonad.Layout.IndependentScreens > + XMonad.Layout.LayoutBuilder > XMonad.Layout.LayoutCombinators > XMonad.Layout.LayoutHints > XMonad.Layout.LayoutModifier > } > > Context: > > [Fix typo in L.Mosaic hints > Adam Vogt **20090508202937 > Ignore-this: 5f2163e64d876f4982b0d6baf13e0614 > ] > [U.Loggers: add maildirNew, other loggers, and logger formatting utilities > wirtwolff@gmail.com**20090412041356 > Ignore-this: 73240ab34348ad895c3d66c2a2e8e40f > Rework of the Logger portions of patches originally from seanmce33@gmail.com > to apply without conflicts, plus several formatting utilities for use with > X (Maybe String) aka Loggers. > ] > [ThreeCol - Update docs to match reality > Anders Engstrom **20090503190755 > Ignore-this: e63f3ee533dd9bcf0f32da2316dde1dd > ] > [Remove some excess whitespace in XMonad.AppLauncher > Adam Vogt **20090503183416 > Ignore-this: b5bfa9625b5b080c20398cf1aa396a08 > ] > [Export ThreeColMid from L.ThreeColumnsMiddle > Adam Vogt **20090425161710 > Ignore-this: f08d23d108ae9aa4ad176fd9dd275409 > > The configs that import it should continue to work with this module, though the > type of the ThreeColMid constructor is now ThreeCol (previously ThreeColMid). > ] > [ThreeColumns support middle column, with more backwards compatiblity > Adam Vogt **20090414061819 > Ignore-this: 5a8991269904986e0e012e955c6d4712 > ] > [nameTail - Remove the first word of a layout description > Anders Engstrom **20090503105950 > Ignore-this: a44c5e38163ed98ffc244cdd206632d1 > ] > [Add H.InsertPosition: add new windows to different positions in a workspace > Adam Vogt **20090503020303 > Ignore-this: 7e7d5fa5b42698799cabe600159a75f7 > ] > [Add changeMaster function to L.Mosaic > Adam Vogt **20090501233136 > Ignore-this: eca2a48fb987bb871ad93e6c6bf1a186 > ] > [Optimizer bug does not affect 6.10.2 (issue 226) > Adam Vogt **20090430034823 > Ignore-this: f43f9bf9502ebb19743c3b417ef02347 > ] > [Remove -XScopedTypeVariables requirement with L.SubLayouts > Adam Vogt **20090428222749 > Ignore-this: dbb08e3c1641796603fdaf7b929cdf6d > > This should keep the code -Wall clean on ghc-6.8 in addition to ghc-6.10 > ] > [Add SubLayouts: a layout combinator for nesting layouts. > Adam Vogt **20090423013135 > Ignore-this: abb21b19bfbc567953419b3035b6a295 > ] > [Document and extend BoringWindows to support multiple sources of boring. > Adam Vogt **20090406041301 > Ignore-this: 7375c8912ede6a6a44db4a4b91ffbc33 > > The Replace and Merge messages are added to support layouts sending a list of > windows that should be skipped over. The sources are tagged by a string key, so > it is possible though unlikely for different sources of boring windows to > interfere with eachother. > ] > [Add Apply message to L.WindowNavigation > Adam Vogt **20090303065701 > Ignore-this: e808729ddd2375778a96775568b8b621 > ] > [X.A.TopicSpace: remove the allTopics lists from the configuration. > Nicolas Pouillard **20090423172939 > Ignore-this: 1ac344b32865b38e53b968cc037b0a01 > ] > [added colour themes > perlkat@katspace.org**20090227065315 > These themes are colour themes only; they use the default font settings. > I thought the existing themes were rather dull, so these give more bright > (but tasteful) colours; shades of peacock feathers, shades of autumn. > ] > [Prompt.hs: setSuccess True also on Keypad Enter > sean.escriva@gmail.com**20090409162609 > Ignore-this: cf04f87c546f89bd32a94de3a2a93b22 > ] > [Update focus on mouse moves within inactive windows > Daniel Schoepe **20090407191819 > Ignore-this: 36c05c60420520dab708401d8a80fc85 > > This patch adds functionality to update the focus on moves in unfocused windows, which would make sense if one wanted the focus to follow the mouse. > Currently this only happens when the mouse enters/leaves a window. > This patch should fix issue #205. > ] > [Add promoteWarp event to L.MagicFocus > Adam Vogt **20090322221456 > Ignore-this: 12ad5fc144a35fb605f53b744d8146ef > > This event enables A.UpdatePointer behavior without causing infinite loops in > combination with magicFocus > ] > [Add TowardsCentre option to UpdatePointer > Adam Vogt **20090322215811 > Ignore-this: d543d8f090b03a6c26b3a0427be3a051 > > This option is like Nearest, but it places the pointer a configurable > percentage towards the centre of the window, instead of right at the edge. > ] > [Remove excess whitespace in A.UpdatePointer > Adam Vogt **20090322215553 > Ignore-this: 6fbc63642b946461e0fafcb44016824 > ] > [OneBig_resize.dpatch > portnov84@rambler.ru**20090221142300 > Ignore-this: c02b25bd370ee449aab28005eb4418cf > Add Shrink/Expand messages handling for OneBig layout. > ] > [OneBig_layout.dpatch > portnov84@rambler.ru**20090220172634 > Ignore-this: 9d4f308d13f003aa4236417307a66c15 > Add the OneBig layout, which places one (master) window at top left corner of > screen (width and height of master window are parameters of layout), and other > (slave) windows at bottom and at right of master, trying to give equal space > for each slave window. > ] > [Properly encode destop names before sending them to X server in XMonad.Hooks.EwmhDesktops > Khudyakov Alexey **20090220184137 > Ignore-this: 6a22ea8bdc49f8484e18f04aaeb545ae > ] > [Make utf8-string regular dependency > Khudyakov Alexey **20090220183318 > Ignore-this: b38936b037c1172ec69905fa345f7afe > > The reason for this is that EWMH specification require > utf8 encoded strings. > ] > [Update haddock description for Actions.GridSelect > Daniel Schoepe **20090422172510 > Ignore-this: db5a2c009f7e88647f168ccb225d6219 > ] > [X.H.DynamicLog: provides trim, inverse of pad > sean.escriva@gmail.com**20090409163513 > Ignore-this: 9d92ff592f2bc4f041b85d1314058fdc > ] > [Mouse support for GridSelect > Daniel Schoepe **20090409223302 > Ignore-this: 38669e39c8676233d71f457c0b697500 > > GridSelect now allows selecting an element by a click with the left mouse button. > ] > [Generalize GridSelect to arbitrary elements > Daniel Schoepe **20090409155704 > Ignore-this: 69fbce85232871482adcce06c1a5fe62 > > This patch generalizes Actions.GridSelect to work for arbitrary (String,a)-lists. The changes break configurations that used `gridSelect' directly, which is now named gridSelectWindow. As an example for uses of the GridSelect-UI, I included a function to spawn an application from a list of commands(`spawnSelected'). > ] > [Improve composability of X.H.Place, drop simple(st)Float support > quentin.moser@unifr.ch**20090415184550 > Ignore-this: 8a0fb64aa0db27b242b7ad4bcba1a3ca > ] > [Fixed X.H.Place.position > quentin.moser@unifr.ch**20090409084946 > Ignore-this: 29e3936800194916a859976ff126dbfe > ] > [Module for automatic placement of floating windows > quentin.moser@unifr.ch**20090408080953 > Ignore-this: 1874df995fc02a0b80051db39d91a2e1 > ] > [X.H.FloatNext: new module, float the next spawned window(s) > quentin.moser@unifr.ch**20090415181907 > Ignore-this: 95e1c9daa3ca43bfb058f6a881a97f3a > ] > [ComboP > konstantin.sobolev@gmail.com**20090415014327 > Ignore-this: 73bb986165a7bba466aae789a5448170 > ] > [New module: XMonad.Actions.TopicSpace > Nicolas Pouillard **20090419085239 > Ignore-this: 4c20592ea6ca74f38545c5a1a002ef91 > ] > [NamedScratchpad > konstantin.sobolev@gmail.com**20090419045542 > Ignore-this: b442cb08123d2413e0bb144a73bf3f57 > ] > [X.L.ThreeColumnsMiddle merged into X.L.ThreeColumns with some new features > Anders Engstrom **20090411113636 > Ignore-this: 1d5bb8de98f8ade3780444ed99f5a12f > ] > [More configurability for Layout.NoBorders (typeclass method) > Adam Vogt **20090325050206 > Ignore-this: 91fe0bc6217b910b7348ff497b922e11 > > This method uses a typeclass to pass a function to the layoutmodifier. It is > flexible, but a bit indirect and perhaps the flexibility is not required. > ] > [Add XMonad.Actions.PhysicalScreens > nelhage@mit.edu**20090321001320 > > Add an XMonad.Actions.PhysicalScreens contrib module that allows > addressing of screens by physical ordering, rather than the arbitrary > ScreenID. > ] > [pointWithin has moved to the core > Joachim Breitner **20081008154245] > [UpdatePointer even to empty workspaces > Joachim Breitner **20081007080041 > This makes UpdatePointer more Xinerama-compatible: If the user switches to a > screen with an empty workspace, the pointer is moved to that workspace, which I > think is expected behavoiur. > ] > [More predictable aspect ratio in GridVariants.Grid > Norbert Zeh **20090311013617 > > The old version fairly arbitrarily decided to prefer windows that are too > high over those that are too wide. The new version chooses the number of > columns so that all windows on the screen are as close as possible to the > desired aspect ratio. As a side effect, the layout changes much more > predictably under addition and removal of clients. > ] > [X.L.Master: fix number of windows > Ismael Carnales **20090301051509 > Ignore-this: 2af132159450d4fb72eb52024eda71b5 > ] > [U.EZConfig: add xK_Print to special keys > wirtwolff@gmail.com**20090302230741 > Ignore-this: 9560b7c7c4424edb5cea6eec45e2b41d > Many setups are expecting xK_Print rather than > xK_Sys_Req, so make it available in additionalKeysP. > ] > [More flexibility for H.FadeInactive > Daniel Schoepe **20090309160020 > Ignore-this: ebfa2eadb439763276b372107cdf8d6c > ] > [Prompt.Shell: escape ampersand > Valery V. Vorotyntsev **20090312091314 > Ignore-this: 7200b76af8109bab794157da46cb0030 > > Ampersand (&) is a special character and should be escaped. > ] > [Cleanup X.L.Mosaic, without breaking it > Adam Vogt **20090219022417 > Ignore-this: d49ed55fe8dc2204256dff9252384745 > ] > [X.L.Mosaic: prevent users from causing non-termination with negative elements > Adam Vogt **20090210022727 > Ignore-this: 370a7d6249906f1743c6692758ce5aeb > ] > [better Layout.NoBorders.smartBorders behavior on xinerama > Adam Vogt **20090314170058 > Ignore-this: 36737ce2fa2087c4a16ddf226d3b0f0a > > Now smartBorders shows borders when you have multiple screens with one window > each. In the case where only one window is visible, no borders are drawn. > ] > [H.DynamicLog: revised dzenStrip and xmobarStrip functions > wirtwolff@gmail.com**20090314041517 > Ignore-this: 9897c60b8dfc59344939b7aebc370953 > Reconcile darcswatch patch with pushed version of dzenStrip. > ] > [X.H.DynamicLog: Add dzenStrip to remove formatting, for use in dzenPP's ppUrgent. > Braden Shepherdson **20090314032818 > Ignore-this: fd96a1a4b112d0f71589b639b83ec3e > This function was written by Wirt Wolff. This change should allow UrgencyHook > to work out of the box with dzen and dzenPP, rather than the colours being > overridden so even though UrgencyHook is working, it doesn't change colours. > ] > [X.H.ManageHelpers: export isInProperty > Roman Cheplyaka **20090308201112] > [Combo fix ReleaseResources when no windows are available, new fix > Anders Engstrom **20090224172018 > Ignore-this: b59603df8e4cfc1fb2cf9070cea615b3 > ] > [L.Cross: clarify documentation > wirtwolff@gmail.com**20090222042220 > Ignore-this: 4a5dcf71e63d045f27e2340e1def5cc8 > Amend-record earlier patch to work with byorgey's fix, > this one is just the documentation typo fixes and > clarifications. > ] > [documentation for IndependentScreens > daniel@wagner-home.com**20090221235959] > [eliminate a haddock warning in BoringWindows > daniel@wagner-home.com**20090221235836] > [merge IndependentScreens > daniel@wagner-home.com**20090221232142] > [add IndependentScreens to xmonad-contrib.cabal > daniel@wagner-home.com**20090221231632] > [add type information for IndependentScreens > daniel@wagner-home.com**20090221231525] > [add some boilerplate comments at the top of IndependentScreens > Brent Yorgey **20090221230850] > [IndependentScreens, v0.0 > daniel@wagner-home.com**20090221225229] > [U.Run: remove waitForProcess to close Issue 268 > wirtwolff@gmail.com**20090220214153 > Ignore-this: a6780565fde40a4aac9023cc55fc2273 > http://code.google.com/p/xmonad/issues/detail?id=268 > Submitting with some trepidation, since I've nearly no > understanding of process handling. Should be ok, no > warnings by sjanssen when asking about it in hpaste or > earlier email, and tested locally by spawning excessive > numbers of dzens: did not leave zombies or raise exceptions. > ] > [change Cross data declaration into a record so that Haddock will parse the per-argument comments > Brent Yorgey **20090221224742] > [X.L.Master: turn it to a Layout modifier and update the code > Ismael Carnales **20090213020453 > Ignore-this: 69513ad2b60dc4aeb49d64ca30e6f9f8 > ] > [Use doShift in my config > Spencer Janssen **20090219042040 > Ignore-this: 1f103d21bbceec8d48384f975f18eaec > ] > [SpawnOn: use doShift. This resolves problems where SpawnOn would shift the wrong window > Spencer Janssen **20090219041856 > Ignore-this: 6ae639a638db8eff77203f3f2e481a4e > ] > [SpawnOn: delete seen pids > Spencer Janssen **20090213013011 > Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f > ] > [X.U.Loggers: handle possible EOF (reported by dyfrgi) > Roman Cheplyaka **20090216213842] > [U.Scratchpad: add general spawn action to close issue 249 > wirtwolff@gmail.com**20090214003642 > Ignore-this: 925ad9db4ecc934dcd86320f383ed44a > Adds scratchpadSpawnActionCustom where user specifies how to set > resource to "scratchpad". This allows use of gnome-terminal, etc. > Add detail to RationalRectangle documentation; strip trailing spaces. > ] > [SpawnOn: add 'exec' to shell strings where possible > Spencer Janssen **20090212234608 > Ignore-this: c7de4e05803d60b10f38004dcbda4732 > ] > [Add Cross Layout > 'Luis Cabellos '**20090209174802] > [Fix an undefined in EwmhDesktops > Daniel Schoepe **20090209152308 > Ignore-this: f60a43d7ba90164ebcf700090dfb2480 > ] > [X.U.WindowProperties: docs (description and sections) > Roman Cheplyaka **20090208231422] > [X.U.WindowProperties: Add getProp32 and getProp32s, helpers to get properties from windows > Ismael Carnales **20090205013031 > Ignore-this: c5481fd5d97b15ca049e2da2605f65c1 > ] > [cleanup and make X.L.Mosaic behavior more intuitive wrt. areas > Adam Vogt **20090208221629 > Ignore-this: 3c3c6faa203cbb1c1db909e5bf018b6f > ] > [minor typo in XMonad/Util/EZConfig.hs > Joachim Breitner **20090208192224 > Ignore-this: 7ffee60858785c3e31fdd5383c9bb784 > ] > [Multimedia keys support for EZConfig > Khudyakov Alexey **20090207173330 > Ignore-this: 21183dd7c192682daa18e3768828f88d > ] > [+A.CycleWindows: bindings to cycle windows in new ways > wirtwolff@gmail.com**20090207170622 > Ignore-this: 51634299addf224cbbc421adb4b048f5 > Provides binding actions and customizable pure stack operations > to cycle through a list of permutations of the stack (recent), > cycle nth into focus, cycle through focus excluding a neighbor, > cycle unfocused, shift a window halfway around the stack. > Esp. for Full, two or three pane layouts, but useful for any > layout with many windows. > ] > [XMonad.Actions.CopyWindow: fmt & qualify stackset import > gwern0@gmail.com**20090206171833 > Ignore-this: 4d08f5a7627020b188f59fc637b53ae8 > ] > [XMonad.Actions.CopyWindow runOrCopy > lan3ny@gmail.com**20080602205742] > [ManageHelpers: reduce duplicated code in predicates > Ismael Carnales **20090204021847 > Ignore-this: e28a912d4f897eba68ab3edfddf9f26b > ] > [Remove X.U.SpawnOnWorkspace (superseded by X.A.SpawnOn) > Roman Cheplyaka **20090204103635] > [X.A.SpawnOn: add docs > Roman Cheplyaka **20090204102424 > Add more documentation, including documentation from > X.U.SpawnOnWorkspace by Daniel Schoepe. > ] > [Remove silliness from XMonad.Doc.Configuring > Spencer Janssen **20090204055626] > [Adjustments to use the new event hook feature instead of Hooks.EventHook > Daniel Schoepe **20090203160046 > Ignore-this: f8c239bc8e301cbd6fa509ef748af542 > ] > [Easier Colorizers for X.A.GridSelect > quentin.moser@unifr.ch**20090128001702 > Ignore-this: df3e0423824e40537ffdb4bc7363655d > ] > [X.A.SpawOn: fix usage doc > Roman Cheplyaka **20090202102042] > [Added GridVariants.SplitGrid > Norbert Zeh **20090129152146 > > GridVariants.TallGrid behaved weird when transformed using Mirror > or Reflect. The new layout SplitGrid does away with the need for > such transformations by taking a parameter to specify horizontal > or vertical splits. > ] > [FixedColumn: added missing nmaster to the usage doc > Ismael Carnales **20090130195239 > Ignore-this: 642aa0bc9e68e7518acc8af30324b97a > ] > [XMonad.Actions.Search: fix whitespace & tabs > gwern0@gmail.com**20090129025246 > Ignore-this: 894e479ccc46160848c4d70c2361c929 > ] > [xmonad-action-search-intelligent-searchengines > Michal Trybus **20090128101938 > Changed the XMonad.Action.Search to use a function instead of String to prepare the search URL.Added a few useful functions used to connect many search engines together and do intelligent prefixed searches (more doc in haddock)The API has not changed with the only exception of search function, which now accepts a function instead of String. > ] > [XMonad.Prompt autocompletion fix > quentin.moser@unifr.ch**20090127184145 > Ignore-this: 635cbf6420722a4edef1ae9c40b36e1b > ] > [X.A.SinkAll: re-add accidentally deleted usage documentation > Brent Yorgey **20090127222533] > [move XMonad.Actions.SinkAll functionality to more general XMonad.Actions.WithAll, and re-export sinkAll from X.A.SinkAll for backwards compatibility > Brent Yorgey **20090127222355] > [adds generic 'all windows on current workspace' functionality > loupgaroublond@gmail.com**20081221224850] > [placement patch to XMonad.Layout.LayoutHints > quentin.moser@unifr.ch**20090126195950 > Ignore-this: 87a5efa9c841d378a808b1a4309f18 > ] > [XMonad.Actions.MessageFeedback module > quentin.moser@unifr.ch**20090126181059 > Ignore-this: 82e58357a44f98c35ccf6ad0ef98b552 > ] > [submapDefault > Anders Engstrom **20090118152933 > Ignore-this: c8958d47eb584a7de04a81eb087f05d1 > Add support for a default action to take when the entered key does not match any entry. > ] > [X.A.CycleWS: convert tabs to spaces (closes #266) > Roman Cheplyaka **20090127185604] > [Mosaic picks the middle aspect layout, unless overriden > Adam Vogt **20090126032421 > Ignore-this: aaa31da14720bffd478db0029563aea5 > ] > [Mosaic: stop preventing access to the widest layouts > Adam Vogt **20090125045256 > Ignore-this: c792060fe2eaf532f433cfa8eb1e8fe3 > ] > [X.L.Mosaic add documentation, update interface and aspect ratio behavior > Adam Vogt **20090125041229 > Ignore-this: e78027707fc844b3307ea87f28efed73 > ] > [Use currentTag, thanks asgaroth > Spencer Janssen **20090125213331 > Ignore-this: dd1a3d96038de6479eca3b9798d38437 > ] > [Support for spawning most applications on a specific workspace > Daniel Schoepe **20090125191045 > Ignore-this: 26076d54b131e037b42c87e4fde63200 > ] > [X.L.Mosaic: haddock fix > Roman Cheplyaka **20090124235908] > [A mosaic layout based on MosaicAlt > Adam Vogt **20090124022058 > Ignore-this: 92bad7498f1ac402012e3eba6cbb2693 > > The position of a window in the stack determines its position and layout. And > the overall tendency to make wide or tall windows can be changed, though not > all of the options presented by MosaicAlt can be reached, the layout changes > with each aspect ratio message. > > ] > [uninstallSignalHandlers in spawnPipe > Spencer Janssen **20090122002745 > Ignore-this: e8cfe0f18f278c95d492628da8326fd7 > ] > [Create a new session for spawnPiped processes > Spencer Janssen **20090122000441 > Ignore-this: 37529c5fe8b4bf1b97fffb043bb3dfb0 > ] > [TAG 0.8.1 > Spencer Janssen **20090118220647] > [Use spawnOn in my config > Spencer Janssen **20090117041026 > Ignore-this: 3f92e4bbe4f2874b86a6c7ad66a31bbb > ] > [Add XMonad.Actions.SpawnOn > Spencer Janssen **20090117040432 > Ignore-this: 63869d1ab11f2ed5aab1690763065800 > ] > [Bump version to 0.8.1 > Spencer Janssen **20090116223607 > Ignore-this: 1c201e87080e4404f51cadc108b228a1 > ] > [Compile without optimizations on x86_64 and GHC 6.10 > Spencer Janssen **20090108231650 > Ignore-this: a803235b8022793f648e8953d9f05e0c > This is a workaround for http://xmonad.org/bugs/226 > ] > [Update all uses of doubleFork/waitForProcess > Spencer Janssen **20090116210315 > Ignore-this: 4e15b7f3fd6af3b7317449608f5246b0 > ] > [Update to my config > Spencer Janssen **20090116204553 > Ignore-this: 81017fa5b99855fc8ed1fe8892929f53 > ] > [Adjustments to new userCode function > Daniel Schoepe **20090110221310] > [X.U.EZConfig: expand documentation > Brent Yorgey **20090116153143] > [add a bit of documentation to HintedTile > Brent Yorgey **20090114065126] > [ManageHelpers: add isDialog > johanngiwer@web.de**20090108232505] > [CenteredMaster > portnov84@rambler.ru**20090111134513 > > centerMaster layout modifier places master window at top of other, at center of screen. Other windows are managed by base layout. > topRightMaster is similar, but places master window at top right corner. > ] > [XMonad.Util.XSelection: update maintainer information > gwern0@gmail.com**20090110213000 > Ignore-this: 1592ba07f2ed5d2258c215c2d175190a > ] > [X.U.XSelection: get rid of warning about missing newline, add Haddock link > Brent Yorgey **20090102194357] > [adds haddock documentation for transformPromptSelection > loupgaroublond@gmail.com**20090102190954 > > also renames the function per mailing list recommendation > ] > [adds a weird function to XSelection > loupgaroublond@gmail.com**20081222020730 > > This enables you to pass a function of (String -> String) to a selection function to modify the string before executing it. This way, you can input your own escape routines to make it shell command line safe, and/or do other fancier things. > ] > [ThreeColumnsMiddle > xmonad@c-otto.de**20090102091019] > [fix-fromJust-errors > rupa@lrrr.us**20081224045509 > > bogner wrote all this stuff and i just tested it. > > I had: > > myLogHook = ewmhDesktopLogHookCustom ScratchpadFilterOutWorkspace >> updatePointer Nearest > > Everytime I invoked or hid Scratchpad, it would leave a 'Maybe.fromJust: Nothing' line in .xsession-errors, and updatePointer would stop working. > > ] > [ Prompt: Change Filemode to 600 for history-file (fixes bug 244) > Dominik Bruhn **20081218001601] > [X.L.Monitor: changes in message passing > Roman Cheplyaka **20081226220851 > - transform mbName (Maybe String) to name (String) > - slghtly change semantics of messages, document it > ] > [X.L.Monitor: change interface > Roman Cheplyaka **20081226213118 > - remove add*Monitor > - add manageMonitor, monitor template > ] > [X.U.WindowProperties: propertyToQuery+docs > Roman Cheplyaka **20081225080702] > [X.L.Monitor: docs > Roman Cheplyaka **20081225073904] > [hlintify XUtils, XSelection, Search, WindowGo > gwern0@gmail.com**20081220153302 > Ignore-this: 7e877484e3cd8954b74232ea83180fa9 > ] > [fix focus issue for XMonad.Actions.Warp.banishScreen > Norbert Zeh **20081212203532 > > This patch ensures that the focus (or in fact the whose windowset) > does not change as a result of a banishScreen. The way this is implemented > will become problematic if xmonad ever goes multithreaded. > ] > [addition of XMonad.Actions.Warp.banishScreen > Norbert Zeh **20081212192621 > > This works on top of warpToScreen and, thus, suffers from the same issue: > focus change. > ] > [fixed documentation for banish > Norbert Zeh **20081212191819 > > banish actually warps to the specified corner of the current window, not > the screen. > ] > [addition of combined TallGrid layout > Norbert Zeh **20081212184836 > > Added a module XMonad.Layouts.GridVariants, which defines layouts > Grid and TallGrid. The former is a customizable version of Grid. The latter > is a combination of Grid and Tall (see doc of the module). > ] > [Add FixedColumn, a layout like Tall but based on the resize hints of windows > Justin Bogner **20081213073054] > [XMonad.Actions.WindowGo: fix a floating-related focus bug > gwern0@gmail.com**20081205150755 > Ignore-this: c8b6625aa2bd4136937acbd2ad64ffd3 > If a floating window was focused, a cross-workspace 'raise' would cause a loop of > shifting windows. Apparently the problem was 'focus' and its mouse-handling. Spencer > suggested that the calls to focus be replaced with 'focusWindow', which resolved it. > ] > [Prompt.hs: +greenXPConfig and amberXPConfig > gwern0@gmail.com**20081119213122 > Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6 > ] > [Prompt.hs: increase font size to 12 from niggardly 10 > gwern0@gmail.com**20081119212523 > Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c > ] > [Prompt.hs: replace magic numbers with understandable names > gwern0@gmail.com**20081119212502 > Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1 > ] > [X.L.Monitor: recommend doHideIgnore (docs) > Roman Cheplyaka **20081215190710] > [X.L.Monitor: docs > Roman Cheplyaka **20081215184423] > [X.L.Monitor: export Monitor datatype > Roman Cheplyaka **20081215184318] > [X.H.ManageHelpers: add doHideIgnore > Roman Cheplyaka **20081215182758] > [Add KDE 4 config, thanks to Shirakawasuna on IRC > Spencer Janssen **20081211071141 > Ignore-this: 51698961ab5b6e569c294d174f2804a9 > ] > [I use the deleteConsecutive history filter > Spencer Janssen **20081025070438] > [Remove XMonad.Config.PlainConfig, it has been turned into the separate xmonad-light project. > Braden Shepherdson **20081203161534] > [XMonad.Prompt: swap up and down per bug #243 > gwern0@gmail.com**20081203013323 > Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8 > ] > [Fix boolean operator precedence in GridSelect keybindings > Aleksandar Dimitrov **20081201120928 > The vim-like hjkl keys were ORed to the key event AND arrow keys. > ] > [GridSelect.hs: navigate grid with h,j,k,l as well as arrow keys > sean.escriva@gmail.com**20081122084725] > [Export setOpacity from FadeInactive. Document how to make monitor transparent (X.L.Monitor) > Roman Cheplyaka **20081117153027] > [Monitor: use broadcastMessage instead of sendMessage; this solves several issues > Roman Cheplyaka **20081117133957] > [FadeInactive: fade all inactive windows (including focused windows on visible screens) > Roman Cheplyaka **20081117130115] > [Monitor: documented one more issue > Roman Cheplyaka **20081117113807] > [Monitor: improved the docs > Roman Cheplyaka **20081117073709] > [added XMonad.Layout.Monitor > Roman Cheplyaka **20081115104735] > [WindowProperties: added allWithProperty > Roman Cheplyaka **20081115104525] > [ManageHelpers: added doSideFloat (generalization of doCenterFloat) > Roman Cheplyaka **20081114113015] > [GridSelect: Export default_colorizer > Dominik Bruhn **20081112140005] > [Simplify code for restriction-calculation and remove compiletime warnings > Dominik Bruhn **20081112134630] > [Simplify handle/eventLoop, introduce findInWindowMap, partial updates for key movements (less flickering) > Clemens Fruhwirth **20081111100405 > > * handle/eventLoop carried the display and the drawing window as > parameters. The display is available from the embedded X monad, the > drawing windows was added. > > * updateWindows now takes a list of windows to > update. updateAllWindows updates all windows. > > * only the windows that are modified by key movements are redrawn > now. This means less flickering. > > ] > [GridSelect: force cursor stay in visible area > Roman Cheplyaka **20081111063348] > [GridSelect: fix infiniteness problem with diamondRestrict > Roman Cheplyaka **20081111055350] > [GridSelect: remove tabs > Roman Cheplyaka **20081111053647] > [Exported shrinkWhile from Decoration to use in GridSelect > Roman Cheplyaka **20081110191534] > [GridSelect: added link to a screenshot > Roman Cheplyaka **20081110190617] > [GridSelect: various improvements > Roman Cheplyaka **20081110184644 > Added documentation > Restricted export list for the sake of haddock > Added functions: > withSelectedWindow > bringSelected (by Clemens Fruhwirth) > goToSelected (by Dominik Bruhn) > ] > [Initial version of GridSelect.hs with a lot room for improvement/cleanups > Clemens Fruhwirth **20081107115114] > [documentation: XMonad.Util.Search.hs, add EZConfig keybindings example > sean.escriva@gmail.com**20081106171707] > [typo > Don Stewart **20081104043044 > Ignore-this: bdac0ff3316c821bce321b51c62f6e89 > ] > [place an upper bound on the version of base we support > Don Stewart **20081104035857 > Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854 > ] > [explicit import list for things in the process library > Don Stewart **20081104035319 > Ignore-this: 91b7f96421828788760e8bcff7dec317 > ] > [Work around ghc 6.10 bug #2738 > Don Stewart **20081104034819 > Ignore-this: c75da9693fa642025eac0d074869423d > ] > [windowPromptBringCopy > deadguysfrom@gmail.com**20081023173019] > [generic menu and window bringer > Travis B. Hartwell **20081027005523] > [Search.hs: +hackage search, courtesy of byorgey > gwern0@gmail.com**20081031214937 > Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab > ] > [Prompt.hs rename deleteConsecutiveDuplicates > gwern0@gmail.com**20081008205131 > That name is really unwieldy and long. > ] > [Prompt.hs: have historyCompletion filter dupes > gwern0@gmail.com**20081008204710 > Specifically, it calls deleteConsecutiveDuplicates on the end product. uniqSort reverses order in an unfortunate way, so we don't use that. > The use-case is when a user has added the same input many times - as it stands, if the history records 30 'top's or whatever, the completion will show 30 'top' entries! This fixes that. > ] > [Prompt.hs: tweak haddocks > gwern0@gmail.com**20081008204649] > [Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off > gwern0@gmail.com**20081008192645] > [Do not consider XMONAD_TIMER unknown > Joachim Breitner **20081008195643] > [Kill window without focusing it first > Joachim Breitner **20081005002533 > This patch requires the patch "add killWindow function" in xmonad. > Before this patch, people would experience ???workspace flicker??? when closing > a window via EWMH that is not on the current workspace, for example when > quitting pidgin via the panel icon. > ] > [let MagnifyLess actually magnify less > daniel@wagner-home.com**20081015153911] > [Actions.Search: add a few search engines > intrigeri@boum.org**20081008104033 > > Add Debian {package, bug, tracking system} search engines, as well as Google > Images and isohunt. > > ] > [Implement HiddenNonEmptyWS with HiddenWS and NonEmptyWS > Joachim Breitner **20081006211027 > (Just to reduce code duplication) > ] > [Add straightforward HiddenWS to WSType > Joachim Breitner **20081006210548 > With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing. > ] > [Merge emptyLayoutMod into redoLayout > Joachim Breitner **20081005190220 > This removes the emptyLayoutMod method from the LayoutModifier class, and > change the Stack parameter to redoLayout to a Maybe Stack one. It also changes > all affected code. This should should be a refactoring without any change in > program behaviour. > ] > [SmartBorders even for empty layouts > Joachim Breitner **20081005184426 > Fixes: http://code.google.com/p/xmonad/issues/detail?id=223 > ] > [Paste.hs: improve haddocks > gwern0@gmail.com**20080927150158] > [Paste.hs: fix haddock > gwern0@gmail.com**20080927145238] > [minor explanatory comment > daniel@wagner-home.com**20081003015919] > [XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage) > Lukas Mai **20080930141715] > [XMonad.Util.Font: UTF8 -> USE_UTF8 > Lukas Mai **20080930140056] > [Paste.hs: implement noModMask suggestion > gwern0@gmail.com**20080926232056] > [fix a divide by zero error in Grid > daniel@wagner-home.com**20080926204148] > [-DUTF8 flag with -DUSE_UTF8 > gwern0@gmail.com**20080921154014] > [XSelection.hs: use CPP to compile against utf8-string > gwern0@gmail.com**20080920151615] > [add XMonad.Config.Azerty > Devin Mullins **20080924044946] > [flip GridRatio to match convention (x/y) > Devin Mullins **20080922033354] > [let Grid have a configurable aspect ratio goal > daniel@wagner-home.com**20080922010950] > [Paste.hs: +warning about ASCII limitations > gwern0@gmail.com**20080921155038] > [Paste.hs: shorten comment lines to under 80 columns per sjanssen > gwern0@gmail.com**20080921154950] > [Forgot to enable historyFilter :( > Spencer Janssen **20080921094254] > [Prompt: add configurable history filters > Spencer Janssen **20080921093453] > [Update my config to use 'statusBar' > Spencer Janssen **20080921063513] > [Rename pasteKey functions to sendKey > Spencer Janssen **20080921062016] > [DynamicLog: doc fixes > Spencer Janssen **20080921061314] > [Move XMonad.Util.XPaste to XMonad.Util.Paste > Spencer Janssen **20080921060947] > [Depend on X11 >= 1.4.3 > Spencer Janssen **20080921055456] > [statusBar now supplies the action to toggle struts > Spencer Janssen **20080918013858] > [cleanup - use currentTag > Devin Mullins **20080921011159] > [XPaste.hs: improve author info > gwern0@gmail.com**20080920152342] > [+XMonad.Util.XPaste: a module for pasting strings to windows > gwern0@gmail.com**20080920152106] > [UrgencyHook bug fix: cleanupUrgents should clean up reminders, too > Devin Mullins **20080920062117] > [Sketch of XMonad.Config.Monad > Spencer Janssen **20080917081838] > [raiseMaster > seanmce33@gmail.com**20080912184830] > [Add missing space between dzen command and flags > Daniel Neri **20080915131009] > [Big DynamicLog refactor. Added statusBar, improved compositionality for dzen and xmobar > Spencer Janssen **20080913205931 > Compatibility notes: > - dzen type change > - xmobar type change > - dynamicLogDzen removed > - dynamicLogXmobar removed > ] > [Take maintainership of XMonad.Prompt > Spencer Janssen **20080911230442] > [Overhaul Prompt to use a zipper for history navigation. Fixes issue #216 > Spencer Janssen **20080911225940] > [Use the new completion on tab setting > Spencer Janssen **20080911085940] > [Only start to show the completion window with more than one match > Joachim Breitner **20080908110129] > [XPrompt: Add showCompletionOnTab option > Joachim Breitner **20080908105758 > This patch partially implements > http://code.google.com/p/xmonad/issues/detail?id=215 > It adds a XPConfig option that, if enabled, hides the completion window > until the user presses Tab once. Default behaviour is preserved. > TODO: If Tab causes a unique completion, continue to hide the completion > window. > ] > [XMonad.Actions.Plane.planeKeys: function to make easier to configure > Marco T??lio Gontijo e Silva **20080714153601] > [XMonad.Actions.Plane: removed unneeded hiding > Marco T??lio Gontijo e Silva **20080714152631] > [Improvements in documentation > Marco T??lio Gontijo e Silva **20080709002425] > [Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde} > Spencer Janssen **20080911040808] > [add clearUrgents for your keys > Devin Mullins **20080909055425] > [add reminder functionality to UrgencyHook > Devin Mullins **20080824200548 > I'm considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so to speak. Bleh. > ] > [TAG 0.8 > Spencer Janssen **20080905195420] > Patch bundle hash: > cd0e2ab65961779dfe1a18635625703e9d3efc70 > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad From vogt.adam at gmail.com Sat May 9 14:59:23 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sat May 9 14:43:40 2009 Subject: [xmonad] darcs patch: X.L.LayoutBuilder custom layouts In-Reply-To: <4a05c2d5.0437560a.631a.ffffa59c@mx.google.com> References: <4a05c2d5.0437560a.631a.ffffa59c@mx.google.com> Message-ID: <20090509185923.GA31851@smuckers> * On Saturday, May 09 2009, Anders Engstrom wrote: >Sat May 9 19:46:27 CEST 2009 Anders Engstrom > * X.L.LayoutBuilder custom layouts > > A layout combinator that sends a specified number of windows to one rectangle and the rest to another. Thanks, Applied. From vogt.adam at gmail.com Sat May 9 15:11:17 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sat May 9 14:55:30 2009 Subject: [xmonad] darcs patch: X.L.LayoutBuilder custom layouts In-Reply-To: <20090509185923.GA31851@smuckers> References: <4a05c2d5.0437560a.631a.ffffa59c@mx.google.com> <20090509185923.GA31851@smuckers> Message-ID: <20090509191117.GA32141@smuckers> Not quick enough this time :) * On Saturday, May 09 2009, Adam Vogt wrote: >* On Saturday, May 09 2009, Anders Engstrom wrote: > >>Sat May 9 19:46:27 CEST 2009 Anders Engstrom >> * X.L.LayoutBuilder custom layouts >> >> A layout combinator that sends a specified number of windows to one rectangle and the rest to another. > >Thanks, Applied. From ankaan at gmail.com Sat May 9 15:57:53 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sat May 9 15:43:10 2009 Subject: [xmonad] darcs patch: X.L.LayoutBuilder doc fix and cleaning Message-ID: <4a05e041.0437560a.6588.0be4@mx.google.com> Sat May 9 21:52:54 CEST 2009 Anders Engstrom * X.L.LayoutBuilder doc fix and cleaning -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 45448 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090509/bbcf8603/attachment-0001.bin From vogt.adam at gmail.com Sat May 9 21:31:45 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sat May 9 21:16:27 2009 Subject: [xmonad] darcs patch: X.L.LayoutBuilder doc fix and cleaning In-Reply-To: <4a05e041.0437560a.6588.0be4@mx.google.com> References: <4a05e041.0437560a.6588.0be4@mx.google.com> Message-ID: <20090510013145.GA14653@smuckers> * On Saturday, May 09 2009, Anders Engstrom wrote: >Sat May 9 21:52:54 CEST 2009 Anders Engstrom > * X.L.LayoutBuilder doc fix and cleaning Applied, thanks >_______________________________________________ >xmonad mailing list >xmonad@haskell.org >http://www.haskell.org/mailman/listinfo/xmonad From codesite-noreply at google.com Tue May 12 11:04:10 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Tue May 12 10:50:00 2009 Subject: [xmonad] Issue 294 in xmonad: fadeInactiveLogHook behaviour messed up on xinerama Message-ID: <0016e6409b3441ffef0469b868aa@google.com> Comment #1 on issue 294 by asgaro...@gmx.de: fadeInactiveLogHook behaviour messed up on xinerama http://code.google.com/p/xmonad/issues/detail?id=294 This should already be fixed in contrib-darcs(including something similar to your suggestion). -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From ankaan at gmail.com Wed May 13 12:00:42 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Wed May 13 11:45:54 2009 Subject: [xmonad] darcs patch: LayoutBuilder - make an example more sane Message-ID: <4a0aeeaa.0c07560a.7cd5.ffffaa94@mx.google.com> Wed May 13 17:57:32 CEST 2009 Anders Engstrom * LayoutBuilder - make an example more sane -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 38952 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090513/bb5cd191/attachment-0001.bin From vogt.adam at gmail.com Wed May 13 20:52:22 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Wed May 13 20:36:28 2009 Subject: [xmonad] darcs patch: LayoutBuilder - make an example more sane In-Reply-To: <4a0aeeaa.0c07560a.7cd5.ffffaa94@mx.google.com> References: <4a0aeeaa.0c07560a.7cd5.ffffaa94@mx.google.com> Message-ID: <20090514005222.GA1104@smuckers> I have not tried this modification, but I think that: > Tall 0 0.5 0.01 may be even more sane than what you changed it to (Tall 0 0.01 0.5) considering that Tall is documented as such: > data Tall a > = Tall {tallNMaster :: !Int, > tallRatio :: !Rational, > tallRatioIncrement :: !Rational} What do you think? Adam From ankaan at gmail.com Thu May 14 04:34:04 2009 From: ankaan at gmail.com (=?UTF-8?Q?Anders_Engstr=C3=B6m?=) Date: Thu May 14 04:19:06 2009 Subject: [xmonad] darcs patch: LayoutBuilder - make an example more sane In-Reply-To: <20090514005222.GA1104@smuckers> References: <4a0aeeaa.0c07560a.7cd5.ffffaa94@mx.google.com> <20090514005222.GA1104@smuckers> Message-ID: <79b09ba10905140134n31be37c0j5763d5d7e4d86442@mail.gmail.com> Actually. I think I just found a bug in XMonad.Layout. My code generates the sane behaviour (have a look at the actual implementation), but according to the documentation it should be like you have written. /Anders On Thu, May 14, 2009 at 02:52, Adam Vogt wrote: > I have not tried this modification, but I think that: > >> Tall 0 0.5 0.01 > > may be even more sane than what you changed it to (Tall 0 0.01 0.5) > > considering that Tall is documented as such: > >> data Tall a >> ? = Tall {tallNMaster :: !Int, >> ? ? ? ? ? tallRatio :: !Rational, >> ? ? ? ? ? tallRatioIncrement :: !Rational} > > What do you think? > > Adam > From byorgey at seas.upenn.edu Thu May 14 18:00:22 2009 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Thu May 14 17:45:24 2009 Subject: [xmonad] New contrib module: XMonad.Layout.Spacing Message-ID: <20090514220022.GA23655@seas.upenn.edu> I just pushed a simple layout modifier that adds spacing around windows, as requested by shortlord in #xmonad. If this isn't a poster module for the power of layout modifiers, I don't know what is. =) -Brent From rickard.nilsson at telia.com Fri May 15 08:03:32 2009 From: rickard.nilsson at telia.com (Rickard Nilsson) Date: Fri May 15 07:48:27 2009 Subject: [xmonad] Multiple user setup Message-ID: <20090515140332.0wyeseoa8sg4ccsg@mail.webofnilsson.com> Hi, Currently I have set up my installation of ArchLinux to auto-login two users on two different virtual consoles, starting one X server each. One X server runs Xmonad and the other one runs Gnome. This way it's possible to switch between the the two users' desktops with Ctrl-Alt-F1/F2. It works quite nicely, apart from the fact that virtual console switching is a bit slow. That could maybe change in the future, with kernel mode setting etc. However, I am pondering a different setup, where I only start one Xserver running Xmonad. Then I would let that instance of Xmonad start two instances of Xephyr (a nested X server), one that runs another instance of Xmonad and one that runs Gnome. I could switch between the users's desktops by appropriate key bindings in the bottom Xmonad instance. The first Xmonad instance would run as a separate user, or maybe the root user. I can see several advantages with this approach; faster user switching, global key actions configurable in Haskell, global Xmobar panel. Do you think this is a feasible setup? Is Xmonad lightweight enough for this configuration? Can the key bindings in the two Xmonad instances be coordinated easily (can I somehow create a "clean" configuration in the root Xmonad, removing all defaults and just add a few global key bindings)? Or do you think it would just become one big mess? :) Regards, Rickard Nilsson From mail at justinbogner.com Fri May 15 11:16:57 2009 From: mail at justinbogner.com (mail@justinbogner.com) Date: Fri May 15 11:02:11 2009 Subject: [xmonad] Re: Multiple user setup References: <20090515140332.0wyeseoa8sg4ccsg@mail.webofnilsson.com> Message-ID: <87tz3m5rbq.fsf@justinbogner.com> Rickard Nilsson writes: > However, I am pondering a different setup, where I only start one > Xserver running Xmonad. Then I would let that instance of Xmonad start > two instances of Xephyr (a nested X server), one that runs another > instance of Xmonad and one that runs Gnome. I could switch between the > users's desktops by appropriate key bindings in the bottom Xmonad > instance. The first Xmonad instance would run as a separate user, or > maybe the root user. > [...] > > Do you think this is a feasible setup? Is Xmonad lightweight enough > for this configuration? Can the key bindings in the two Xmonad > instances be coordinated easily (can I somehow create a "clean" > configuration in the root Xmonad, removing all defaults and just add a > few global key bindings)? This should work fairly well, I would think. The only problem I can think of is that the configuration for xmonad isn't configurable, so you would need to write one configuration that decided whether or not it was the master and set things up differently in that case, which might be a little bit messy. From rickard.nilsson at telia.com Fri May 15 11:33:31 2009 From: rickard.nilsson at telia.com (Rickard Nilsson) Date: Fri May 15 11:18:26 2009 Subject: [xmonad] Re: Multiple user setup In-Reply-To: <87tz3m5rbq.fsf@justinbogner.com> References: <20090515140332.0wyeseoa8sg4ccsg@mail.webofnilsson.com> <87tz3m5rbq.fsf@justinbogner.com> Message-ID: <20090515173331.htf9b3jhwcs0g484@mail.webofnilsson.com> Quoting mail@justinbogner.com: > Rickard Nilsson > writes: >> However, I am pondering a different setup, where I only start one >> Xserver running Xmonad. Then I would let that instance of Xmonad start >> two instances of Xephyr (a nested X server), one that runs another >> instance of Xmonad and one that runs Gnome. I could switch between the >> users's desktops by appropriate key bindings in the bottom Xmonad >> instance. The first Xmonad instance would run as a separate user, or >> maybe the root user. >> > > [...] > >> >> Do you think this is a feasible setup? Is Xmonad lightweight enough >> for this configuration? Can the key bindings in the two Xmonad >> instances be coordinated easily (can I somehow create a "clean" >> configuration in the root Xmonad, removing all defaults and just add a >> few global key bindings)? > > This should work fairly well, I would think. The only problem I can > think of is that the configuration for xmonad isn't configurable, so you > would need to write one configuration that decided whether or not it was > the master and set things up differently in that case, which might be a > little bit messy. I would probably run the first Xmonad as a dedicated user. Then I would have two different configuration files, say ~xmonad/.xmonad/xmonad.hs and ~rickard/.xmonad/xmonad.hs for the different instances. It would solve that problem, wouldn't it? Of course it could maybe be more convenient with just one configuration file. But then again, I might set up one more xmonad user instance and then it makes more sense with one global xmonad.hs and two user configurations. / Rickard From ankaan at gmail.com Fri May 15 11:35:18 2009 From: ankaan at gmail.com (=?UTF-8?Q?Anders_Engstr=C3=B6m?=) Date: Fri May 15 11:20:12 2009 Subject: [xmonad] Re: Multiple user setup In-Reply-To: <87tz3m5rbq.fsf@justinbogner.com> References: <20090515140332.0wyeseoa8sg4ccsg@mail.webofnilsson.com> <87tz3m5rbq.fsf@justinbogner.com> Message-ID: <79b09ba10905150835h7d1db960u616412bcb47531c0@mail.gmail.com> If the the outer xmonad is run as another user (please, not as root!) that will not be a problem. There are only two problems I can see and none of them are xmonad specific. The first one is that you are running Xephyr and when I tried it the other day I was a bit disappointed with the performance. It was slow and the mouse and keyboard grabbing was misbehaving quite a bit. The second problem is with the global xmobar panel. You may wish to remove it while watching a movie or something else in full screen, that will be hard since then you need to change resolution in Xephyr. If this a development workstation or something and those things doesn't matter for you, then I think that your idea should work just fine. /Anders On Fri, May 15, 2009 at 17:16, wrote: > Rickard Nilsson > writes: >> However, I am pondering a different setup, where I only start one >> Xserver running Xmonad. Then I would let that instance of Xmonad start >> two instances of Xephyr (a nested X server), one that runs another >> instance of Xmonad and one that runs Gnome. I could switch between the >> users's desktops by appropriate key bindings in the bottom Xmonad >> instance. The first Xmonad instance would run as a separate user, or >> maybe the root user. >> > > [...] > >> >> Do you think this is a feasible setup? Is Xmonad lightweight enough >> for this configuration? Can the key bindings in the two Xmonad >> instances be coordinated easily (can I somehow create a "clean" >> configuration in the root Xmonad, removing all defaults and just add a >> few global key bindings)? > > This should work fairly well, I would think. The only problem I can > think of is that the configuration for xmonad isn't configurable, so you > would need to write one configuration that decided whether or not it was > the master and set things up differently in that case, which might be a > little bit messy. > > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > From vogt.adam at gmail.com Fri May 15 19:20:08 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Fri May 15 19:05:05 2009 Subject: [xmonad] New contrib module: XMonad.Layout.Spacing In-Reply-To: <20090514220022.GA23655@seas.upenn.edu> References: <20090514220022.GA23655@seas.upenn.edu> Message-ID: <20090515232008.GA20805@dell> * On Thursday, May 14 2009, Brent Yorgey wrote: >I just pushed a simple layout modifier that adds spacing around >windows, as requested by shortlord in #xmonad. If this isn't a poster >module for the power of layout modifiers, I don't know what is. =) > >-Brent Also note how frequently the LayoutModifier module is used: $ grep -R 'import XMonad.Layout.LayoutModifier' * | sed 's/\.hs.*.$/.hs/' | xargs wc -l | sort 54 Layout/Spacing.hs 59 Layout/Named.hs 63 Layout/SimplestFloat.hs 79 Layout/Maximize.hs 85 Layout/LayoutHints.hs 86 Layout/Master.hs 91 Layout/MagicFocus.hs 92 Layout/WorkspaceDir.hs 103 Layout/ShowWName.hs 110 Layout/CenteredMaster.hs 114 Layout/Reflect.hs 124 Layout/BoringWindows.hs 127 Layout/IM.hs 127 Layout/PerWorkspace.hs 133 Actions/MouseResize.hs 148 Layout/Gaps.hs 164 Layout/Magnifier.hs 172 Layout/Monitor.hs 201 Layout/NoBorders.hs 209 Layout/WindowArranger.hs 231 Layout/WindowNavigation.hs 236 Hooks/ManageDocks.hs 430 Layout/Decoration.hs 450 Layout/SubLayouts.hs 503 Hooks/DynamicLog.hs 4191 total L.Named used to about 10 lines shorter (before the addition of nameTail), so that one must be even more convincing than L.Spacing. =) Adam From me at twifkak.com Fri May 15 23:11:21 2009 From: me at twifkak.com (Devin Mullins) Date: Fri May 15 22:56:14 2009 Subject: [xmonad] Multiple user setup In-Reply-To: <20090515140332.0wyeseoa8sg4ccsg@mail.webofnilsson.com> References: <20090515140332.0wyeseoa8sg4ccsg@mail.webofnilsson.com> Message-ID: <20090516031121.GB20730@twifkak.com> On Fri, May 15, 2009 at 02:03:32PM +0200, Rickard Nilsson wrote: > (can I somehow create a "clean" configuration in the > root Xmonad, removing all defaults and just add a few global key > bindings)? Yes, quite easily: main = xmonad { keys = [...] } will assign only the key bindings you specify in the list. Ditto for mouseBindings. -- The only good is knowledge and the only evil is ignorance. Lucky Numbers 40, 27, 46, 28, 14, 5 LEARN CHINESE - Fish Yu ? From codesite-noreply at google.com Fri May 15 23:17:13 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Fri May 15 23:02:06 2009 Subject: [xmonad] Issue 213 in xmonad: UrgencyHook fails under stress-testing Message-ID: <001636283960555b0f0469feff7c@google.com> Updates: Status: Fixed Comment #3 on issue 213 by m...@twifkak.com: UrgencyHook fails under stress-testing http://code.google.com/p/xmonad/issues/detail?id=213 Okay, I'll close this. Thanks, guys, for checking this out. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From alexey.skladnoy at gmail.com Sat May 16 06:54:55 2009 From: alexey.skladnoy at gmail.com (Khudyakov Alexey) Date: Sat May 16 07:33:40 2009 Subject: [xmonad] darcs patch: LayoutBuilder - make an example more sane In-Reply-To: <79b09ba10905140134n31be37c0j5763d5d7e4d86442@mail.gmail.com> References: <4a0aeeaa.0c07560a.7cd5.ffffaa94@mx.google.com> <20090514005222.GA1104@smuckers> <79b09ba10905140134n31be37c0j5763d5d7e4d86442@mail.gmail.com> Message-ID: <200905161454.56711.alexey.skladnoy@gmail.com> On Thursday 14 May 2009 12:34:04 Anders Engstr?m wrote: > Actually. I think I just found a bug in XMonad.Layout. My code > generates the sane behaviour (have a look at the actual > implementation), but according to the documentation it should be like > you have written. > > /Anders > Confirm this. This is actually bug in the documentation. Tall instance of LayoutClass works as in Anders Engstrom's example. My config works same way too. Here is path to fix documentation. -------------- next part -------------- Sat May 16 14:47:53 MSD 2009 Khudyakov Alexey * Fix for Tall documentation New patches: [Fix for Tall documentation Khudyakov Alexey **20090516104753 Ignore-this: ba56921cc5b3be0462c41d10499ccf0e ] hunk ./XMonad/Layout.hs 55 -- | The builtin tiling mode of xmonad. Supports 'Shrink', 'Expand' and -- 'IncMasterN'. data Tall a = Tall { tallNMaster :: !Int -- ^ The default number of windows in the master pane (default: 1) - , tallRatio :: !Rational -- ^ Default proportion of screen occupied by master pane (default: 1/2) - , tallRatioIncrement :: !Rational } -- ^ Percent of screen to increment by when resizing panes (default: 3/100) + , tallRatioIncrement :: !Rational -- ^ Percent of screen to increment by when resizing panes (default: 3/100) + , tallRatio :: !Rational } -- ^ Default proportion of screen occupied by master pane (default: 1/2) deriving (Show, Read) -- TODO should be capped [0..1] .. Context: [Minor bugfix in the creation of new StackSets. Wouter Swierstra **20090503154321] [Avoid deadly cycle in man/xmonad.hs Spencer Janssen **20090319081918 Ignore-this: adcba110caad465a2cbb4b9dca7cb612 ] [X.Config.hs, ./man/xmonad.hs: update Event Hook doc wirtwolff@gmail.com**20090209183837 Ignore-this: 3792043278932e371e3e2858913a2b17 ] [Use records to document Tall's arguments Spencer Janssen **20090221230628 Ignore-this: 253c09de793715c18a029406795a42fd ] [Fix possible head [] Joachim Breitner **20090106192026 This seems to be a rare case, but I just got hit by it. ] [ManageHook.doShift: use shiftWin instead of shift Spencer Janssen **20090219041458 Ignore-this: 4d7f348d6d394c581ab2809bbc45a2c6 ] [Express shift in terms of shiftWin Spencer Janssen **20090217235343 Ignore-this: 8f213bca20065a39e7c16027f7b398cf ] [Use standard -fforce-recomp instead of undocumented -no-recomp Don Stewart **20090208165518] [Support for custom event hooks Daniel Schoepe **20090203155536 Ignore-this: f22f1a7ae2d958ba1b3625aa923b7efd ] [Make X an instance of Typeable Daniel Schoepe **20090128215406 Ignore-this: bb155e62ea4e451460e3b94508dc49d2 ] [Add uninstallSignalHandlers, use in spawn Spencer Janssen **20090122002643 Ignore-this: d91bde6f965341a2619fe2dde83cc099 ] [Create a new session for forked processes Spencer Janssen **20090122000423 Ignore-this: f5d9cf254a0b07ddbf204457b7783880 ] [TAG 0.8.1 Spencer Janssen **20090118083910] [Close stdin in spawned processes Spencer Janssen **20090117040024 Ignore-this: 2e372ed6215160adae8da1c44cdede3d ] [Document spawnPID Spencer Janssen **20090117035907 Ignore-this: 1641bdcf5055b2ec7b9455265f5b1d52 ] [Asynchronously recompile/restart xmonad on mod-q Spencer Janssen **20090117035300 Ignore-this: 753d8746034f818b81df79003ae5ee0d ] [Add --restart, a command line flag to cause a running xmonad process to restart Spencer Janssen **20090117034959 Ignore-this: 45c8c8aba7cc7391b95c7e3fb01e5bf9 ] [Bump version to 0.8.1 Spencer Janssen **20090116223621 Ignore-this: 2e8e9dc7b6ca725542f4afe04253dc57 ] [Remove doubleFork, handle SIGCHLD Spencer Janssen **20090116204742 Ignore-this: f9b1a65b4f0622922f80ad2ab6c5a52f This is a rather big change. Rather than make spawned processes become children of init, we handle them in xmonad. As a side effect of this change, we never need to use waitForProcess in any contrib module -- in fact, doing so will raise an exception. The main benefit to handling SIGCHLD is that xmonad can now be started with 'exec', and will correctly clean up after inherited child processes. ] [Main.hs: escape / in Haddocks gwern0@gmail.com**20081207020915 Ignore-this: 2c4525280fbe73c46f3abd8fc13628e9 This lets haddocks for Main.hs, at least, to build with 2.3.0. ] [More flexible userCode function Daniel Schoepe **20090110221852] [Call logHook as the very last action in windows Spencer Janssen **20081209233700 Ignore-this: 4396ad891b607780f8e4b3b6bbce87e ] [Accept inferior crossing events. This patch enables fmouse-focus-follows-screen Spencer Janssen **20081205045130 Ignore-this: 3ac329fb92839827aed0a4370784cabd ] [Tile all windows at once Spencer Janssen **20081118074447] [Factor rational rect scaling into a separate function Spencer Janssen **20081118072849] [Change screen focus by clicking on the root window. Spencer Janssen **20081106224031 This is a modification of a patch from Joachim Breitner. ] [Fix #192. Spencer Janssen **20081021220059] [select base < 4 for building on ghc 6.10 Adam Vogt **20081013214509] [add killWindow function Joachim Breitner **20081005001804 This is required to kill anything that is not focused, without having to focus it first. ] [add'l documentation Devin Mullins **20080927234639] [Regression: ungrab buttons on *non* root windows Spencer Janssen **20081007214351] [Partial fix for #40 Spencer Janssen **20081007212053 Improvements: - clicking on the root will change focus to that screen - moving the mouse from a window on a screen to an empty screen changes focus to that screen The only remaining issue is that moving the mouse between two empty screens does not change focus. In order to solve this, we'd have to select motion events on the root window, which is potentially expensive. ] [Track mouse position via events received Spencer Janssen **20081007203953] [Fix haddock Spencer Janssen **20081007094641] [Move screen locating code into pointScreen Spencer Janssen **20081007094207] [Make pointWithin a top-level binding Spencer Janssen **20081007090229] [sp README, CONFIG, STYLE, TODO gwern0@gmail.com**20080913024457] [Use the same X11 dependency as xmonad-contrib Spencer Janssen **20080921061508] [Export focusUp' and focusDown' -- work entirely on stacks Spencer Janssen **20080911214803] [add W.shiftMaster, fix float/tile-reordering bug Devin Mullins **20080911053909] [TAG 0.8 Spencer Janssen **20080905195412] Patch bundle hash: 949afdf4389f62d2a4487a9d1c2af5aa1e61dfcb From jeanbonh at ymail.com Sat May 16 14:47:52 2009 From: jeanbonh at ymail.com (jean bonhomme) Date: Sat May 16 14:32:44 2009 Subject: [xmonad] XMonad.Prompt.Directory and hidden directory Message-ID: <375318.48534.qm@web28415.mail.ukl.yahoo.com> Hello all, I'm using XMonad.Prompt.Directory in my xmonad.hs, and I would like to know if it is possible that it also prompts the hidden directory, at the moment, when I type . in the prompt I'm direct sent to parent directory with autocompletion, and I'm only prompted with .. with the autocompletion disabled. I've looked in the Directory.hs, made changes in filter lines and rebuild, but no changes. ? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/xmonad/attachments/20090516/82135751/attachment.html From contactdayo at gmail.com Sat May 16 14:47:50 2009 From: contactdayo at gmail.com (Dayo Adewunmi) Date: Sat May 16 14:32:57 2009 Subject: [xmonad] pidgin notifications Message-ID: <4A0F0A56.8080605@gmail.com> Hi in gnome when i'm in a different workspace and get an IM on pidgin, i can mouseOver the pidgin icon and get a bubble that pops down and tells me who just sent me how many IMs. How can I achieve this feature with xmonad? Thanks Dayo From flipser1336 at web.de Sat May 16 16:20:57 2009 From: flipser1336 at web.de (flipser1336@web.de) Date: Sat May 16 16:05:47 2009 Subject: [xmonad] pidgin notifications Message-ID: <1896422654@web.de> I think the problem is, that you now have no tray icon. You can get one for example with trayer or docker. (if you use trayer, don't forget --SetDockType true --SetPartialStrut true, so that xmonad makes a gap for the tray) A alternative is having a status bar, for example dzen with this plugin: http://code.google.com/p/pipe-notification/ An advantage of this is, that you even don't need to hover over the icon with the mouse > Hi > > in gnome when i'm in a different workspace and get an IM on pidgin, i > can mouseOver the pidgin icon and get a bubble that pops down and tells > me who just sent me how many IMs. How can I achieve this feature with > xmonad? > Thanks > > Dayo > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > __________________________________________________________________________ Verschicken Sie SMS direkt vom Postfach aus - in alle deutschen und viele ausl?ndische Netze zum gleichen Preis! https://produkte.web.de/webde_sms/sms From songcq at gmail.com Sun May 17 04:51:52 2009 From: songcq at gmail.com (Chengqi(Lars) Song) Date: Sun May 17 04:37:47 2009 Subject: [xmonad] display Xmobar on Left/Right? Message-ID: <20090517085152.GA10398@lars-x200s.ust.hk> hi, My screen is wide enough but not high enough, could we display Xmobar on Left/Right? Could the author please consider that request? :) Regards Lars From codesite-noreply at google.com Sun May 17 14:16:20 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Sun May 17 14:01:07 2009 Subject: [xmonad] Issue 165 in xmonad: Java apps cause xmonad to segfault (X11 FFI issue?) Message-ID: <0016e644c708a85d27046a1fac8f@google.com> Comment #3 on issue 165 by bgmrao: Java apps cause xmonad to segfault (X11 FFI issue?) http://code.google.com/p/xmonad/issues/detail?id=165 Could someone please explain how the UrgenyHooks can be removed? How do I overcome the crash? -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From codesite-noreply at google.com Sun May 17 15:10:31 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Sun May 17 14:55:19 2009 Subject: [xmonad] Issue 165 in xmonad: Java apps cause xmonad to segfault (X11 FFI issue?) Message-ID: <0016e644cef67ac14f046a206e22@google.com> Comment #4 on issue 165 by m...@twifkak.com: Java apps cause xmonad to segfault (X11 FFI issue?) http://code.google.com/p/xmonad/issues/detail?id=165 You can overcome the crash by upgrading your Haskell X11 lib and xmonad. (This bug has been closed for over a year.) Please ask about how to upgrade the X11 lib & xmonad or remove UrgencyHooks on the mailing list or IRC channel. We're a helpful bunch, but let's keep our bug tracker clean(ish). -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From songcq at gmail.com Mon May 18 01:09:26 2009 From: songcq at gmail.com (Chengqi(Lars) Song) Date: Mon May 18 00:55:14 2009 Subject: [xmonad] Bug with ghc's XFT binding? Message-ID: <20090518050926.GA11948@lars-x200s.ust.hk> hi, I'm using xmobar with xmonad. I found that it's hard to display Chinese characters in xmobar. So I made the following tests: Set up: 1. my system locale is en_US.utf-8 2. my xmobar is compiled with xft and utf8 support 3. in my xmobarrc, the font is set to be "xft:monospace-6" 3. in terminal, I run "cat | xmobar ~/.xmobarrc" The results: 1. English can be displayed well. But all Chinese characters are displayed in squares. 2. If I change the font in xmobarrc to be a Chinese font "xft:SimSun-6", then the display is correct. So I guess it might be a bug of xft binding in ghc's library. Do you have similiar experience in xmobar or someother programs? Regards Lars From contactdayo at gmail.com Mon May 18 17:47:37 2009 From: contactdayo at gmail.com (Dayo Adewunmi) Date: Mon May 18 18:01:44 2009 Subject: [xmonad] pidgin notifications In-Reply-To: <1896422654@web.de> References: <1896422654@web.de> Message-ID: <4A11D779.6070201@gmail.com> I have xmobar installed, will it work with that, or do I need to install dzen? flipser1336@web.de wrote: > I think the problem is, that you now have no tray icon. You can get one for example with trayer or docker. > (if you use trayer, don't forget --SetDockType true --SetPartialStrut true, so that xmonad makes a gap for the tray) > > A alternative is having a status bar, for example dzen with this plugin: > http://code.google.com/p/pipe-notification/ > An advantage of this is, that you even don't need to hover over the icon with the mouse > > >> Hi >> >> in gnome when i'm in a different workspace and get an IM on pidgin, i >> can mouseOver the pidgin icon and get a bubble that pops down and tells >> me who just sent me how many IMs. How can I achieve this feature with >> xmonad? >> Thanks >> >> Dayo >> _______________________________________________ >> xmonad mailing list >> xmonad@haskell.org >> http://www.haskell.org/mailman/listinfo/xmonad >> >> > __________________________________________________________________________ > Verschicken Sie SMS direkt vom Postfach aus - in alle deutschen und viele > ausl?ndische Netze zum gleichen Preis! > https://produkte.web.de/webde_sms/sms > > > > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > > From songcq at gmail.com Tue May 19 02:44:32 2009 From: songcq at gmail.com (Chengqi(Lars) Song) Date: Tue May 19 02:30:24 2009 Subject: [xmonad] toggle show/hide of a window? Message-ID: <20090519064432.GA6826@lars-x200s.ust.hk> hi, how can we use keyboard to control a window? in fact it's my tray window. i want to do the following things: - toggle show/hide - bring to top - send to background can use bind keyboard with these operations to a window? thanks lars From konstantin.sobolev at gmail.com Tue May 19 12:03:29 2009 From: konstantin.sobolev at gmail.com (Konstantin Sobolev) Date: Tue May 19 11:48:30 2009 Subject: [xmonad] toggle show/hide of a window? In-Reply-To: <20090519064432.GA6826@lars-x200s.ust.hk> References: <20090519064432.GA6826@lars-x200s.ust.hk> Message-ID: <94608ad80905190903o29e0cf1at8fe853c55d1a20a3@mail.gmail.com> On Tue, May 19, 2009 at 2:44 AM, Chengqi(Lars) Song wrote: > hi, > > how can we use keyboard to control a window? in fact it's my tray window. i want to do the following things: > > - toggle show/hide > - bring to top > - send to background > > can use bind keyboard with these operations to a window? You can use NamedScratchpad without setting up it's manage hook to toggle window visibility. There's an unaccepted patch which allows to do it in a more clean way. http://article.gmane.org/gmane.comp.lang.haskell.xmonad/7592 From mcfiredrill at gmail.com Tue May 19 19:25:36 2009 From: mcfiredrill at gmail.com (Tony Miller) Date: Tue May 19 19:10:17 2009 Subject: [xmonad] Bug with ghc's XFT binding? In-Reply-To: <20090518050926.GA11948@lars-x200s.ust.hk> References: <20090518050926.GA11948@lars-x200s.ust.hk> Message-ID: So what you're saying is, the chinese characters display correctly with the chinese font, but incorrectly with a non-chinese font. Sounds like everything is working to me. ;) Unless you are saying that the chinese characters work with the other font in programs aside from xmobar? On Sun, May 17, 2009 at 10:09 PM, Chengqi(Lars) Song wrote: > hi, > > I'm using xmobar with xmonad. I found that it's hard to display Chinese > characters in xmobar. So I made the following tests: > > Set up: > 1. my system locale is en_US.utf-8 > 2. my xmobar is compiled with xft and utf8 support > 3. in my xmobarrc, the font is set to be "xft:monospace-6" > 3. in terminal, I run "cat | xmobar ~/.xmobarrc" > > The results: > 1. English can be displayed well. But all Chinese characters are displayed > in squares. > 2. If I change the font in xmobarrc to be a Chinese font "xft:SimSun-6", > then the display is correct. > > So I guess it might be a bug of xft binding in ghc's library. Do you have > similiar experience in xmobar or someother programs? > > Regards > Lars > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/xmonad/attachments/20090519/4fb20226/attachment.html From songcq at gmail.com Tue May 19 21:22:52 2009 From: songcq at gmail.com (Chengqi(Lars) Song) Date: Tue May 19 21:08:41 2009 Subject: [xmonad] Bug with ghc's XFT binding? In-Reply-To: References: <20090518050926.GA11948@lars-x200s.ust.hk> Message-ID: <20090520012252.GA5429@lars-x200s.ust.hk> in item3 of my set up, "xft:monospace-6" is a xft font family, which includes all monospace fonts. if the XFT binding works well, the program should find monospace font for each language individually. but now it cannot find the monospace font for chinese, that's why im saying there is something wrong. lars On Tue, 19 May 2009, Tony Miller wrote: > So what you're saying is, the chinese characters display correctly with the > chinese font, but incorrectly with a non-chinese font. Sounds like > everything is working to me. ;) > > Unless you are saying that the chinese characters work with the other font > in programs aside from xmobar? > > On Sun, May 17, 2009 at 10:09 PM, Chengqi(Lars) Song wrote: > > > hi, > > > > I'm using xmobar with xmonad. I found that it's hard to display Chinese > > characters in xmobar. So I made the following tests: > > > > Set up: > > 1. my system locale is en_US.utf-8 > > 2. my xmobar is compiled with xft and utf8 support > > 3. in my xmobarrc, the font is set to be "xft:monospace-6" > > 3. in terminal, I run "cat | xmobar ~/.xmobarrc" > > > > The results: > > 1. English can be displayed well. But all Chinese characters are displayed > > in squares. > > 2. If I change the font in xmobarrc to be a Chinese font "xft:SimSun-6", > > then the display is correct. > > > > So I guess it might be a bug of xft binding in ghc's library. Do you have > > similiar experience in xmobar or someother programs? > > > > Regards > > Lars > > _______________________________________________ > > xmonad mailing list > > xmonad@haskell.org > > http://www.haskell.org/mailman/listinfo/xmonad > > From john at yates-sheets.org Wed May 20 01:02:58 2009 From: john at yates-sheets.org (John Yates) Date: Wed May 20 00:47:40 2009 Subject: [xmonad] Some Gnome fit and finish work Message-ID: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> I would like to convince work colleagues using recent Ubuntu and RedHat distributions to give a tiling wm a try. For many jarring visuals may be enough to create resistance. Thus I have taken it upon myself to produce a well polished Gnome integration. Here I am posting some results of that work. I started with a vanilla Ubuntu Gnome setup. I dropped the lower Gnome panel and its applets. On the remaining upper panel I included left to right: - a standard Gnome separator applet - the Gnome Window Selector applet - a recent dzen2 build with Xft support, configured to occupy the middle half of the bar and to display only the current window's title in a style identical to the rest of the panel - the Gnome Workspace Switcher applet Attached bar.png exhibits this basic configuration. I particularly like having the Window Selector display the current window's icon to the left of the title. Attached window-selector.png shows the applet in its dropped-down state. The biggest effort was getting a dmenu that looked right on the bar. I know nothing about graphics, font rendering, etc. But between Alexander Polakov's patch for dmenu 3.4 and the example of Robert Manea's xft support in dzen I got it to work (dmenu-4.0-xft.diff). To get a properly sized dmenu bar I had to add a -bh option to configure bar height. Net net effect is a dmenu bar using the same font and colors (see dmenu.png). My xmonad.hs at the moment is utterly sparse but does attempt to simplify the process of accommodating additional themes. /john -------------- next part -------------- A non-text attachment was scrubbed... Name: bar.png Type: image/png Size: 19271 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090520/e5c051a8/bar-0001.png -------------- next part -------------- A non-text attachment was scrubbed... Name: dmenu.png Type: image/png Size: 10201 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090520/e5c051a8/dmenu-0001.png -------------- next part -------------- A non-text attachment was scrubbed... Name: window-selector.png Type: image/png Size: 56187 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090520/e5c051a8/window-selector-0001.png -------------- next part -------------- A non-text attachment was scrubbed... Name: dmenu-4.0-xft.diff Type: text/x-patch Size: 7067 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090520/e5c051a8/dmenu-4.0-xft-0001.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: xmonad.hs Type: text/x-haskell Size: 2569 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090520/e5c051a8/xmonad-0001.bin From henri.ducrocq at gmail.com Wed May 20 05:29:34 2009 From: henri.ducrocq at gmail.com (Henri Ducrocq) Date: Wed May 20 05:14:17 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> Message-ID: <1242811296-sup-3085@ptoseis> Excerpts from John Yates's message of Wed May 20 06:02:58 +0100 2009: > - the Gnome Window Selector applet > - a recent dzen2 build with Xft support, configured to occupy the > middle half of the bar and to display only the current window's title > in a style identical to the rest of the panel Very nice, however why not just use the Window List applet instead of Window Selector? Then you don't have to bother with dzen at all. -- Henri From john at yates-sheets.org Wed May 20 07:14:12 2009 From: john at yates-sheets.org (John Yates) Date: Wed May 20 06:58:51 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: <1242811296-sup-3085@ptoseis> References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> <1242811296-sup-3085@ptoseis> Message-ID: <3f14737c0905200414k63b60d6aqd5844093bb8707ed@mail.gmail.com> On Wed, May 20, 2009 at 5:29 AM, Henri Ducrocq wrote: > Very nice, however why not just use the Window List applet instead of > Window Selector? Then you don't have to bother with dzen at all. Because the Window List applet generates the series of every narrowing buttons that typically appears in a bottom bar. Having such a UI element appear at the top of the screen would be disconcerting. Also, since I use layouts without title bars I need some place to render the full title of the current window. The most common tiling wm solution is as part of the top bar. At present I consider the Window Selector mostly a learning aid, clarifying for new users the distribution of windows across workspaces. This is because using it requires using a mouse. I may shift to viewing the Window Selector as a more integral part of the UI if I can figure out how to activate / navigate it using only the keyboard. /john From codesite-noreply at google.com Wed May 20 09:01:19 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 20 08:45:59 2009 Subject: [xmonad] Issue 290 in xmonad: Windows are no longer visible but are still there Message-ID: <000e0cd28d52a5b3dd046a579ff5@google.com> Comment #7 on issue 290 by stefano.zacchiroli: Windows are no longer visible but are still there http://code.google.com/p/xmonad/issues/detail?id=290 I've no idea what "sane" means as I'm not familiar with the semantics of that value, anyhow I've just reproduced the problem (thus far I've been living with the contrib disabled for a while) and here is the result of the xprop grep: zack@usha:~$ xprop | grep _NET_WM_WINDOW_OPACITY _NET_WM_WINDOW_OPACITY(CARDINAL) = 3149642683 Is that value sane? Does it mean that the bug is xcompmgr's or not? TIA, Cheers. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From john at yates-sheets.org Wed May 20 09:20:25 2009 From: john at yates-sheets.org (John Yates) Date: Wed May 20 09:05:05 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> Message-ID: <3f14737c0905200620t624963cfkab027d31acac087d@mail.gmail.com> On Wed, May 20, 2009 at 9:10 AM, Gwern Branwen wrote: > Are you going to upload your config & pics to the haskell wiki? Yes. I will do it this evening. /john From vogt.adam at gmail.com Wed May 20 10:37:18 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Wed May 20 10:22:03 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> Message-ID: <20090520143628.GA2457@rescue> Line 69: it could result in a pattern match failure if it is applied to lists shorter than 3 elements. Most likely DynamicLog doesn't do that, so the function is safe (and IIRC xmonad would catch the error anyways). The alternative using take and drop is shorter too: > , ppOrder = \(_:_:title:_) -> [title] -- no easier way? > , ppOrder = take 1 . drop 2 There is also XMonad.Config.Gnome.gnomeConfig which hides the ewmh and avoidstruts stuff. It may be worth considering using instead of XMonad.defaultConfig. Adam From me at twifkak.com Wed May 20 14:41:25 2009 From: me at twifkak.com (Devin Mullins) Date: Wed May 20 14:26:02 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> Message-ID: <20090520184124.GA3170@twifkak.com> On Wed, May 20, 2009 at 01:02:58AM -0400, John Yates wrote: > The biggest effort was getting a dmenu that looked right on the bar. Why not use XMonad.Prompt.Window from contrib? I believe you have to compile contrib with xft support (see xmonad-contrib.cabal), but at least there's no patching, and I think it looks better. -- Anyone can memorize things, but the important thing is to understand it. Lucky Numbers 6, 7, 19, 24, 26, 29 From codesite-noreply at google.com Wed May 20 15:01:39 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Wed May 20 14:46:18 2009 Subject: [xmonad] Issue 290 in xmonad: Windows are no longer visible but are still there Message-ID: <000e0cd2dc5849e1de046a5ca81c@google.com> Comment #8 on issue 290 by SpencerJanssen: Windows are no longer visible but are still there http://code.google.com/p/xmonad/issues/detail?id=290 Yes, that value is reasonable (about 73% opaque). xcompmgr and the X server are responsible for drawing the window, so the bug is in one of those. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From john at yates-sheets.org Thu May 21 09:47:26 2009 From: john at yates-sheets.org (John Yates) Date: Thu May 21 09:32:03 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: <20090520143628.GA2457@rescue> References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> <20090520143628.GA2457@rescue> Message-ID: <3f14737c0905210647k5b2da922x9d721280143345ad@mail.gmail.com> On Wed, May 20, 2009 at 10:37 AM, Adam Vogt wrote: > Line 69: it could result in a pattern match failure if it is applied to > lists shorter than 3 elements. Most likely DynamicLog doesn't do that, so > the function is safe (and IIRC xmonad would catch the error anyways). The > alternative using take and drop is shorter too: > >> , ppOrder = \(_:_:title:_) -> ?[title] -- no easier way? > >> , ppOrder = take 1 . drop 2 Done. > There is also XMonad.Config.Gnome.gnomeConfig which hides the ewmh and > avoidstruts stuff. It may be worth considering using instead of > XMonad.defaultConfig. Thanks for the pointer. gnomeConfig definitely simplifies my xmonad.hs though currently it is not a total ewmh solution. I still have to include ewmhDesktopsLogHook in myLogHookWithPP (see attached). /john -------------- next part -------------- A non-text attachment was scrubbed... Name: xmonad.hs Type: text/x-haskell Size: 2420 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090521/a612cc53/xmonad.bin From john at yates-sheets.org Thu May 21 10:07:04 2009 From: john at yates-sheets.org (John Yates) Date: Thu May 21 09:59:35 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> Message-ID: <3f14737c0905210707u4c6974a4nff2282c701d3b960@mail.gmail.com> On Wed, May 20, 2009 at 9:10 AM, Gwern Branwen wrote: > Are you going to upload your config & pics to the haskell wiki? I would like to but I do not have an account. The wiki banner announces "Note: new account creation has been disabled as an anti-spam measure". /john From byorgey at seas.upenn.edu Thu May 21 14:48:26 2009 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Thu May 21 14:32:03 2009 Subject: [xmonad] Some Gnome fit and finish work In-Reply-To: <3f14737c0905210707u4c6974a4nff2282c701d3b960@mail.gmail.com> References: <3f14737c0905192202l6441b541wa1ca00ccbc9bad64@mail.gmail.com> <3f14737c0905210707u4c6974a4nff2282c701d3b960@mail.gmail.com> Message-ID: <20090521184826.GA27556@seas.upenn.edu> On Thu, May 21, 2009 at 10:07:04AM -0400, John Yates wrote: > On Wed, May 20, 2009 at 9:10 AM, Gwern Branwen wrote: > > > Are you going to upload your config & pics to the haskell wiki? > > I would like to but I do not have an account. The wiki banner > announces "Note: new account creation has been disabled as an > anti-spam measure". Yeah, that's a pain. But I think you can still get an account by emailing Ashley Yakeley, ashley at semantic dot org. (See this email: http://www.haskell.org//pipermail/haskell/2009-February/021012.html .) -Brent From codesite-noreply at google.com Fri May 22 10:28:29 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Fri May 22 10:13:02 2009 Subject: [xmonad] Issue 295 in xmonad: X.A.Submap doesn't work in russian layout. Message-ID: <0016364c5983018235046a81136c@google.com> Status: New Owner: ---- New issue 295 by alexey.skladnoy: X.A.Submap doesn't work in russian layout. http://code.google.com/p/xmonad/issues/detail?id=295 Submap actions don't work when in russian layout. In english layout it does work without problem. Standard xmonad key bindings work in both layouts. I'm using version from darcs. 0.8 is affected to AFAIR. Layout are set up with XCB. $ setxkbmap -model pc104 -layout us,ru -variant basic,winkeys $ setxkbmap -option -option "grp_led:scroll,grp:shifts_toggle,compose:menu,ctrl:nocaps" What is the expected output? What do you see instead? Working combinations, of cource. Please provide any additional information below. Below is snippet from X.A.Submap. Quick research shown that keymasks m and m' has bit (1<<13) set when russian layout chosen. I have no idea how to interpert it. > -- | Like 'submap', but executes a default action if the key did not > match. > submapDefault :: X () -> M.Map (KeyMask, KeySym) (X ()) -> X () > submapDefault def keys = do > XConf { theRoot = root, display = d } <- ask > io $ grabKeyboard d root False grabModeAsync grabModeAsync currentTime > (m, s) <- io $ allocaXEvent $ \p -> fix $ \nextkey -> do > maskEvent d keyPressMask p > KeyEvent { ev_keycode = code, ev_state = m } <- getEvent p > keysym <- keycodeToKeysym d code 0 > if isModifierKey keysym > then nextkey > else return (m, keysym) > m' <- cleanMask m > maybe def id (M.lookup (m', s) keys) > io $ ungrabKeyboard d currentTime -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From joseph.h.garvin at gmail.com Fri May 22 15:31:53 2009 From: joseph.h.garvin at gmail.com (Joseph Garvin) Date: Fri May 22 15:16:24 2009 Subject: [xmonad] How to diagnose programs not launching? Message-ID: I have a key set to runOrRaise "firefox3". Recently, it stopped working and I can't figure out why. Running firefox3 manually from the shell works fine, just not the shortcut. Is there a way to see what errors xmonad is receiving when it tries to run the command? I already tried looking at .xmonad/xmonad.errors, it just says: on the commandline: Warning: -no-recomp is deprecated: Use -fforce-recomp instead Which I suspect is related to xmonad rather than my firefox call. From alexey.skladnoy at gmail.com Fri May 22 17:55:39 2009 From: alexey.skladnoy at gmail.com (Khudyakov Alexey) Date: Fri May 22 17:37:26 2009 Subject: [xmonad] How to diagnose programs not launching? In-Reply-To: References: Message-ID: <200905230155.39895.alexey.skladnoy@gmail.com> On Friday 22 May 2009 23:31:53 Joseph Garvin wrote: > I have a key set to runOrRaise "firefox3". Recently, it stopped > working and I can't figure out why. Running firefox3 manually from the > shell works fine, just not the shortcut. Is there a way to see what > errors xmonad is receiving when it tries to run the command? I already > tried looking at .xmonad/xmonad.errors, it just says: > > on the commandline: > Warning: -no-recomp is deprecated: Use -fforce-recomp instead > > Which I suspect is related to xmonad rather than my firefox call. > Another place to look is ~/.xession-errors. It is file where xmonad's stdout and stderr are redirected. Outputs of processes created by xmonad are redirected to the same place. So if xmonad tries to launch something and it fails there is chance that it will write something meaningful to that file. From ccshan at post.harvard.edu Fri May 22 17:59:16 2009 From: ccshan at post.harvard.edu (Chung-chieh Shan) Date: Fri May 22 17:54:34 2009 Subject: [xmonad] Re: How to diagnose programs not launching? References: Message-ID: Joseph Garvin wrote in article in gmane.comp.lang.haskell.xmonad: > I have a key set to runOrRaise "firefox3". Recently, it stopped > working and I can't figure out why. Running firefox3 manually from the > shell works fine, just not the shortcut. Is there a way to see what > errors xmonad is receiving when it tries to run the command? Perhaps ~/.xsession-errors ? -- Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig "you can change the signature file I use" --- can I change the file, or your practices? Can I change you? If this is an automated message, I guess all three in one go. From codesite-noreply at google.com Fri May 22 20:21:36 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Fri May 22 20:06:08 2009 Subject: [xmonad] Issue 296 in xmonad: Broken link in the XMonad.Doc.Configuring page Message-ID: <000e0cd172a4347733046a895cb7@google.com> Status: New Owner: ---- New issue 296 by carl.hauser: Broken link in the XMonad.Doc.Configuring page http://code.google.com/p/xmonad/issues/detail?id=296 What steps will reproduce the problem? 1. Click the link XMonad.Core on the page http://www.xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Doc-Configuring.html What is the expected output? What do you see instead? Expected: documentation for XMonad.Core. Instead: "The requested URL /xmonad-docs/xmonad-contrib/XMonad-Core.html was not found on this server." What version of the product are you using? On what operating system? Not applicable Are you using an xmonad.hs? Please attach it and the output of "xmonad --recompile". Not applicable Please provide any additional information below. The correct link is http://www.xmonad.org/xmonad-docs/xmonad/XMonad-Core.html (i.e. xmonad instead of xmonad-contrib) -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From jeanbonh at ymail.com Sat May 23 18:03:19 2009 From: jeanbonh at ymail.com (jean bonhomme) Date: Sat May 23 17:47:48 2009 Subject: [xmonad] mpc output in xmobar Message-ID: <455523.1104.qm@web28413.mail.ukl.yahoo.com> Hello, I would like to pipe this command : echo -n "$(mpc --format "%file%" | head -n 1)" to xmobar. I haven't found any infos on how to do it. I've tried severals methods but without any success. On my best test, I could see the output in ~/.xsession-errors, but that wasn't my goal. When someone knows how to do it, please let me know. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/xmonad/attachments/20090523/1f3f4e1d/attachment.html From jan.h.xie at gmail.com Sat May 23 18:20:37 2009 From: jan.h.xie at gmail.com (Jan) Date: Sat May 23 18:04:24 2009 Subject: [xmonad] mpc output in xmobar In-Reply-To: <455523.1104.qm@web28413.mail.ukl.yahoo.com> References: <455523.1104.qm@web28413.mail.ukl.yahoo.com> Message-ID: <20090523222037.GA7562@aiur> Write the mpc status to a pipe(mkfifo) then read the data with xmobar's pipe reader plugin? -J * jean bonhomme [2009-05-23 22:03:19 +0000]: > Hello, > I would like to pipe this command : > echo -n "$(mpc --format "%file%" | head -n 1)" > to xmobar. > I haven't found any infos on how to do it. > I've tried severals methods but without any success. > On my best test, I could see the output in ~/.xsession-errors, but that wasn't my goal. > When someone knows how to do it, please let me know. > > > > > > > > > > > > > > _______________________________________________ > xmonad mailing list > xmonad@haskell.org > http://www.haskell.org/mailman/listinfo/xmonad -- jan=callcc{|jan|jan};jan.call(jan) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 489 bytes Desc: not available Url : http://www.haskell.org/pipermail/xmonad/attachments/20090523/292aea2e/attachment.bin From roma at ro-che.info Sat May 23 18:20:04 2009 From: roma at ro-che.info (Roman Cheplyaka) Date: Sat May 23 18:04:37 2009 Subject: [xmonad] mpc output in xmobar In-Reply-To: <455523.1104.qm@web28413.mail.ukl.yahoo.com> References: <455523.1104.qm@web28413.mail.ukl.yahoo.com> Message-ID: <20090523222004.GA1005@flit> * jean bonhomme [2009-05-23 22:03:19+0000] > Hello, > I would like to pipe this command : > echo -n "$(mpc --format "%file%" | head -n 1)" > to xmobar. > I haven't found any infos on how to do it. > I've tried severals methods but without any success. > On my best test, I could see the output in ~/.xsession-errors, but that wasn't my goal. > When someone knows how to do it, please let me know. Here's what I have for xmms2: , commands = [ ... Run Com "xmms2" ["current"] "" 10, ... ] -- Roman I. Cheplyaka (aka Feuerbach @ IRC) http://ro-che.info/docs/xmonad.hs From ankaan at gmail.com Sat May 23 20:02:12 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sat May 23 19:46:42 2009 Subject: [xmonad] darcs patch: X.A.FloatSnap - Assisted move/resize of windows Message-ID: <4a188e84.0aaa660a.4a53.ffff8e56@mx.google.com> Sun May 24 01:52:30 CEST 2009 Anders Engstrom * X.A.FloatSnap - Assisted move/resize of windows TODO: Try to snap against unmanaged windows such as dzen/xmobar. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 52949 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090523/53dc61af/attachment-0001.bin From gwern0 at gmail.com Sat May 23 20:36:52 2009 From: gwern0 at gmail.com (Gwern Branwen) Date: Sat May 23 20:28:28 2009 Subject: [xmonad] Summary of unapplied patches: XMonad core Message-ID: It's that time of the month again, where we gander at http://darcswatch.nomeata.de/repo_http:__code.haskell.org_xmonad.html and see what patches yet wander mournfully the outer dark! # Core - 20080512200857: add warpGeometry field to XConf by Lukas Mai This has been outstanding for a year now. Is it rejected? Accepted? I've cc'd Lukas, maybe he knows more. But still, a year with no resolution of a patch doesn't reflect well on our process. - 20080516200947: quick hack to avoid infinite (but breakable) loop when using Tabbed. by David Roundy I'm marking this as rejected. Spencer weighed in with some arcane X11 issue that rendered it unsuitable and Dr. Roundy seemed to agree, so... - 20080605045423: pass mouse clicks on to focused windows (experimental) by Lukas Mai No comments, as with Lukas's other patch. - 20080622151804: Use threadWaitRead to avoid blocking in nextEvent in the main loop by Adam Sampson An amended version which fixed an objection by Brandon. No comments on the amended version... - 20080715143436: keyActions moved to XState by Marco T?lio Gontijo e Silva Another old stalwart of the patch-review email. My email a few months ago soliciting comments on this received no reply. - 20081008162906: Switch screen for leaveNotify events by Joachim Breitner No comments on Joachim's patch. - 20081008164506: change screen by clicking on an empty screen by Joachim Breitner Spencer apparently pushed a similar patch. I've marked it obsolete. - 20081125211944: Correctly implement section 4.1.7 of ICCCM by Roman Cheplyaka Apparently blocked on a getWMHints patch than Roman needs to send? - 20081213210602: Grab all keycodes linked to each keysym, not just one by svein.ove@aas.no byorgey asked Svein what the purpose of this patch was. Svein has yet to answer. I'm leaning towards marking this one rejected - Svein has had almost half a year to reply. - 20090111185253: Support for custom X Event handler by Daniel Schoepe A little confusing. Spencer says he applied it, but when I look at my local repo, the only similar patch by Daniel that I see is 'Support for custom event hooks'. Did Spencer apply something else? - 20090114215556: Replaced custom forever_ by library function by Daniel Schoepe The discussion of this centered on how it broke on some ancient GHC being used in Debian stable and the old BSDs (GHC 6.6, specifically, I think). Inasmuch as no one has stepped up to the plate to unbreak xmonad & xmonadcontrib on 6.6, I think this should be applied; it's not worsening the situation, and it makes the source better. - 20090320024624: man_xmonad.hs: import Data.Monoid for mempty, keybinding edits by wirtwolff@gmail.com Spencer says he applied it, but again, I don't see any trace of it locally. Did we change repos from http://code.haskell.org/xmonad and someone not tell me? :) - 20090321232907: Add lib to ghc searchpath with recompilation check by Adam Vogt Another lonely patch with no comments or review. - 20090424012750: Use System.FilePath.() instead of (++ "/" ++) in Core.hs by Adam Vogt Ditto. - 20090503235415: Only watch mtime for .hs, .lhs, .hsc for ~/.xmonad/lib by Adam Vogt Ditto. - 20090321233736: Pester the user with one (not two) xmessages on config errors by Adam Vogt Another lonely patch. It sounds good to me, and the change seems reasonable. - 20090408185956: Use window's border width in floatLocation by Daniel Schoepe Spencer seemed to think this would break as much as it fixed; so I've marked it rejected. - 20090516104753: Fix for Tall documentation by Khudyakov Alexey Amended doc bug fix. Doesn't seem to be any reason it hasn't been applied. -- gwern From jgoerzen at complete.org Sat May 23 23:20:05 2009 From: jgoerzen at complete.org (John Goerzen) Date: Sat May 23 23:04:37 2009 Subject: [xmonad] KPowerSave trouble Message-ID: <4A18BCE5.10909@complete.org> Hi folks, I've been running xmonad for awhile, and recently decided that I'd like to try it with KDE 4. I followed the various instructions on the wiki, and it worked mostly well. I have the KDE tray thing, whatever it's called now, going. And it works fine with all the KDE and Gnome apps that use it. Except for kpowersave. xmonad wants to give it its own window instead of putting it up in the tray where it belongs. This results in the rather hilarious situation of it getting a giant window for a 64x64 icon. I tried setting it to ignore in my xmonad.hs, but that didn't help. Before I switched to xmonad, kpowersave went into the tray like a nice little app. Any ideas what to do? -- John From jeanbonh at ymail.com Sun May 24 04:05:49 2009 From: jeanbonh at ymail.com (jean bonhomme) Date: Sun May 24 03:50:17 2009 Subject: [xmonad] mpc output in xmobar Message-ID: <643492.89797.qm@web28406.mail.ukl.yahoo.com> Thanks, it works also for me with: ???????? , command = [ ???????????????????? ... ???????????????????? Run Com "mpc" ["--format %file% | head -n 1"] "" 10, ? ? ? ? ? ? ? ? ? ?? ... ? ? ? ? ? ? ? ? ? ?? ] my mistake was that i hadn't "Com" written in my Run line.? ?? --- En date de?: Sam 23.5.09, Roman Cheplyaka a ?crit?: Here's what I have for xmms2: ? ? ???, commands = [ ? ? ? ? ? ? ? ? ? ... ? ? ? ? ? ? ? ? ? Run Com "xmms2" ["current"] "" 10, ? ? ? ? ? ? ? ? ? ... ? ? ? ? ? ? ? ? ? ] -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/xmonad/attachments/20090524/8d0122d5/attachment.html From jeanbonh at ymail.com Sun May 24 04:46:15 2009 From: jeanbonh at ymail.com (jean bonhomme) Date: Sun May 24 04:30:43 2009 Subject: [xmonad] mpc output in xmobar Message-ID: <769373.88113.qm@web28409.mail.ukl.yahoo.com> Thanks, It works perfect! I've adapted Roman Cheplyaka's answer to my case, it works also good, but after a while, I've noticed that it writes to xmobar and also to ~/.xsession-errors, maybe I've missed something. Later, I've seen your answer, tried it and saw it writes only to xmobar and not to ~/.xsession-errors anymore so I keep it. --- En date de?: Sam 23.5.09, Johannes H?hn a ?crit?: , Run Com "bash" ["~/system/mpc.sh"] "mpc" 10 worked fine for me with #! /bin/sh echo -n "$(mpc --format "%file%" | head -n 1)" -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/xmonad/attachments/20090524/4a1887a5/attachment.html From mail at joachim-breitner.de Sun May 24 07:47:15 2009 From: mail at joachim-breitner.de (Joachim Breitner) Date: Sun May 24 07:31:46 2009 Subject: [xmonad] Summary of unapplied patches: XMonad core In-Reply-To: References: Message-ID: <1243165635.4961.5.camel@localhost> Hi, Am Samstag, den 23.05.2009, 20:36 -0400 schrieb Gwern Branwen: > - 20081008162906: Switch screen for leaveNotify events by Joachim > Breitner > No comments on Joachim's patch. > > - 20081008164506: change screen by clicking on an empty screen by > Joachim Breitner > Spencer apparently pushed a similar patch. I've marked it obsolete. Judging from the dates, these are related and the ifrst one can be marked as obsolete as well. I vaguely remember to create some patches after Spencer did his work, to round off some edges. I guess these were contrib only then, or already apprlied. Greetings, Joachim -- Joachim Breitner e-Mail: mail@joachim-breitner.de Homepage: http://www.joachim-breitner.de ICQ#: 74513189 Jabber-ID: nomeata@joachim-breitner.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: Dies ist ein digital signierter Nachrichtenteil Url : http://www.haskell.org/pipermail/xmonad/attachments/20090524/09f14564/attachment.bin From gwern0 at gmail.com Sun May 24 10:22:54 2009 From: gwern0 at gmail.com (Gwern Branwen) Date: Sun May 24 10:07:21 2009 Subject: [xmonad] Summary of unapplied patches: XMonad core In-Reply-To: <1243165635.4961.5.camel@localhost> References: <1243165635.4961.5.camel@localhost> Message-ID: On Sun, May 24, 2009 at 7:47 AM, Joachim Breitner wrote: > Judging from the dates, these are related and the ifrst one can be > marked as obsolete as well. I vaguely remember to create some patches > after Spencer did his work, to round off some edges. I guess these were > contrib only then, or already apprlied. > > > Greetings, > Joachim OK. I've marked that one obsolete as well. -- gwern From ats at offog.org Sun May 24 15:37:21 2009 From: ats at offog.org (Adam Sampson) Date: Sun May 24 15:21:49 2009 Subject: [xmonad] Re: Summary of unapplied patches: XMonad core In-Reply-To: References: Message-ID: <20090524193721.GB19929@cartman.at.offog.org> On Sat, May 23, 2009 at 08:36:52PM -0400, Gwern Branwen wrote: > - 20080622151804: Use threadWaitRead to avoid blocking in nextEvent in > the main loop by Adam Sampson > An amended version which fixed an objection by Brandon. No > comments on the amended version... I think the executive summary of the original discussion was that it'd be better to do this in the X bindings, if anywhere. I'm not using it myself any more anyway, so I'm happy for it to be dropped. Thanks, -- Adam Sampson From gwern0 at gmail.com Sun May 24 15:52:13 2009 From: gwern0 at gmail.com (Gwern Branwen) Date: Sun May 24 15:36:38 2009 Subject: [xmonad] Re: Summary of unapplied patches: XMonad core In-Reply-To: <20090524193721.GB19929@cartman.at.offog.org> References: <20090524193721.GB19929@cartman.at.offog.org> Message-ID: On Sun, May 24, 2009 at 3:37 PM, Adam Sampson wrote: > I think the executive summary of the original discussion was that it'd > be better to do this in the X bindings, if anywhere. I'm not using it > myself any more anyway, so I'm happy for it to be dropped. > > Thanks, > OK. I've gotten rid of it, then. -- gwern From ankaan at gmail.com Sun May 24 16:21:39 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sun May 24 16:06:09 2009 Subject: [xmonad] darcs patch: X.A.FloatSnap - Assisted move/resize of ... (and 1 more) Message-ID: <4a19ac53.0c07560a.1674.0f9a@mx.google.com> Sun May 24 01:52:30 CEST 2009 Anders Engstrom * X.A.FloatSnap - Assisted move/resize of windows TODO: Try to snap against unmanaged windows such as dzen/xmobar. Sun May 24 22:11:43 CEST 2009 Anders Engstrom * X.A.FloatSnap - More configuration for magic resize, adaption for mouse bindings and some minor fixes -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 62402 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090524/96d8db8b/attachment-0001.bin From ankaan at gmail.com Sun May 24 17:05:08 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sun May 24 16:49:35 2009 Subject: [xmonad] darcs patch: FloatSnap fix maintainer (and 1 more) Message-ID: <4a19b684.1438560a.73f9.3960@mx.google.com> Sun May 24 22:58:54 CEST 2009 Anders Engstrom * FloatSnap fix maintainer Sun May 24 22:59:57 CEST 2009 Anders Engstrom * LayoutBuilder fix maintainer -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 40189 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090524/83a6dffe/attachment-0001.bin From vogt.adam at gmail.com Sun May 24 17:14:23 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 24 16:58:52 2009 Subject: [xmonad] darcs patch: X.A.FloatSnap - Assisted move/resize of ... (and 1 more) In-Reply-To: <4a19ac53.0c07560a.1674.0f9a@mx.google.com> References: <4a19ac53.0c07560a.1674.0f9a@mx.google.com> Message-ID: <20090524211423.GA1859@rescue> * On Sunday, May 24 2009, Anders Engstrom wrote: >Sun May 24 01:52:30 CEST 2009 Anders Engstrom > * X.A.FloatSnap - Assisted move/resize of windows > > TODO: Try to snap against unmanaged windows such as dzen/xmobar. > > >Sun May 24 22:11:43 CEST 2009 Anders Engstrom > * X.A.FloatSnap - More configuration for magic resize, adaption for mouse bindings and some minor fixes Applied, thanks >_______________________________________________ >xmonad mailing list >xmonad@haskell.org >http://www.haskell.org/mailman/listinfo/xmonad From vogt.adam at gmail.com Sun May 24 17:14:38 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sun May 24 17:22:04 2009 Subject: [xmonad] darcs patch: FloatSnap fix maintainer (and 1 more) In-Reply-To: <4a19b684.1438560a.73f9.3960@mx.google.com> References: <4a19b684.1438560a.73f9.3960@mx.google.com> Message-ID: <20090524211438.GB1859@rescue> * On Sunday, May 24 2009, Anders Engstrom wrote: >Sun May 24 22:58:54 CEST 2009 Anders Engstrom > * FloatSnap fix maintainer > >Sun May 24 22:59:57 CEST 2009 Anders Engstrom > * LayoutBuilder fix maintainer Applied, thanks. >_______________________________________________ >xmonad mailing list >xmonad@haskell.org >http://www.haskell.org/mailman/listinfo/xmonad From codesite-noreply at google.com Sun May 24 21:27:46 2009 From: codesite-noreply at google.com (codesite-noreply@google.com) Date: Sun May 24 21:12:13 2009 Subject: [xmonad] Issue 19 in xmonad: Investigate a way to allow contrib extensions to use compositing. Message-ID: <000e0cd138d4853004046ab28494@google.com> Comment #11 on issue 19 by nmarshall23: Investigate a way to allow contrib extensions to use compositing. http://code.google.com/p/xmonad/issues/detail?id=19 * The best what to add composition would be to switch from xlib to xcb. xcb is reported to be faster. Haskell bindings for xcb can be found here: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhb More info about xcb: http://xcb.freedesktop.org/ I am new to Haskell, thanks xmonad for introducing / making me obsessed.. Other wise I would be tempted to try. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings From sergey at ingeniware.com Mon May 25 10:47:42 2009 From: sergey at ingeniware.com (Sergey Manucharian) Date: Mon May 25 10:32:34 2009 Subject: [xmonad] run a program when switching to a workspace Message-ID: <20090525084742.5a99a1ce@ingeniware.com> Hi folks, How can I configure xmonad to run a program when switching to a particular workspace? Example: I want to run a script changing the keyboard layout to "us" unconditionally when I'm on particular workspaces (with ssh, rdesktop etc.). Thanks! Sergey From alexey.skladnoy at gmail.com Mon May 25 11:03:28 2009 From: alexey.skladnoy at gmail.com (Khudyakov Alexey) Date: Mon May 25 10:45:00 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090525084742.5a99a1ce@ingeniware.com> References: <20090525084742.5a99a1ce@ingeniware.com> Message-ID: <200905251903.29258.alexey.skladnoy@gmail.com> On Monday 25 of May 2009 18:47:42 Sergey Manucharian wrote: > Hi folks, > > How can I configure xmonad to run a program when switching to a > particular workspace? Example: I want to run a script changing the > keyboard layout to "us" unconditionally when I'm on particular > workspaces (with ssh, rdesktop etc.). > Why not. Use something like this. I used key bindings description from EZConfig. > (("M-w") , spawn "some-program" >> windows $ W.greedyView "Some workspace") From spencerjanssen at gmail.com Mon May 25 19:32:28 2009 From: spencerjanssen at gmail.com (Spencer Janssen) Date: Mon May 25 19:16:57 2009 Subject: [xmonad] How to diagnose programs not launching? In-Reply-To: References: Message-ID: <20090525233228.GA29167@celeborn> On Fri, May 22, 2009 at 02:31:53PM -0500, Joseph Garvin wrote: > I have a key set to runOrRaise "firefox3". Recently, it stopped > working and I can't figure out why. Running firefox3 manually from the > shell works fine, just not the shortcut. Is there a way to see what > errors xmonad is receiving when it tries to run the command? I already > tried looking at .xmonad/xmonad.errors, it just says: > > on the commandline: > Warning: -no-recomp is deprecated: Use -fforce-recomp instead > > Which I suspect is related to xmonad rather than my firefox call. The xmonad error is just a harmless warning. Is the $PATH that xmonad receives different from the one your shell uses? This is a common mistake. Cheers, Spencer Janssen From sergey at ingeniware.com Tue May 26 11:58:57 2009 From: sergey at ingeniware.com (Sergey Manucharian) Date: Tue May 26 11:43:45 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <200905251903.29258.alexey.skladnoy@gmail.com> References: <20090525084742.5a99a1ce@ingeniware.com> <200905251903.29258.alexey.skladnoy@gmail.com> Message-ID: <20090526095857.404bcefb@ingeniware.com> On Mon, 25 May 2009 19:03:28 +0400 Khudyakov Alexey wrote: > On Monday 25 of May 2009 18:47:42 Sergey Manucharian wrote: > > Hi folks, > > > > How can I configure xmonad to run a program when switching to a > > particular workspace? Example: I want to run a script changing the > > keyboard layout to "us" unconditionally when I'm on particular > > workspaces (with ssh, rdesktop etc.). > > > Why not. > > Use something like this. I used key bindings description from > EZConfig. > > > (("M-w") , spawn "some-program" >> windows $ W.greedyView "Some > > workspace") Thanks for the reply, Alexey. Wouldn't it just add another key binding? What I meant is e.g. if I switch to the workspace "1" (no matter how) the keyboard layout falls to default one ("us") by running a script. In that case a key binding will not help... Cheers, Sergey From roma at ro-che.info Tue May 26 14:29:28 2009 From: roma at ro-che.info (Roman Cheplyaka) Date: Tue May 26 14:13:54 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090526095857.404bcefb@ingeniware.com> References: <20090525084742.5a99a1ce@ingeniware.com> <200905251903.29258.alexey.skladnoy@gmail.com> <20090526095857.404bcefb@ingeniware.com> Message-ID: <20090526182928.GA2401@flit> * Sergey Manucharian [2009-05-26 09:58:57-0600] > On Mon, 25 May 2009 19:03:28 +0400 > Khudyakov Alexey wrote: > > > On Monday 25 of May 2009 18:47:42 Sergey Manucharian wrote: > > > Hi folks, > > > > > > How can I configure xmonad to run a program when switching to a > > > particular workspace? Example: I want to run a script changing the > > > keyboard layout to "us" unconditionally when I'm on particular > > > workspaces (with ssh, rdesktop etc.). > > > > > Why not. > > > > Use something like this. I used key bindings description from > > EZConfig. > > > > > (("M-w") , spawn "some-program" >> windows $ W.greedyView "Some > > > workspace") > > Thanks for the reply, Alexey. > > Wouldn't it just add another key binding? > What I meant is e.g. if I switch to the workspace "1" (no matter how) > the keyboard layout falls to default one ("us") by running a script. In > that case a key binding will not help... Try TopicSpace module: http://code.haskell.org/XMonadContrib/XMonad/Actions/TopicSpace.hs -- Roman I. Cheplyaka (aka Feuerbach @ IRC) http://ro-che.info/docs/xmonad.hs From ankaan at gmail.com Tue May 26 18:40:00 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Tue May 26 18:24:22 2009 Subject: [xmonad] darcs patch: FloatSnap - calculate gaps instead of snapping against... Message-ID: <4a1c6fc0.0407560a.67cb.ffff888d@mx.google.com> Wed May 27 00:29:42 CEST 2009 Anders Engstrom * FloatSnap - calculate gaps instead of snapping against unmanaged windows This patch will remove snapping against unmanaged windows, but instead calculate a new rectangle with all gaps (computed by ManageDocks) removed. This new rectangle is used to snap against. (Both the inside and outside of the rectangle.) This will remedy the issue of snapping against multiple layers of the same window, additionally there will be no snap-points between windows on the same side. So if you are running two dzen side by side with half the screen each. You will not automatically have a snap-point in the middle. Naturally, this patch will change which function is exported from ManageDocks. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 44808 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090526/9d53af19/attachment-0001.bin From vogt.adam at gmail.com Tue May 26 20:35:51 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Tue May 26 20:20:14 2009 Subject: [xmonad] darcs patch: FloatSnap - calculate gaps instead of snapping against... In-Reply-To: <4a1c6fc0.0407560a.67cb.ffff888d@mx.google.com> References: <4a1c6fc0.0407560a.67cb.ffff888d@mx.google.com> Message-ID: <20090527003551.GA4126@dell> * On Tuesday, May 26 2009, Anders Engstrom wrote: >Wed May 27 00:29:42 CEST 2009 Anders Engstrom > * FloatSnap - calculate gaps instead of snapping against unmanaged windows > > This patch will remove snapping against unmanaged windows, but instead calculate a new rectangle with all gaps (computed by ManageDocks) removed. This new rectangle is used to snap against. (Both the inside and outside of the rectangle.) > > This will remedy the issue of snapping against multiple layers of the same window, additionally there will be no snap-points between windows on the same side. So if you are running two dzen side by side with half the screen each. You will not automatically have a snap-point in the middle. > > Naturally, this patch will change which function is exported from ManageDocks. Applied, thanks. Finally I see how my addition behaved strangely for you. Since I use only a single full-width xmobar I didn't get those excess snap-points which clearly are inconvenient. From vogt.adam at gmail.com Tue May 26 21:13:38 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Tue May 26 20:58:01 2009 Subject: [xmonad] Summary of unapplied patches: XMonad core In-Reply-To: References: Message-ID: <20090527011338.GB4126@dell> * On Saturday, May 23 2009, Gwern Branwen wrote: [snip] There was some discussion earlier here: http://code.google.com/p/xmonad/issues/detail?id=230&q=~%2F.xmonad%2Flib As it stands, these three patches address sjanssen's concerns about symlinks and hierarchical modules, since ghc seems to give the mtime from the file pointed to. >- 20090321232907: Add lib to ghc searchpath with recompilation check >by Adam Vogt > Another lonely patch with no comments or review. > >- 20090424012750: Use System.FilePath.() instead of (++ "/" ++) in >Core.hs by Adam Vogt > Ditto. > >- 20090503235415: Only watch mtime for .hs, .lhs, .hsc for >~/.xmonad/lib by Adam Vogt > Ditto. This last one is important, because otherwise the .o and .hi files force a recompile unnecessarily when starting xmonad (unpleasantly slow!), since they are often created at the same time as the xmonad-$arch-$os I don't mind this set is left out, since rebinding M-q to cabal install works quite the same when hacking on xmonad contrib. >- 20090321233736: Pester the user with one (not two) xmessages on >config errors by Adam Vogt > Another lonely patch. It sounds good to me, and the change seems > reasonable. Yeah, this one should never hide errors, since xmonad --recompile calls xmessage by itself. From nicolas.pouillard at gmail.com Wed May 27 04:39:35 2009 From: nicolas.pouillard at gmail.com (Nicolas Pouillard) Date: Wed May 27 04:25:09 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090526182928.GA2401@flit> References: <20090525084742.5a99a1ce@ingeniware.com> <200905251903.29258.alexey.skladnoy@gmail.com> <20090526095857.404bcefb@ingeniware.com> <20090526182928.GA2401@flit> Message-ID: <1243413466-sup-1293@ausone.inria.fr> Excerpts from Roman Cheplyaka's message of Tue May 26 20:29:28 +0200 2009: > * Sergey Manucharian [2009-05-26 09:58:57-0600] > > On Mon, 25 May 2009 19:03:28 +0400 > > Khudyakov Alexey wrote: > > > > > On Monday 25 of May 2009 18:47:42 Sergey Manucharian wrote: > > > > Hi folks, > > > > > > > > How can I configure xmonad to run a program when switching to a > > > > particular workspace? Example: I want to run a script changing the > > > > keyboard layout to "us" unconditionally when I'm on particular > > > > workspaces (with ssh, rdesktop etc.). > > > > > > > Why not. > > > > > > Use something like this. I used key bindings description from > > > EZConfig. > > > > > > > (("M-w") , spawn "some-program" >> windows $ W.greedyView "Some > > > > workspace") > > > > Thanks for the reply, Alexey. > > > > Wouldn't it just add another key binding? > > What I meant is e.g. if I switch to the workspace "1" (no matter how) > > the keyboard layout falls to default one ("us") by running a script. In > > that case a key binding will not help... > > Try TopicSpace module: > http://code.haskell.org/XMonadContrib/XMonad/Actions/TopicSpace.hs Currently TopicSpace have support for spawning a command when you enter an empty workspace, not each time you enter it. However it could be a nice addition. However I'm wondering if a hook would not be more appropriated. Best regards, -- Nicolas Pouillard From alexey.skladnoy at gmail.com Wed May 27 15:45:29 2009 From: alexey.skladnoy at gmail.com (Khudyakov Alexey) Date: Wed May 27 15:26:52 2009 Subject: [xmonad] [patch] Remove USE_UTF8 Message-ID: <200905272345.29418.alexey.skladnoy@gmail.com> Patch for you repository. * Remove USE_UTF8 defines. They are not needed any more since utf8-string is mandatory dependence. Related to unicode fix in EWMH -- Khudyakov Alexey -------------- next part -------------- Sun Apr 19 17:09:09 MSD 2009 Khudyakov Alexey * Remove USE_UTF8 defines. They are not needed any more since utf8-string is mandatory dependence. New patches: [Remove USE_UTF8 defines. Khudyakov Alexey **20090419130909 They are not needed any more since utf8-string is mandatory dependence. ] { hunk ./XMonad/Util/Font.hsc 46 import Graphics.X11.Xrender #endif -#if defined XFT || defined USE_UTF8 import Codec.Binary.UTF8.String (encodeString, decodeString) hunk ./XMonad/Util/Font.hsc 47 -#endif + -- Hide the Core Font/Xft switching here data XMonadFont = Core FontStruct hunk ./XMonad/Util/Font.hsc 105 return (Xft xftdraw) else #endif -#ifdef USE_UTF8 fmap Utf8 $ initUtf8Font s hunk ./XMonad/Util/Font.hsc 106 -#else - fmap Core $ initCoreFont s -#endif #ifdef XFT where xftPrefix = "xft:" #endif hunk ./XMonad/Util/Font.hsc 193 #endif decodeInput :: String -> String -#if defined XFT || defined USE_UTF8 decodeInput = decodeString hunk ./XMonad/Util/Font.hsc 194 -#else -decodeInput = id -#endif encodeOutput :: String -> String hunk ./XMonad/Util/Font.hsc 196 -#if defined XFT || defined USE_UTF8 encodeOutput = encodeString hunk ./XMonad/Util/Font.hsc 197 -#else -encodeOutput = id -#endif -- | Short-hand for 'fromIntegral' fi :: (Integral a, Num b) => a -> b hunk ./XMonad/Util/XSelection.hs 34 import XMonad import XMonad.Util.Run (safeSpawn, unsafeSpawn) -#ifdef USE_UTF8 import Codec.Binary.UTF8.String (decode) hunk ./XMonad/Util/XSelection.hs 35 -#else -import Data.Bits (shiftL, (.&.), (.|.)) -import Data.Char (chr) -import Data.Word (Word8) -{- | Decode a UTF8 string packed into a list of Word8 values, directly to - String; does not deal with CChar, hence you will want the counter-intuitive @map fromIntegral@ - UTF-8 decoding for internal use in getSelection. - - This code is copied from Eric Mertens's "utf-string" library - (as of version 0.1),\which is BSD-3 licensed like this module. - It'd be better to just @import Codec.Binary.UTF8.String (decode)@, but then users of this would need to install it; XMonad has enough - dependencies already. -} -decode :: [Word8] -> String -decode [] = "" -decode (c:cs) - | c < 0x80 = chr (fromEnum c) : decode cs - | c < 0xc0 = replacement_character : decode cs - | c < 0xe0 = multi_byte 1 0x1f 0x80 - | c < 0xf0 = multi_byte 2 0xf 0x800 - | c < 0xf8 = multi_byte 3 0x7 0x10000 - | c < 0xfc = multi_byte 4 0x3 0x200000 - | c < 0xfe = multi_byte 5 0x1 0x4000000 - | otherwise = replacement_character : decode cs - where - - replacement_character :: Char - replacement_character = '\xfffd' - - multi_byte :: Int -> Word8 -> Int -> [Char] - multi_byte i mask overlong = aux i cs (fromEnum (c .&. mask)) - where - aux 0 rs acc - | overlong <= acc && acc <= 0x10ffff && - (acc < 0xd800 || 0xdfff < acc) && - (acc < 0xfffe || 0xffff < acc) = chr acc : decode rs - | otherwise = replacement_character : decode rs - aux n (r:rs) acc - | r .&. 0xc0 == 0x80 = aux (n-1) rs - $ shiftL acc 6 .|. fromEnum (r .&. 0x3f) - aux _ rs _ = replacement_character : decode rs -#endif {- $usage Add @import XMonad.Util.XSelection@ to the top of Config.hs hunk ./xmonad-contrib.cabal 55 build-depends: mtl, unix, X11>=1.4.3, xmonad>=0.8, xmonad<0.9, utf8-string ghc-options: -Wall extensions: ForeignFunctionInterface - cpp-options: -DUSE_UTF8 if flag(testing) ghc-options: -Werror } Context: [FloatSnap - calculate gaps instead of snapping against unmanaged windows Anders Engstrom **20090526222942 Ignore-this: 4378f4c6c4f383c9a35acb503409d865 This patch will remove snapping against unmanaged windows, but instead calculate a new rectangle with all gaps (computed by ManageDocks) removed. This new rectangle is used to snap against. (Both the inside and outside of the rectangle.) This will remedy the issue of snapping against multiple layers of the same window, additionally there will be no snap-points between windows on the same side. So if you are running two dzen side by side with half the screen each. You will not automatically have a snap-point in the middle. Naturally, this patch will change which function is exported from ManageDocks. ] [Fix L.Mosaic bug where stored [Rational] was not extended Adam Vogt **20090525030734 Ignore-this: 55bb5b7fabc00f3dcc89e45cc416fc97 ] [X.A.Search: add Wolfram|Alpha search Brent Yorgey **20090525010419] [Remove L.ThreeColumnsMiddle compatiblity module Adam Vogt **20090525003245 Ignore-this: daac5841cf203c0e0df865a6fb0db3a1 Signed off here too: http://www.haskell.org/pipermail/xmonad/2009-May/007883.html ] [A.FloatSnap snap to unmanaged docks too Adam Vogt **20090525001834 Ignore-this: 46a856cae139d2e224ded985a9866ecf ] [LayoutBuilder fix maintainer Anders Engstrom **20090524205957 Ignore-this: 380c279320cff67c60a9bbf9a49ec509 ] [FloatSnap fix maintainer Anders Engstrom **20090524205854 Ignore-this: d3932d211e9dc755be799d863b7d58e3 ] [X.A.FloatSnap - More configuration for magic resize, adaption for mouse bindings and some minor fixes Anders Engstrom **20090524201143 Ignore-this: d5fd9356e101b019735d54267a120ed ] [X.A.FloatSnap - Assisted move/resize of windows Anders Engstrom **20090523235230 Ignore-this: 53af93bdf537cf3417cedd313e36bcbd TODO: Try to snap against unmanaged windows such as dzen/xmobar. ] [Simplyify L.Mosaic interface, and support resizing specific windows Adam Vogt **20090524193810 Ignore-this: acea22bec582ee5eb076ac3bc862a9ea The order previously was not as documented, which prevented resizing specific windows. The Mosaic constructor is hidden in favour of mosaic :: Rational -> [Rational] -> Mosaic a Expand and Shrink messages are added, requiring another argument. Remove useless demonstration of SlopeMod message since resizing the focused window is better. ] [L.ResizableTile document ResizableTall parameters with records Adam Vogt **20090519024258 Ignore-this: a29502bc1302f18b9ae0062105a0e109 ] [L.LayoutHints, add layoutHintsToCentre Adam Vogt **20090519013806 Ignore-this: a49106d5abb683d805e59beb29c727a9 layoutHintsToCentre attempts to apply hints in a way that eliminates gaps between windows. The excess space ends up on all edges. ] [Remove excess whitespace from L.LayoutHints Adam Vogt **20090519013350 Ignore-this: b4bb5b6aeba95be047a102d07d916c48 ] [new layout module X.L.Spacing, put blank space around each window Brent Yorgey **20090514215552] [X.L.LayoutBuilder doc fix and cleaning Anders Engstrom **20090509195254 Ignore-this: 7cbf72ba48a2222b65615a02125d87ef ] [X.L.LayoutBuilder custom layouts Anders Engstrom **20090509174627 Ignore-this: 65c251663f02a083c5838ae1d1bd112a A layout combinator that sends a specified number of windows to one rectangle and the rest to another. ] [submapDefault fix key leakage Anders Engstrom **20090426171002 Ignore-this: edb0a2a03b2ed2959cb7068ae601fa28 ] [Fix typo in L.Mosaic hints Adam Vogt **20090508202937 Ignore-this: 5f2163e64d876f4982b0d6baf13e0614 ] [U.Loggers: add maildirNew, other loggers, and logger formatting utilities wirtwolff@gmail.com**20090412041356 Ignore-this: 73240ab34348ad895c3d66c2a2e8e40f Rework of the Logger portions of patches originally from seanmce33@gmail.com to apply without conflicts, plus several formatting utilities for use with X (Maybe String) aka Loggers. ] [ThreeCol - Update docs to match reality Anders Engstrom **20090503190755 Ignore-this: e63f3ee533dd9bcf0f32da2316dde1dd ] [Remove some excess whitespace in XMonad.AppLauncher Adam Vogt **20090503183416 Ignore-this: b5bfa9625b5b080c20398cf1aa396a08 ] [Export ThreeColMid from L.ThreeColumnsMiddle Adam Vogt **20090425161710 Ignore-this: f08d23d108ae9aa4ad176fd9dd275409 The configs that import it should continue to work with this module, though the type of the ThreeColMid constructor is now ThreeCol (previously ThreeColMid). ] [ThreeColumns support middle column, with more backwards compatiblity Adam Vogt **20090414061819 Ignore-this: 5a8991269904986e0e012e955c6d4712 ] [X.L.ThreeColumnsMiddle merged into X.L.ThreeColumns with some new features Anders Engstrom **20090411113636 Ignore-this: 1d5bb8de98f8ade3780444ed99f5a12f ] [nameTail - Remove the first word of a layout description Anders Engstrom **20090503105950 Ignore-this: a44c5e38163ed98ffc244cdd206632d1 ] [Add H.InsertPosition: add new windows to different positions in a workspace Adam Vogt **20090503020303 Ignore-this: 7e7d5fa5b42698799cabe600159a75f7 ] [Add changeMaster function to L.Mosaic Adam Vogt **20090501233136 Ignore-this: eca2a48fb987bb871ad93e6c6bf1a186 ] [Optimizer bug does not affect 6.10.2 (issue 226) Adam Vogt **20090430034823 Ignore-this: f43f9bf9502ebb19743c3b417ef02347 ] [Remove -XScopedTypeVariables requirement with L.SubLayouts Adam Vogt **20090428222749 Ignore-this: dbb08e3c1641796603fdaf7b929cdf6d This should keep the code -Wall clean on ghc-6.8 in addition to ghc-6.10 ] [Add SubLayouts: a layout combinator for nesting layouts. Adam Vogt **20090423013135 Ignore-this: abb21b19bfbc567953419b3035b6a295 ] [Document and extend BoringWindows to support multiple sources of boring. Adam Vogt **20090406041301 Ignore-this: 7375c8912ede6a6a44db4a4b91ffbc33 The Replace and Merge messages are added to support layouts sending a list of windows that should be skipped over. The sources are tagged by a string key, so it is possible though unlikely for different sources of boring windows to interfere with eachother. ] [Add Apply message to L.WindowNavigation Adam Vogt **20090303065701 Ignore-this: e808729ddd2375778a96775568b8b621 ] [X.A.TopicSpace: remove the allTopics lists from the configuration. Nicolas Pouillard **20090423172939 Ignore-this: 1ac344b32865b38e53b968cc037b0a01 ] [added colour themes perlkat@katspace.org**20090227065315 These themes are colour themes only; they use the default font settings. I thought the existing themes were rather dull, so these give more bright (but tasteful) colours; shades of peacock feathers, shades of autumn. ] [Prompt.hs: setSuccess True also on Keypad Enter sean.escriva@gmail.com**20090409162609 Ignore-this: cf04f87c546f89bd32a94de3a2a93b22 ] [Update focus on mouse moves within inactive windows Daniel Schoepe **20090407191819 Ignore-this: 36c05c60420520dab708401d8a80fc85 This patch adds functionality to update the focus on moves in unfocused windows, which would make sense if one wanted the focus to follow the mouse. Currently this only happens when the mouse enters/leaves a window. This patch should fix issue #205. ] [Add promoteWarp event to L.MagicFocus Adam Vogt **20090322221456 Ignore-this: 12ad5fc144a35fb605f53b744d8146ef This event enables A.UpdatePointer behavior without causing infinite loops in combination with magicFocus ] [Add TowardsCentre option to UpdatePointer Adam Vogt **20090322215811 Ignore-this: d543d8f090b03a6c26b3a0427be3a051 This option is like Nearest, but it places the pointer a configurable percentage towards the centre of the window, instead of right at the edge. ] [Remove excess whitespace in A.UpdatePointer Adam Vogt **20090322215553 Ignore-this: 6fbc63642b946461e0fafcb44016824 ] [Combo fix ReleaseResources when no windows are available, new fix Anders Engstrom **20090224172018 Ignore-this: b59603df8e4cfc1fb2cf9070cea615b3 ] [OneBig_resize.dpatch portnov84@rambler.ru**20090221142300 Ignore-this: c02b25bd370ee449aab28005eb4418cf Add Shrink/Expand messages handling for OneBig layout. ] [OneBig_layout.dpatch portnov84@rambler.ru**20090220172634 Ignore-this: 9d4f308d13f003aa4236417307a66c15 Add the OneBig layout, which places one (master) window at top left corner of screen (width and height of master window are parameters of layout), and other (slave) windows at bottom and at right of master, trying to give equal space for each slave window. ] [Update haddock description for Actions.GridSelect Daniel Schoepe **20090422172510 Ignore-this: db5a2c009f7e88647f168ccb225d6219 ] [X.H.DynamicLog: provides trim, inverse of pad sean.escriva@gmail.com**20090409163513 Ignore-this: 9d92ff592f2bc4f041b85d1314058fdc ] [Mouse support for GridSelect Daniel Schoepe **20090409223302 Ignore-this: 38669e39c8676233d71f457c0b697500 GridSelect now allows selecting an element by a click with the left mouse button. ] [Generalize GridSelect to arbitrary elements Daniel Schoepe **20090409155704 Ignore-this: 69fbce85232871482adcce06c1a5fe62 This patch generalizes Actions.GridSelect to work for arbitrary (String,a)-lists. The changes break configurations that used `gridSelect' directly, which is now named gridSelectWindow. As an example for uses of the GridSelect-UI, I included a function to spawn an application from a list of commands(`spawnSelected'). ] [Improve composability of X.H.Place, drop simple(st)Float support quentin.moser@unifr.ch**20090415184550 Ignore-this: 8a0fb64aa0db27b242b7ad4bcba1a3ca ] [Fixed X.H.Place.position quentin.moser@unifr.ch**20090409084946 Ignore-this: 29e3936800194916a859976ff126dbfe ] [Module for automatic placement of floating windows quentin.moser@unifr.ch**20090408080953 Ignore-this: 1874df995fc02a0b80051db39d91a2e1 ] [X.H.FloatNext: new module, float the next spawned window(s) quentin.moser@unifr.ch**20090415181907 Ignore-this: 95e1c9daa3ca43bfb058f6a881a97f3a ] [ComboP konstantin.sobolev@gmail.com**20090415014327 Ignore-this: 73bb986165a7bba466aae789a5448170 ] [New module: XMonad.Actions.TopicSpace Nicolas Pouillard **20090419085239 Ignore-this: 4c20592ea6ca74f38545c5a1a002ef91 ] [NamedScratchpad konstantin.sobolev@gmail.com**20090419045542 Ignore-this: b442cb08123d2413e0bb144a73bf3f57 ] [More configurability for Layout.NoBorders (typeclass method) Adam Vogt **20090325050206 Ignore-this: 91fe0bc6217b910b7348ff497b922e11 This method uses a typeclass to pass a function to the layoutmodifier. It is flexible, but a bit indirect and perhaps the flexibility is not required. ] [Add XMonad.Actions.PhysicalScreens nelhage@mit.edu**20090321001320 Add an XMonad.Actions.PhysicalScreens contrib module that allows addressing of screens by physical ordering, rather than the arbitrary ScreenID. ] [pointWithin has moved to the core Joachim Breitner **20081008154245] [UpdatePointer even to empty workspaces Joachim Breitner **20081007080041 This makes UpdatePointer more Xinerama-compatible: If the user switches to a screen with an empty workspace, the pointer is moved to that workspace, which I think is expected behavoiur. ] [More predictable aspect ratio in GridVariants.Grid Norbert Zeh **20090311013617 The old version fairly arbitrarily decided to prefer windows that are too high over those that are too wide. The new version chooses the number of columns so that all windows on the screen are as close as possible to the desired aspect ratio. As a side effect, the layout changes much more predictably under addition and removal of clients. ] [X.L.Master: fix number of windows Ismael Carnales **20090301051509 Ignore-this: 2af132159450d4fb72eb52024eda71b5 ] [U.EZConfig: add xK_Print to special keys wirtwolff@gmail.com**20090302230741 Ignore-this: 9560b7c7c4424edb5cea6eec45e2b41d Many setups are expecting xK_Print rather than xK_Sys_Req, so make it available in additionalKeysP. ] [More flexibility for H.FadeInactive Daniel Schoepe **20090309160020 Ignore-this: ebfa2eadb439763276b372107cdf8d6c ] [Prompt.Shell: escape ampersand Valery V. Vorotyntsev **20090312091314 Ignore-this: 7200b76af8109bab794157da46cb0030 Ampersand (&) is a special character and should be escaped. ] [Cleanup X.L.Mosaic, without breaking it Adam Vogt **20090219022417 Ignore-this: d49ed55fe8dc2204256dff9252384745 ] [X.L.Mosaic: prevent users from causing non-termination with negative elements Adam Vogt **20090210022727 Ignore-this: 370a7d6249906f1743c6692758ce5aeb ] [better Layout.NoBorders.smartBorders behavior on xinerama Adam Vogt **20090314170058 Ignore-this: 36737ce2fa2087c4a16ddf226d3b0f0a Now smartBorders shows borders when you have multiple screens with one window each. In the case where only one window is visible, no borders are drawn. ] [H.DynamicLog: revised dzenStrip and xmobarStrip functions wirtwolff@gmail.com**20090314041517 Ignore-this: 9897c60b8dfc59344939b7aebc370953 Reconcile darcswatch patch with pushed version of dzenStrip. ] [X.H.DynamicLog: Add dzenStrip to remove formatting, for use in dzenPP's ppUrgent. Braden Shepherdson **20090314032818 Ignore-this: fd96a1a4b112d0f71589b639b83ec3e This function was written by Wirt Wolff. This change should allow UrgencyHook to work out of the box with dzen and dzenPP, rather than the colours being overridden so even though UrgencyHook is working, it doesn't change colours. ] [X.H.ManageHelpers: export isInProperty Roman Cheplyaka **20090308201112] [L.Cross: clarify documentation wirtwolff@gmail.com**20090222042220 Ignore-this: 4a5dcf71e63d045f27e2340e1def5cc8 Amend-record earlier patch to work with byorgey's fix, this one is just the documentation typo fixes and clarifications. ] [documentation for IndependentScreens daniel@wagner-home.com**20090221235959] [eliminate a haddock warning in BoringWindows daniel@wagner-home.com**20090221235836] [merge IndependentScreens daniel@wagner-home.com**20090221232142] [add IndependentScreens to xmonad-contrib.cabal daniel@wagner-home.com**20090221231632] [add type information for IndependentScreens daniel@wagner-home.com**20090221231525] [add some boilerplate comments at the top of IndependentScreens Brent Yorgey **20090221230850] [IndependentScreens, v0.0 daniel@wagner-home.com**20090221225229] [U.Run: remove waitForProcess to close Issue 268 wirtwolff@gmail.com**20090220214153 Ignore-this: a6780565fde40a4aac9023cc55fc2273 http://code.google.com/p/xmonad/issues/detail?id=268 Submitting with some trepidation, since I've nearly no understanding of process handling. Should be ok, no warnings by sjanssen when asking about it in hpaste or earlier email, and tested locally by spawning excessive numbers of dzens: did not leave zombies or raise exceptions. ] [change Cross data declaration into a record so that Haddock will parse the per-argument comments Brent Yorgey **20090221224742] [Properly encode destop names before sending them to X server in XMonad.Hooks.EwmhDesktops Khudyakov Alexey **20090220184137 Ignore-this: 6a22ea8bdc49f8484e18f04aaeb545ae ] [Make utf8-string regular dependency Khudyakov Alexey **20090220183318 Ignore-this: b38936b037c1172ec69905fa345f7afe The reason for this is that EWMH specification require utf8 encoded strings. ] [X.L.Master: turn it to a Layout modifier and update the code Ismael Carnales **20090213020453 Ignore-this: 69513ad2b60dc4aeb49d64ca30e6f9f8 ] [Use doShift in my config Spencer Janssen **20090219042040 Ignore-this: 1f103d21bbceec8d48384f975f18eaec ] [SpawnOn: use doShift. This resolves problems where SpawnOn would shift the wrong window Spencer Janssen **20090219041856 Ignore-this: 6ae639a638db8eff77203f3f2e481a4e ] [SpawnOn: delete seen pids Spencer Janssen **20090213013011 Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f ] [X.U.Loggers: handle possible EOF (reported by dyfrgi) Roman Cheplyaka **20090216213842] [U.Scratchpad: add general spawn action to close issue 249 wirtwolff@gmail.com**20090214003642 Ignore-this: 925ad9db4ecc934dcd86320f383ed44a Adds scratchpadSpawnActionCustom where user specifies how to set resource to "scratchpad". This allows use of gnome-terminal, etc. Add detail to RationalRectangle documentation; strip trailing spaces. ] [SpawnOn: add 'exec' to shell strings where possible Spencer Janssen **20090212234608 Ignore-this: c7de4e05803d60b10f38004dcbda4732 ] [Add Cross Layout 'Luis Cabellos '**20090209174802] [Fix an undefined in EwmhDesktops Daniel Schoepe **20090209152308 Ignore-this: f60a43d7ba90164ebcf700090dfb2480 ] [X.U.WindowProperties: docs (description and sections) Roman Cheplyaka **20090208231422] [X.U.WindowProperties: Add getProp32 and getProp32s, helpers to get properties from windows Ismael Carnales **20090205013031 Ignore-this: c5481fd5d97b15ca049e2da2605f65c1 ] [cleanup and make X.L.Mosaic behavior more intuitive wrt. areas Adam Vogt **20090208221629 Ignore-this: 3c3c6faa203cbb1c1db909e5bf018b6f ] [minor typo in XMonad/Util/EZConfig.hs Joachim Breitner **20090208192224 Ignore-this: 7ffee60858785c3e31fdd5383c9bb784 ] [Multimedia keys support for EZConfig Khudyakov Alexey **20090207173330 Ignore-this: 21183dd7c192682daa18e3768828f88d ] [+A.CycleWindows: bindings to cycle windows in new ways wirtwolff@gmail.com**20090207170622 Ignore-this: 51634299addf224cbbc421adb4b048f5 Provides binding actions and customizable pure stack operations to cycle through a list of permutations of the stack (recent), cycle nth into focus, cycle through focus excluding a neighbor, cycle unfocused, shift a window halfway around the stack. Esp. for Full, two or three pane layouts, but useful for any layout with many windows. ] [XMonad.Actions.CopyWindow: fmt & qualify stackset import gwern0@gmail.com**20090206171833 Ignore-this: 4d08f5a7627020b188f59fc637b53ae8 ] [XMonad.Actions.CopyWindow runOrCopy lan3ny@gmail.com**20080602205742] [ManageHelpers: reduce duplicated code in predicates Ismael Carnales **20090204021847 Ignore-this: e28a912d4f897eba68ab3edfddf9f26b ] [Remove X.U.SpawnOnWorkspace (superseded by X.A.SpawnOn) Roman Cheplyaka **20090204103635] [X.A.SpawnOn: add docs Roman Cheplyaka **20090204102424 Add more documentation, including documentation from X.U.SpawnOnWorkspace by Daniel Schoepe. ] [Remove silliness from XMonad.Doc.Configuring Spencer Janssen **20090204055626] [Adjustments to use the new event hook feature instead of Hooks.EventHook Daniel Schoepe **20090203160046 Ignore-this: f8c239bc8e301cbd6fa509ef748af542 ] [Easier Colorizers for X.A.GridSelect quentin.moser@unifr.ch**20090128001702 Ignore-this: df3e0423824e40537ffdb4bc7363655d ] [X.A.SpawOn: fix usage doc Roman Cheplyaka **20090202102042] [Added GridVariants.SplitGrid Norbert Zeh **20090129152146 GridVariants.TallGrid behaved weird when transformed using Mirror or Reflect. The new layout SplitGrid does away with the need for such transformations by taking a parameter to specify horizontal or vertical splits. ] [FixedColumn: added missing nmaster to the usage doc Ismael Carnales **20090130195239 Ignore-this: 642aa0bc9e68e7518acc8af30324b97a ] [XMonad.Actions.Search: fix whitespace & tabs gwern0@gmail.com**20090129025246 Ignore-this: 894e479ccc46160848c4d70c2361c929 ] [xmonad-action-search-intelligent-searchengines Michal Trybus **20090128101938 Changed the XMonad.Action.Search to use a function instead of String to prepare the search URL.Added a few useful functions used to connect many search engines together and do intelligent prefixed searches (more doc in haddock)The API has not changed with the only exception of search function, which now accepts a function instead of String. ] [XMonad.Prompt autocompletion fix quentin.moser@unifr.ch**20090127184145 Ignore-this: 635cbf6420722a4edef1ae9c40b36e1b ] [X.A.SinkAll: re-add accidentally deleted usage documentation Brent Yorgey **20090127222533] [move XMonad.Actions.SinkAll functionality to more general XMonad.Actions.WithAll, and re-export sinkAll from X.A.SinkAll for backwards compatibility Brent Yorgey **20090127222355] [adds generic 'all windows on current workspace' functionality loupgaroublond@gmail.com**20081221224850] [placement patch to XMonad.Layout.LayoutHints quentin.moser@unifr.ch**20090126195950 Ignore-this: 87a5efa9c841d378a808b1a4309f18 ] [XMonad.Actions.MessageFeedback module quentin.moser@unifr.ch**20090126181059 Ignore-this: 82e58357a44f98c35ccf6ad0ef98b552 ] [submapDefault Anders Engstrom **20090118152933 Ignore-this: c8958d47eb584a7de04a81eb087f05d1 Add support for a default action to take when the entered key does not match any entry. ] [X.A.CycleWS: convert tabs to spaces (closes #266) Roman Cheplyaka **20090127185604] [Mosaic picks the middle aspect layout, unless overriden Adam Vogt **20090126032421 Ignore-this: aaa31da14720bffd478db0029563aea5 ] [Mosaic: stop preventing access to the widest layouts Adam Vogt **20090125045256 Ignore-this: c792060fe2eaf532f433cfa8eb1e8fe3 ] [X.L.Mosaic add documentation, update interface and aspect ratio behavior Adam Vogt **20090125041229 Ignore-this: e78027707fc844b3307ea87f28efed73 ] [Use currentTag, thanks asgaroth Spencer Janssen **20090125213331 Ignore-this: dd1a3d96038de6479eca3b9798d38437 ] [Support for spawning most applications on a specific workspace Daniel Schoepe **20090125191045 Ignore-this: 26076d54b131e037b42c87e4fde63200 ] [X.L.Mosaic: haddock fix Roman Cheplyaka **20090124235908] [A mosaic layout based on MosaicAlt Adam Vogt **20090124022058 Ignore-this: 92bad7498f1ac402012e3eba6cbb2693 The position of a window in the stack determines its position and layout. And the overall tendency to make wide or tall windows can be changed, though not all of the options presented by MosaicAlt can be reached, the layout changes with each aspect ratio message. ] [uninstallSignalHandlers in spawnPipe Spencer Janssen **20090122002745 Ignore-this: e8cfe0f18f278c95d492628da8326fd7 ] [Create a new session for spawnPiped processes Spencer Janssen **20090122000441 Ignore-this: 37529c5fe8b4bf1b97fffb043bb3dfb0 ] [TAG 0.8.1 Spencer Janssen **20090118220647] [Use spawnOn in my config Spencer Janssen **20090117041026 Ignore-this: 3f92e4bbe4f2874b86a6c7ad66a31bbb ] [Add XMonad.Actions.SpawnOn Spencer Janssen **20090117040432 Ignore-this: 63869d1ab11f2ed5aab1690763065800 ] [Bump version to 0.8.1 Spencer Janssen **20090116223607 Ignore-this: 1c201e87080e4404f51cadc108b228a1 ] [Compile without optimizations on x86_64 and GHC 6.10 Spencer Janssen **20090108231650 Ignore-this: a803235b8022793f648e8953d9f05e0c This is a workaround for http://xmonad.org/bugs/226 ] [Update all uses of doubleFork/waitForProcess Spencer Janssen **20090116210315 Ignore-this: 4e15b7f3fd6af3b7317449608f5246b0 ] [Update to my config Spencer Janssen **20090116204553 Ignore-this: 81017fa5b99855fc8ed1fe8892929f53 ] [Adjustments to new userCode function Daniel Schoepe **20090110221310] [X.U.EZConfig: expand documentation Brent Yorgey **20090116153143] [add a bit of documentation to HintedTile Brent Yorgey **20090114065126] [ManageHelpers: add isDialog johanngiwer@web.de**20090108232505] [CenteredMaster portnov84@rambler.ru**20090111134513 centerMaster layout modifier places master window at top of other, at center of screen. Other windows are managed by base layout. topRightMaster is similar, but places master window at top right corner. ] [XMonad.Util.XSelection: update maintainer information gwern0@gmail.com**20090110213000 Ignore-this: 1592ba07f2ed5d2258c215c2d175190a ] [X.U.XSelection: get rid of warning about missing newline, add Haddock link Brent Yorgey **20090102194357] [adds haddock documentation for transformPromptSelection loupgaroublond@gmail.com**20090102190954 also renames the function per mailing list recommendation ] [adds a weird function to XSelection loupgaroublond@gmail.com**20081222020730 This enables you to pass a function of (String -> String) to a selection function to modify the string before executing it. This way, you can input your own escape routines to make it shell command line safe, and/or do other fancier things. ] [ThreeColumnsMiddle xmonad@c-otto.de**20090102091019] [fix-fromJust-errors rupa@lrrr.us**20081224045509 bogner wrote all this stuff and i just tested it. I had: myLogHook = ewmhDesktopLogHookCustom ScratchpadFilterOutWorkspace >> updatePointer Nearest Everytime I invoked or hid Scratchpad, it would leave a 'Maybe.fromJust: Nothing' line in .xsession-errors, and updatePointer would stop working. ] [ Prompt: Change Filemode to 600 for history-file (fixes bug 244) Dominik Bruhn **20081218001601] [X.L.Monitor: changes in message passing Roman Cheplyaka **20081226220851 - transform mbName (Maybe String) to name (String) - slghtly change semantics of messages, document it ] [X.L.Monitor: change interface Roman Cheplyaka **20081226213118 - remove add*Monitor - add manageMonitor, monitor template ] [X.U.WindowProperties: propertyToQuery+docs Roman Cheplyaka **20081225080702] [X.L.Monitor: docs Roman Cheplyaka **20081225073904] [hlintify XUtils, XSelection, Search, WindowGo gwern0@gmail.com**20081220153302 Ignore-this: 7e877484e3cd8954b74232ea83180fa9 ] [fix focus issue for XMonad.Actions.Warp.banishScreen Norbert Zeh **20081212203532 This patch ensures that the focus (or in fact the whose windowset) does not change as a result of a banishScreen. The way this is implemented will become problematic if xmonad ever goes multithreaded. ] [addition of XMonad.Actions.Warp.banishScreen Norbert Zeh **20081212192621 This works on top of warpToScreen and, thus, suffers from the same issue: focus change. ] [fixed documentation for banish Norbert Zeh **20081212191819 banish actually warps to the specified corner of the current window, not the screen. ] [addition of combined TallGrid layout Norbert Zeh **20081212184836 Added a module XMonad.Layouts.GridVariants, which defines layouts Grid and TallGrid. The former is a customizable version of Grid. The latter is a combination of Grid and Tall (see doc of the module). ] [Add FixedColumn, a layout like Tall but based on the resize hints of windows Justin Bogner **20081213073054] [XMonad.Actions.WindowGo: fix a floating-related focus bug gwern0@gmail.com**20081205150755 Ignore-this: c8b6625aa2bd4136937acbd2ad64ffd3 If a floating window was focused, a cross-workspace 'raise' would cause a loop of shifting windows. Apparently the problem was 'focus' and its mouse-handling. Spencer suggested that the calls to focus be replaced with 'focusWindow', which resolved it. ] [Prompt.hs: +greenXPConfig and amberXPConfig gwern0@gmail.com**20081119213122 Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6 ] [Prompt.hs: increase font size to 12 from niggardly 10 gwern0@gmail.com**20081119212523 Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c ] [Prompt.hs: replace magic numbers with understandable names gwern0@gmail.com**20081119212502 Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1 ] [X.L.Monitor: recommend doHideIgnore (docs) Roman Cheplyaka **20081215190710] [X.L.Monitor: docs Roman Cheplyaka **20081215184423] [X.L.Monitor: export Monitor datatype Roman Cheplyaka **20081215184318] [X.H.ManageHelpers: add doHideIgnore Roman Cheplyaka **20081215182758] [Add KDE 4 config, thanks to Shirakawasuna on IRC Spencer Janssen **20081211071141 Ignore-this: 51698961ab5b6e569c294d174f2804a9 ] [I use the deleteConsecutive history filter Spencer Janssen **20081025070438] [Remove XMonad.Config.PlainConfig, it has been turned into the separate xmonad-light project. Braden Shepherdson **20081203161534] [XMonad.Prompt: swap up and down per bug #243 gwern0@gmail.com**20081203013323 Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8 ] [Fix boolean operator precedence in GridSelect keybindings Aleksandar Dimitrov **20081201120928 The vim-like hjkl keys were ORed to the key event AND arrow keys. ] [GridSelect.hs: navigate grid with h,j,k,l as well as arrow keys sean.escriva@gmail.com**20081122084725] [Export setOpacity from FadeInactive. Document how to make monitor transparent (X.L.Monitor) Roman Cheplyaka **20081117153027] [Monitor: use broadcastMessage instead of sendMessage; this solves several issues Roman Cheplyaka **20081117133957] [FadeInactive: fade all inactive windows (including focused windows on visible screens) Roman Cheplyaka **20081117130115] [Monitor: documented one more issue Roman Cheplyaka **20081117113807] [Monitor: improved the docs Roman Cheplyaka **20081117073709] [added XMonad.Layout.Monitor Roman Cheplyaka **20081115104735] [WindowProperties: added allWithProperty Roman Cheplyaka **20081115104525] [ManageHelpers: added doSideFloat (generalization of doCenterFloat) Roman Cheplyaka **20081114113015] [GridSelect: Export default_colorizer Dominik Bruhn **20081112140005] [Simplify code for restriction-calculation and remove compiletime warnings Dominik Bruhn **20081112134630] [Simplify handle/eventLoop, introduce findInWindowMap, partial updates for key movements (less flickering) Clemens Fruhwirth **20081111100405 * handle/eventLoop carried the display and the drawing window as parameters. The display is available from the embedded X monad, the drawing windows was added. * updateWindows now takes a list of windows to update. updateAllWindows updates all windows. * only the windows that are modified by key movements are redrawn now. This means less flickering. ] [GridSelect: force cursor stay in visible area Roman Cheplyaka **20081111063348] [GridSelect: fix infiniteness problem with diamondRestrict Roman Cheplyaka **20081111055350] [GridSelect: remove tabs Roman Cheplyaka **20081111053647] [Exported shrinkWhile from Decoration to use in GridSelect Roman Cheplyaka **20081110191534] [GridSelect: added link to a screenshot Roman Cheplyaka **20081110190617] [GridSelect: various improvements Roman Cheplyaka **20081110184644 Added documentation Restricted export list for the sake of haddock Added functions: withSelectedWindow bringSelected (by Clemens Fruhwirth) goToSelected (by Dominik Bruhn) ] [Initial version of GridSelect.hs with a lot room for improvement/cleanups Clemens Fruhwirth **20081107115114] [documentation: XMonad.Util.Search.hs, add EZConfig keybindings example sean.escriva@gmail.com**20081106171707] [typo Don Stewart **20081104043044 Ignore-this: bdac0ff3316c821bce321b51c62f6e89 ] [place an upper bound on the version of base we support Don Stewart **20081104035857 Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854 ] [explicit import list for things in the process library Don Stewart **20081104035319 Ignore-this: 91b7f96421828788760e8bcff7dec317 ] [Work around ghc 6.10 bug #2738 Don Stewart **20081104034819 Ignore-this: c75da9693fa642025eac0d074869423d ] [windowPromptBringCopy deadguysfrom@gmail.com**20081023173019] [generic menu and window bringer Travis B. Hartwell **20081027005523] [Search.hs: +hackage search, courtesy of byorgey gwern0@gmail.com**20081031214937 Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab ] [Prompt.hs rename deleteConsecutiveDuplicates gwern0@gmail.com**20081008205131 That name is really unwieldy and long. ] [Prompt.hs: have historyCompletion filter dupes gwern0@gmail.com**20081008204710 Specifically, it calls deleteConsecutiveDuplicates on the end product. uniqSort reverses order in an unfortunate way, so we don't use that. The use-case is when a user has added the same input many times - as it stands, if the history records 30 'top's or whatever, the completion will show 30 'top' entries! This fixes that. ] [Prompt.hs: tweak haddocks gwern0@gmail.com**20081008204649] [Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off gwern0@gmail.com**20081008192645] [Do not consider XMONAD_TIMER unknown Joachim Breitner **20081008195643] [Kill window without focusing it first Joachim Breitner **20081005002533 This patch requires the patch "add killWindow function" in xmonad. Before this patch, people would experience ?workspace flicker? when closing a window via EWMH that is not on the current workspace, for example when quitting pidgin via the panel icon. ] [let MagnifyLess actually magnify less daniel@wagner-home.com**20081015153911] [Actions.Search: add a few search engines intrigeri@boum.org**20081008104033 Add Debian {package, bug, tracking system} search engines, as well as Google Images and isohunt. ] [Implement HiddenNonEmptyWS with HiddenWS and NonEmptyWS Joachim Breitner **20081006211027 (Just to reduce code duplication) ] [Add straightforward HiddenWS to WSType Joachim Breitner **20081006210548 With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing. ] [Merge emptyLayoutMod into redoLayout Joachim Breitner **20081005190220 This removes the emptyLayoutMod method from the LayoutModifier class, and change the Stack parameter to redoLayout to a Maybe Stack one. It also changes all affected code. This should should be a refactoring without any change in program behaviour. ] [SmartBorders even for empty layouts Joachim Breitner **20081005184426 Fixes: http://code.google.com/p/xmonad/issues/detail?id=223 ] [Paste.hs: improve haddocks gwern0@gmail.com**20080927150158] [Paste.hs: fix haddock gwern0@gmail.com**20080927145238] [minor explanatory comment daniel@wagner-home.com**20081003015919] [XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage) Lukas Mai **20080930141715] [XMonad.Util.Font: UTF8 -> USE_UTF8 Lukas Mai **20080930140056] [Paste.hs: implement noModMask suggestion gwern0@gmail.com**20080926232056] [fix a divide by zero error in Grid daniel@wagner-home.com**20080926204148] [-DUTF8 flag with -DUSE_UTF8 gwern0@gmail.com**20080921154014] [XSelection.hs: use CPP to compile against utf8-string gwern0@gmail.com**20080920151615] [add XMonad.Config.Azerty Devin Mullins **20080924044946] [flip GridRatio to match convention (x/y) Devin Mullins **20080922033354] [let Grid have a configurable aspect ratio goal daniel@wagner-home.com**20080922010950] [Paste.hs: +warning about ASCII limitations gwern0@gmail.com**20080921155038] [Paste.hs: shorten comment lines to under 80 columns per sjanssen gwern0@gmail.com**20080921154950] [Forgot to enable historyFilter :( Spencer Janssen **20080921094254] [Prompt: add configurable history filters Spencer Janssen **20080921093453] [Update my config to use 'statusBar' Spencer Janssen **20080921063513] [Rename pasteKey functions to sendKey Spencer Janssen **20080921062016] [DynamicLog: doc fixes Spencer Janssen **20080921061314] [Move XMonad.Util.XPaste to XMonad.Util.Paste Spencer Janssen **20080921060947] [Depend on X11 >= 1.4.3 Spencer Janssen **20080921055456] [statusBar now supplies the action to toggle struts Spencer Janssen **20080918013858] [cleanup - use currentTag Devin Mullins **20080921011159] [XPaste.hs: improve author info gwern0@gmail.com**20080920152342] [+XMonad.Util.XPaste: a module for pasting strings to windows gwern0@gmail.com**20080920152106] [UrgencyHook bug fix: cleanupUrgents should clean up reminders, too Devin Mullins **20080920062117] [Sketch of XMonad.Config.Monad Spencer Janssen **20080917081838] [raiseMaster seanmce33@gmail.com**20080912184830] [Add missing space between dzen command and flags Daniel Neri **20080915131009] [Big DynamicLog refactor. Added statusBar, improved compositionality for dzen and xmobar Spencer Janssen **20080913205931 Compatibility notes: - dzen type change - xmobar type change - dynamicLogDzen removed - dynamicLogXmobar removed ] [Take maintainership of XMonad.Prompt Spencer Janssen **20080911230442] [Overhaul Prompt to use a zipper for history navigation. Fixes issue #216 Spencer Janssen **20080911225940] [Use the new completion on tab setting Spencer Janssen **20080911085940] [Only start to show the completion window with more than one match Joachim Breitner **20080908110129] [XPrompt: Add showCompletionOnTab option Joachim Breitner **20080908105758 This patch partially implements http://code.google.com/p/xmonad/issues/detail?id=215 It adds a XPConfig option that, if enabled, hides the completion window until the user presses Tab once. Default behaviour is preserved. TODO: If Tab causes a unique completion, continue to hide the completion window. ] [XMonad.Actions.Plane.planeKeys: function to make easier to configure Marco T?lio Gontijo e Silva **20080714153601] [XMonad.Actions.Plane: removed unneeded hiding Marco T?lio Gontijo e Silva **20080714152631] [Improvements in documentation Marco T?lio Gontijo e Silva **20080709002425] [Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde} Spencer Janssen **20080911040808] [add clearUrgents for your keys Devin Mullins **20080909055425] [add reminder functionality to UrgencyHook Devin Mullins **20080824200548 I'm considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so to speak. Bleh. ] [TAG 0.8 Spencer Janssen **20080905195420] Patch bundle hash: 384128ec9c96273b42436a08e67ed761d8e50de9 From gwern0 at gmail.com Wed May 27 16:30:04 2009 From: gwern0 at gmail.com (Gwern Branwen) Date: Wed May 27 16:14:22 2009 Subject: [xmonad] [patch] Remove USE_UTF8 In-Reply-To: <200905272345.29418.alexey.skladnoy@gmail.com> References: <200905272345.29418.alexey.skladnoy@gmail.com> Message-ID: On Wed, May 27, 2009 at 3:45 PM, Khudyakov Alexey wrote: > Patch for you repository. > > ?* Remove USE_UTF8 defines. > ?They are not needed any more since utf8-string is mandatory dependence. > > Related to unicode fix in EWMH Pushed & applied, thanks. -- gwern From byorgey at seas.upenn.edu Wed May 27 22:52:04 2009 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Wed May 27 22:36:21 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090525084742.5a99a1ce@ingeniware.com> References: <20090525084742.5a99a1ce@ingeniware.com> Message-ID: <20090528025204.GA6987@seas.upenn.edu> On Mon, May 25, 2009 at 08:47:42AM -0600, Sergey Manucharian wrote: > Hi folks, > > How can I configure xmonad to run a program when switching to a > particular workspace? Example: I want to run a script changing the > keyboard layout to "us" unconditionally when I'm on particular > workspaces (with ssh, rdesktop etc.). The easiest way to do this is to add an action to your logHook that checks the current workspace, and sets the keyboard layout if it is the desired workspace: ... logHook = ...other stuff... >> checkKBLayout ... checkKBLayout :: X () checkKBLayout = do curTag <- gets (W.currentTag . windowset) when (curTag == "foo") $ spawn "set keyboard layout" Of course, "foo" should be replaced with whatever workspace you want, and "set keyboard layout" should be replaced with a suitable command for setting the keyboard layout. -Brent From roma at ro-che.info Thu May 28 03:50:34 2009 From: roma at ro-che.info (Roman Cheplyaka) Date: Thu May 28 03:34:51 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090528025204.GA6987@seas.upenn.edu> References: <20090525084742.5a99a1ce@ingeniware.com> <20090528025204.GA6987@seas.upenn.edu> Message-ID: <20090528075034.GA13861@flit> * Brent Yorgey [2009-05-27 22:52:04-0400] > On Mon, May 25, 2009 at 08:47:42AM -0600, Sergey Manucharian wrote: > > Hi folks, > > > > How can I configure xmonad to run a program when switching to a > > particular workspace? Example: I want to run a script changing the > > keyboard layout to "us" unconditionally when I'm on particular > > workspaces (with ssh, rdesktop etc.). > > The easiest way to do this is to add an action to your logHook that > checks the current workspace, and sets the keyboard layout if it is > the desired workspace: > > ... > logHook = ...other stuff... >> checkKBLayout > > ... > > checkKBLayout :: X () > checkKBLayout = do > curTag <- gets (W.currentTag . windowset) > when (curTag == "foo") $ spawn "set keyboard layout" > > Of course, "foo" should be replaced with whatever workspace you want, > and "set keyboard layout" should be replaced with a suitable command > for setting the keyboard layout. Just to make it clear: the command will be spawned each time when windowset changes -- e.g. when you change the focus. It's harmless with setting kb layout, but if you use it for e.g. launching an application you'll get a new instance each time you change focus. Another possibility is to create IORef and store previous workspace there, so you can know whether you really _switched_ to current workspace. Maybe create a layer on top of logHook which would provide incremental information? -- Roman I. Cheplyaka (aka Feuerbach @ IRC) http://ro-che.info/docs/xmonad.hs From byorgey at seas.upenn.edu Thu May 28 09:33:24 2009 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Thu May 28 09:17:39 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090528075034.GA13861@flit> References: <20090525084742.5a99a1ce@ingeniware.com> <20090528025204.GA6987@seas.upenn.edu> <20090528075034.GA13861@flit> Message-ID: <20090528133324.GA18374@seas.upenn.edu> On Thu, May 28, 2009 at 10:50:34AM +0300, Roman Cheplyaka wrote: > * Brent Yorgey [2009-05-27 22:52:04-0400] > > On Mon, May 25, 2009 at 08:47:42AM -0600, Sergey Manucharian wrote: > > > Hi folks, > > > > > > How can I configure xmonad to run a program when switching to a > > > particular workspace? Example: I want to run a script changing the > > > keyboard layout to "us" unconditionally when I'm on particular > > > workspaces (with ssh, rdesktop etc.). > > > > The easiest way to do this is to add an action to your logHook that > > checks the current workspace, and sets the keyboard layout if it is > > the desired workspace: > > > > ... > > logHook = ...other stuff... >> checkKBLayout > > > > ... > > > > checkKBLayout :: X () > > checkKBLayout = do > > curTag <- gets (W.currentTag . windowset) > > when (curTag == "foo") $ spawn "set keyboard layout" > > > > Of course, "foo" should be replaced with whatever workspace you want, > > and "set keyboard layout" should be replaced with a suitable command > > for setting the keyboard layout. > > Just to make it clear: the command will be spawned each time when > windowset changes -- e.g. when you change the focus. It's harmless with > setting kb layout, but if you use it for e.g. launching an application > you'll get a new instance each time you change focus. > > Another possibility is to create IORef and store previous workspace > there, so you can know whether you really _switched_ to current > workspace. > > Maybe create a layer on top of logHook which would provide incremental > information? That's a nice idea! I've always thought that the logHook could be generalized in a number of interesting ways. There are lots of things that might want to be notified of status changes which have nothing to do with logging. -Brent From sergey at ingeniware.com Fri May 29 01:01:16 2009 From: sergey at ingeniware.com (Sergey Manucharian) Date: Fri May 29 00:45:57 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090528133324.GA18374@seas.upenn.edu> References: <20090525084742.5a99a1ce@ingeniware.com> <20090528025204.GA6987@seas.upenn.edu> <20090528075034.GA13861@flit> <20090528133324.GA18374@seas.upenn.edu> Message-ID: <20090528230116.32df1a64@ingeniware.com> On Thu, 28 May 2009 09:33:24 -0400 Brent Yorgey wrote: > On Thu, May 28, 2009 at 10:50:34AM +0300, Roman Cheplyaka wrote: > > * Brent Yorgey [2009-05-27 22:52:04-0400] > > > On Mon, May 25, 2009 at 08:47:42AM -0600, Sergey Manucharian > > > wrote: > > > > Hi folks, > > > > > > > > How can I configure xmonad to run a program when switching to a > > > > particular workspace? Example: I want to run a script changing > > > > the keyboard layout to "us" unconditionally when I'm on > > > > particular workspaces (with ssh, rdesktop etc.). > > > > > > The easiest way to do this is to add an action to your logHook > > > that checks the current workspace, and sets the keyboard layout > > > if it is the desired workspace: > > > > > > ... > > > logHook = ...other stuff... >> checkKBLayout > > > > > > ... > > > > > > checkKBLayout :: X () > > > checkKBLayout = do > > > curTag <- gets (W.currentTag . windowset) > > > when (curTag == "foo") $ spawn "set keyboard layout" > > > > > > Of course, "foo" should be replaced with whatever workspace you > > > want, and "set keyboard layout" should be replaced with a > > > suitable command for setting the keyboard layout. > > > > Just to make it clear: the command will be spawned each time when > > windowset changes -- e.g. when you change the focus. It's harmless > > with setting kb layout, but if you use it for e.g. launching an > > application you'll get a new instance each time you change focus. > > > > Another possibility is to create IORef and store previous workspace > > there, so you can know whether you really _switched_ to current > > workspace. > > > > Maybe create a layer on top of logHook which would provide > > incremental information? > > That's a nice idea! I've always thought that the logHook could be > generalized in a number of interesting ways. There are lots of things > that might want to be notified of status changes which have nothing to > do with logging. > > -Brent Thanks for ideas, guys! By the way, another solution with EventHook is posted here: http://bbs.archlinux.org/viewtopic.php?pid=560598#p559566 Cheers, Sergey From sergey at ingeniware.com Fri May 29 13:29:10 2009 From: sergey at ingeniware.com (Sergey Manucharian) Date: Fri May 29 13:13:56 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090528075034.GA13861@flit> References: <20090525084742.5a99a1ce@ingeniware.com> <20090528025204.GA6987@seas.upenn.edu> <20090528075034.GA13861@flit> Message-ID: <20090529112910.415bfac4@ingeniware.com> On Thu, 28 May 2009 10:50:34 +0300 Roman Cheplyaka wrote: > * Brent Yorgey [2009-05-27 22:52:04-0400] > ....... > > ... > > logHook = ...other stuff... >> checkKBLayout > > > > ... > > > > checkKBLayout :: X () > > checkKBLayout = do > > curTag <- gets (W.currentTag . windowset) > > when (curTag == "foo") $ spawn "set keyboard layout" > ....... > > Just to make it clear: the command will be spawned each time when > windowset changes -- e.g. when you change the focus. It's harmless > with setting kb layout, but if you use it for e.g. launching an > application you'll get a new instance each time you change focus. I wonder why it keeps and keeps spawning the program even if I stay on that workspace.... Cheers, Sergey From mail at joachim-breitner.de Fri May 29 18:27:02 2009 From: mail at joachim-breitner.de (Joachim Breitner) Date: Fri May 29 18:11:19 2009 Subject: [xmonad] xmonad from gnome-session-2.26 Message-ID: <1243636022.23900.4.camel@localhost> Hi, If you want to use xmonad from gnome-session-2.26, the correct way seems to be to specify # gconftool-2 -s /desktop/gnome/session/required_components/windowmanager xmonad --type string This unfortunately has the effect that gnome-session waits a few seconds for the window manger (now xmonad) to register via dbus, see http://live.gnome.org/SessionManagement/GnomeSession xmonad does not support the gnome-session protocol, but you can work around the delay with this code in xmonad.hs import XMonad [...] import System.Environment import System.Cmd [...] main = do env <- getEnvironment case lookup "DESKTOP_AUTOSTART_ID" env of Just id -> do rawSystem "dbus-send" ["--session","--print-reply=string","--dest=org.gnome.SessionManager","/org/gnome/SessionManager","org.gnome.SessionManager.RegisterClient","string:xmonad","string:"++id] return () Nothing -> return () xmonad $ defaultConfig { [...] -- simple stuff } I guess some stuff can be improved about this, such as using the DBus package from hackage, but it?s a start. Greetings, Joachim -- Joachim Breitner e-Mail: mail@joachim-breitner.de Homepage: http://www.joachim-breitner.de ICQ#: 74513189 Jabber-ID: nomeata@joachim-breitner.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: Dies ist ein digital signierter Nachrichtenteil Url : http://www.haskell.org/pipermail/xmonad/attachments/20090529/74615052/attachment.bin From ankaan at gmail.com Sat May 30 15:01:38 2009 From: ankaan at gmail.com (Anders Engstrom) Date: Sat May 30 14:45:46 2009 Subject: [xmonad] darcs patch: FlexibleResize - Resize from edge, don't... (and 1 more) Message-ID: <4a218292.0c58560a.21a9.ffffbff2@mx.google.com> Sat May 30 20:54:37 CEST 2009 Anders Engstrom * FlexibleResize - Resize from edge, don't move adjust at opposite edge When resizing other corners than bottom-right, instead of adjusting to even columns/rows on the opposite side to it the same way as if resizing was made from the bottom right. Also add the possibility to add an area in the middle of an edge where only that edge is resized, not the closest corner. Sat May 30 20:57:52 CEST 2009 Anders Engstrom * UpdatePointer - Don't warp while dragging with mouse -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 45989 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/xmonad/attachments/20090530/ac74af25/attachment-0001.bin From vogt.adam at gmail.com Sat May 30 15:18:17 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sat May 30 15:02:33 2009 Subject: [xmonad] darcs patch: FlexibleResize - Resize from edge, don't... (and 1 more) In-Reply-To: <4a218292.0c58560a.21a9.ffffbff2@mx.google.com> References: <4a218292.0c58560a.21a9.ffffbff2@mx.google.com> Message-ID: <20090530191801.GA6912@smuckers> * On Saturday, May 30 2009, Anders Engstrom wrote: >Sat May 30 20:54:37 CEST 2009 Anders Engstrom > * FlexibleResize - Resize from edge, don't move adjust at opposite edge > > When resizing other corners than bottom-right, instead of adjusting to even columns/rows on the opposite side to it the same way as if resizing was made from the bottom right. > > Also add the possibility to add an area in the middle of an edge where only that edge is resized, not the closest corner. > > >Sat May 30 20:57:52 CEST 2009 Anders Engstrom > * UpdatePointer - Don't warp while dragging with mouse Applied, Thanks. >_______________________________________________ >xmonad mailing list >xmonad@haskell.org >http://www.haskell.org/mailman/listinfo/xmonad From konstantin.sobolev at gmail.com Sat May 30 22:12:23 2009 From: konstantin.sobolev at gmail.com (Konstantin Sobolev) Date: Sat May 30 21:56:50 2009 Subject: [xmonad] tabbed, floating & focus Message-ID: <94608ad80905301912k2ad8f24fr414991c0344e2e7b@mail.gmail.com> Hello, I need a hint on how to fix a weird behavior of the Tabbed layout: imagine you have 2 windows in tabbed: A and B. A has focus. Now you call up a floating window C, like Scratchpad, and it takes focus. Then you move your mouse and, without hiding C, click on B tab, B gets focus. Now, if only you somehow give focus back to C (like drag the mouse over it) - tabbed will switch back to A. In the other words you can't switch tabs after you've added a floating window: as soon as floating gets focus again, tabbed restores it's state as it was before the floating window was added. It's quite annoying and I'd like to fix it, but X.L.Decoration logic is too complicated to me. Or maybe I should look at some other place? From vogt.adam at gmail.com Sat May 30 22:32:48 2009 From: vogt.adam at gmail.com (Adam Vogt) Date: Sat May 30 22:17:48 2009 Subject: [xmonad] tabbed, floating & focus In-Reply-To: <94608ad80905301912k2ad8f24fr414991c0344e2e7b@mail.gmail.com> References: <94608ad80905301912k2ad8f24fr414991c0344e2e7b@mail.gmail.com> Message-ID: <20090531023248.GA12144@smuckers> * On Saturday, May 30 2009, Konstantin Sobolev wrote: >Hello, > [...] >In the other words you can't switch tabs after you've added a floating >window: as soon as floating gets focus again, tabbed restores it's >state as it was before the floating window was added. >It's quite annoying and I'd like to fix it, but X.L.Decoration logic >is too complicated to me. Or maybe I should look at some other place? This affects all layouts as far as I can tell. I suspect it has something to do with this defect: http://code.google.com/p/xmonad/issues/detail?id=4 >_______________________________________________ >xmonad mailing list >xmonad@haskell.org >http://www.haskell.org/mailman/listinfo/xmonad From konstantin.sobolev at gmail.com Sat May 30 22:58:51 2009 From: konstantin.sobolev at gmail.com (Konstantin Sobolev) Date: Sat May 30 22:43:17 2009 Subject: [xmonad] tabbed, floating & focus In-Reply-To: <20090531023248.GA12144@smuckers> References: <94608ad80905301912k2ad8f24fr414991c0344e2e7b@mail.gmail.com> <20090531023248.GA12144@smuckers> Message-ID: <94608ad80905301958g56ee18c3r97f080c33a892d10@mail.gmail.com> On Sat, May 30, 2009 at 10:32 PM, Adam Vogt wrote: >>In the other words you can't switch tabs after you've added a floating >>window: as soon as floating gets focus again, tabbed restores it's >>state as it was before the floating window was added. >>It's quite annoying and I'd like to fix it, but X.L.Decoration logic >>is too complicated to me. Or maybe I should look at some other place? > > This affects all layouts as far as I can tell. I suspect it has something > to do with this defect: > http://code.google.com/p/xmonad/issues/detail?id=4 Makes sense. I've suspected something like this, tiling layer has to remember it's focus position when giving focus away to floating. No easy fix then :( Or maybe it's possible to write a layout modifier that will do such focus state management.. From roma at ro-che.info Sun May 31 05:04:00 2009 From: roma at ro-che.info (Roman Cheplyaka) Date: Sun May 31 04:48:07 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090529112910.415bfac4@ingeniware.com> References: <20090525084742.5a99a1ce@ingeniware.com> <20090528025204.GA6987@seas.upenn.edu> <20090528075034.GA13861@flit> <20090529112910.415bfac4@ingeniware.com> Message-ID: <20090531090400.GA23348@flit> * Sergey Manucharian [2009-05-29 11:29:10-0600] > On Thu, 28 May 2009 10:50:34 +0300 > Roman Cheplyaka wrote: > > > * Brent Yorgey [2009-05-27 22:52:04-0400] > > ....... > > > ... > > > logHook = ...other stuff... >> checkKBLayout > > > > > > ... > > > > > > checkKBLayout :: X () > > > checkKBLayout = do > > > curTag <- gets (W.currentTag . windowset) > > > when (curTag == "foo") $ spawn "set keyboard layout" > > ....... > > > > Just to make it clear: the command will be spawned each time when > > windowset changes -- e.g. when you change the focus. It's harmless > > with setting kb layout, but if you use it for e.g. launching an > > application you'll get a new instance each time you change focus. > > I wonder why it keeps and keeps spawning the program even if I stay on > that workspace.... As I said, "the command will be spawned each time when windowset changes -- e.g. when you change the focus." -- Roman I. Cheplyaka (aka Feuerbach @ IRC) http://ro-che.info/docs/xmonad.hs From alexey.skladnoy at gmail.com Sun May 31 06:13:11 2009 From: alexey.skladnoy at gmail.com (Khudyakov Alexey) Date: Sun May 31 05:54:32 2009 Subject: [xmonad] Layout for GIMP. How to? Message-ID: <200905311413.11424.alexey.skladnoy@gmail.com> Hello I'm trying to create layout for Gimp. It's program which really asked for clever layout and otherwise not very usable. First I've tried Nathan's layout based on nested IMs [1]. However it didn't worked well. 1. There is only one window in side panels (Layers etc). If I open two dock windows one of them goes into main working area. 2. If I open two image windows and move mouse cursor to toolbox one of windows always gets in front. Observed only with Full layout. How should it work in my opinion. Screen is separated in three vertical areas. Left is for tools. Center is working area. Right for docks. Right and central area has own layouts. Center must have way to change layouts. Other ideas are welcome too. [1] http://nathanhowell.net/2009/03/08/xmonad-and-the-gimp/ -- Khudyakov Alexey From kat_lists at katspace.homelinux.org Sun May 31 07:47:51 2009 From: kat_lists at katspace.homelinux.org (Kathryn Andersen) Date: Sun May 31 07:32:02 2009 Subject: [xmonad] Layout for GIMP. How to? In-Reply-To: <200905311413.11424.alexey.skladnoy@gmail.com> References: <200905311413.11424.alexey.skladnoy@gmail.com> Message-ID: <20090531114750.GA5276@katla.katspace.homelinux.org> On Sun, May 31, 2009 at 02:13:11PM +0400, Khudyakov Alexey wrote: > First I've tried Nathan's layout based on nested IMs [1]. However it didn't > worked well. > 1. There is only one window in side panels (Layers etc). If I open two dock > windows one of > them goes into main working area. > 2. If I open two image windows and move mouse cursor to toolbox one of windows > always gets in front. Observed only with Full layout. I think this has something to do with the way focus is dealt with. > How should it work in my opinion. Screen is separated in three vertical areas. > Left is for tools. Center is working area. Right for docks. Right and central > area has own layouts. Center must have way to change layouts. I use the IM layout applied twice to get the left and right columns. This does the right thing as far as being able to change the centre layout. myGimpChoices = ... (whatever layouts I want for the Centre part) myGimpIM = (reflectHoriz $ withIM (18%100) (ClassName "Gimp") $ reflectHoriz $ withIM (18%100) (ClassName "Gimp") $ myGimpChoices) I also make Gimp not float by default (by not using the default manage hook) and then make dialogue windows float, because IMHO it's better that way. , (className =? "Gimp" <&&> fmap ("color-selector" `DL.isSuffixOf`) role) --> doFloat , (className =? "Gimp" <&&> fmap ("layer-new" `DL.isSuffixOf`) role) --> doFloat , (className =? "Gimp" <&&> fmap ("-dialog" `DL.isSuffixOf`) role) --> doFloat , (className =? "Gimp" <&&> fmap ("-tool" `DL.isSuffixOf`) role) --> doFloat Kathryn Andersen -- _--_|\ | Kathryn Andersen / \ | \_.--.*/ | GenFicCrit mailing list v | ------------| Melbourne -> Victoria -> Australia -> Southern Hemisphere Maranatha! | -> Earth -> Sol -> Milky Way Galaxy -> Universe From byorgey at seas.upenn.edu Sun May 31 09:46:40 2009 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sun May 31 09:30:44 2009 Subject: [xmonad] tabbed, floating & focus In-Reply-To: <20090531023248.GA12144@smuckers> References: <94608ad80905301912k2ad8f24fr414991c0344e2e7b@mail.gmail.com> <20090531023248.GA12144@smuckers> Message-ID: <20090531134640.GA26070@seas.upenn.edu> On Sat, May 30, 2009 at 10:32:48PM -0400, Adam Vogt wrote: > * On Saturday, May 30 2009, Konstantin Sobolev wrote: > > >Hello, > > > [...] > >In the other words you can't switch tabs after you've added a floating > >window: as soon as floating gets focus again, tabbed restores it's > >state as it was before the floating window was added. > >It's quite annoying and I'd like to fix it, but X.L.Decoration logic > >is too complicated to me. Or maybe I should look at some other place? > > This affects all layouts as far as I can tell. I suspect it has something > to do with this defect: > http://code.google.com/p/xmonad/issues/detail?id=4 Yeah, the problem, if I recall correctly, is that floating and non-floating windows are stored in the same zipper, so there is no way to remember which non-floating window was last focused. The floating and tiled layers really ought to be separated out more cleanly, but it will take a lot of work and no one's sat down to do it yet. This is one possible thing I am thinking of working on at Hac phi. -Brent From sergey at ingeniware.com Sun May 31 10:35:50 2009 From: sergey at ingeniware.com (Sergey Manucharian) Date: Sun May 31 10:20:27 2009 Subject: [xmonad] Layout for GIMP. How to? In-Reply-To: <200905311413.11424.alexey.skladnoy@gmail.com> References: <200905311413.11424.alexey.skladnoy@gmail.com> Message-ID: <20090531083550.0c2b75a8@ingeniware.com> On Sun, 31 May 2009 14:13:11 +0400 Khudyakov Alexey wrote: > Hello > > I'm trying to create layout for Gimp. It's program which really asked > for clever layout and otherwise not very usable. > > First I've tried Nathan's layout based on nested IMs [1]. However it > didn't worked well. > 1. There is only one window in side panels (Layers etc). If I open > two dock windows one of > them goes into main working area. > 2. If I open two image windows and move mouse cursor to toolbox one > of windows always gets in front. Observed only with Full layout. > > > How should it work in my opinion. Screen is separated in three > vertical areas. Left is for tools. Center is working area. Right for > docks. Right and central area has own layouts. Center must have way > to change layouts. > > Other ideas are welcome too. > > > [1] http://nathanhowell.net/2009/03/08/xmonad-and-the-gimp/ > -- Hello Alexey, I use almost the same layout: ----------------------------8<--------------------------- gimpLayout = IM.withIM (0.15) (Role "gimp-toolbox") $ reflectHoriz $ IM.withIM (0.20) (Role "gimp-dock") (Mirror tiled ||| Full) where tiled = ResizableTall nmaster delta ratio [] nmaster = 1 ratio = 1/2 delta = 2/100 ----------------------------8<--------------------------- I have the same issue as you with "Full" when 2 or more image windows are open, but with "ResizableTall" everything works fine. Another issue related to focus is that the order of floating windows depends on the focus somehow, example: when I press Ctr-Shift-S to "save as" and chose the folder and file name (floating dialog) sometimes another floating window (which appear to ask for transparency level, exporting transparency etc.) pops up BEHIND the file chooser in spite of I have "doF W.swapUp" in the manageHook. So this behaviour depends on the focus at the moment I pressed Ctr-Shift-S. Cheers, Sergey From wirtwolff at gmail.com Sun May 31 11:52:31 2009 From: wirtwolff at gmail.com (Wirt Wolff) Date: Sun May 31 12:34:56 2009 Subject: [xmonad] run a program when switching to a workspace In-Reply-To: <20090531090400.GA23348@flit> References: <20090525084742.5a99a1ce@ingeniware.com> <20090528025204.GA6987@seas.upenn.edu> <20090528075034.GA13861@flit> <20090529112910.415bfac4@ingeniware.com> <20090531090400.GA23348@flit> Message-ID: <1243784313-sup-824@chigamba> Just to make sure it makes sense -- the log hook runs on all state changes -- focus, layout change... This might be why first suggestion was to add to keybinding that switches to that workspace. If you use many ways to change to that special workspace, like CycleWS and fancy clickable dzen areas, you could make a top level function 'toSpecialWS' using the '... >> ...' code from earlier, and re-use that function all the places you need it. -- wmw From wirtwolff at gmail.com Sun May 31 12:05:55 2009 From: wirtwolff at gmail.com (Wirt Wolff) Date: Sun May 31 12:48:18 2009 Subject: [xmonad] Layout for GIMP. How to? In-Reply-To: <200905311413.11424.alexey.skladnoy@gmail.com> References: <200905311413.11424.alexey.skladnoy@gmail.com> Message-ID: <1243785229-sup-9734@chigamba> Excerpts from Khudyakov Alexey's message of Sun May 31 04:13:11 -0600 2009: > > First I've tried Nathan's layout based on nested IMs [1]. However it didn't > worked well. > 1. There is only one window in side panels (Layers etc). If I open two dock > windows one of them goes into main working area. Check your dock 'xprop' properties match the ones IM is trying to find for the side panels. You may need to restart Gimp while tweaking this, but usually mod-shift-space is enough. Gimp seems to change class depending how it's started, too, so check xprop if something's weird after it's been working properly. Also you can combine docks into one if you have enough vertical resolution. Instructions are on wiki in Tips and Tricks > Gimp section. Basically you drag panels and tabs to different places on main toolbox. > 2. If I open two image windows and move mouse cursor to toolbox one of windows > always gets in front. Observed only with Full layout. Yes, this is separate focus layer zipper issue. I use Full ||| ResizableTall ... and just mod-tab as needed when focus changes badly. Usually it's not so ugly since floats are mostly used with tiled not full. I use setup like Kathryn suggested, but one toolbox/dock, not two... and have unconsciously learned to work in a way that mostly doesn't create focus shifts. -- wmw