From anton at enomsg.org Mon Sep 1 08:02:57 2014 From: anton at enomsg.org (Anton Vorontsov) Date: Mon, 01 Sep 2014 08:02:57 -0000 Subject: [xmonad] darcs patch: Add Stoppable layout for power saving (and 1 more) Message-ID: In this version I addressed further comments by Paul Fertser, plus implemented the remote/local clients identification scheme that I was talking about: it is in XMonad.Util.RemoteWindows module with documentation and all. I split the work into two logical changes, for easier review and so that the first patch won't depend on the second. Thanks, Anton 2 patches for repository http://code.haskell.org/XMonadContrib: Mon Sep 1 00:21:41 PDT 2014 Anton Vorontsov * Add Stoppable layout for power saving This module implements a special kind of layout modifier, which when applied to a layout, causes xmonad to stop all non-visible processes. In a way, this is a sledge-hammer for applications that drain power. For example, given a web browser on a stoppable workspace, once the workspace is hidden the web browser will be stopped. Note that the stopped application won't be able to communicate with X11 clipboard. For this, the module actually stops applications after a certain delay, giving a chance for a user to complete copy-paste sequence. By default, the delay equals to 15 seconds, it is configurable via 'Stoppable' constructor. The stoppable modifier prepends a mark (by default equals to "Stoppable") to the layout description (alternatively, you can choose your own mark and use it with 'Stoppable' constructor). The stoppable layout (identified by a mark) spans to multiple workspaces, letting you to create groups of stoppable workspaces that only stop processes when none of the workspaces are visible, and conversely, unfreezing all processes even if one of the stoppable workspaces are visible. To stop the process we use signals, which works for most cases. For processes that tinker with signal handling (debuggers), another (Linux-centric) approach may be used. See https://www.kernel.org/doc/Documentation/cgroups/freezer-subsystem.txt Mon Sep 1 00:21:58 PDT 2014 Anton Vorontsov * Implement proper handling of dynamically changing hostname The module implements a proper way of finding out whether the window is remote or local. Just checking for a hostname and WM_CLIENT_MACHINE being equal is often not enough because the hostname is a changing subject (without any established notification mechanisms), and thus WM_CLIENT_MACHINE and the hostname can diverge even for a local window. This module solves the problem. As soon as there is a new window created, we check the hostname and WM_CLIENT_MACHINE, and then we cache the result into the XMONAD_REMOTE property. Notice that XMonad itself does not know anything about hostnames, nor does it have any dependency on Network.* modules. For this module it is not a problem: you can provide a mean to get the hostname through your config file (see usage). Or, if you don't like the hassle of handling dynamic hostnames (suppose your hostname never changes), it is also fine: this module will fallback to using environment variables. -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-preview.txt Type: text/x-darcs-patch Size: 13780 bytes Desc: Patch preview URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: add-stoppable-layout-for-power-saving.dpatch Type: application/x-darcs-patch Size: 30521 bytes Desc: A darcs patch for your repository! URL: From zev at bewilderbeest.net Tue Sep 2 07:08:22 2014 From: zev at bewilderbeest.net (Zev Weiss) Date: Tue, 2 Sep 2014 02:08:22 -0500 Subject: [xmonad] [xmonad-contrib] XMonad.Prompt.Pass patch In-Reply-To: <87ppfi9vxz.fsf@gmail.com> References: <87mwdf8r4j.fsf@gmail.com> <87wqcia2q5.fsf@gmail.com> <877g4cbrkp.fsf@gmail.com> <874myci1sy.fsf@schoepe.localhost> <8738dtflrf.fsf@gmail.com> <87r41dghes.fsf@schoepe.localhost> <871ttcflbd.fsf@gmail.com> <87d2bkjo7t.fsf@schoepe.localhost> <87lhq7ecg3.fsf@gmail.com> <87iolbe5is.fsf@gmail.com> <0A8A27D2-AFDD-4A4E-B309-05260F87C6AF@bewilderbeest.net> <87ha0vdvt1.fsf@gmail.com> <9A81EF32-CA2F-464F-AF1E-1CD5C7C39DD4@bewilderbeest.net> <87ppfi9vxz.fsf@gmail.com> Message-ID: <811F5CE2-2496-4FFF-B7DB-A297AC7AF04D@bewilderbeest.net> On Aug 30, 2014, at 4:19 AM, ardumont wrote: >> When people say things like "ed is the standard text editor", they're typically (hopefully, if they're using the term correctly) referring to actual, real standards, like SUS. For example, here's the SUS entry for ed: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ed.html >> > > ok, real standards, POSIX and all. > Definitions aligned now. > > (See, it was apparent but not obvious at all to me ;) > >> If you (or anyone else) can point to a real standard that specifies >> the inclusion and behavior of 'pass', I'll retract my statement -- >> though I sincerely doubt such a standard exists. > > Standard begins somewhere. > Sometimes, standard emerges with use. > >> If you want to try get 'pass' into SUS, you can file a bug at http://www.austingroupbugs.net (I won't be holding my breath). >> > > I am not the one requiring this. > Furthermore, I checked requirements to contribute and I do not recall seeing one > about this. > > So, if it's the main issue at hand, please, can someone update the > requirements in the xmonad site? > I don't think anyone's claimed that being officially standardized is a requirement for anything as far as xmonad is concerned (I certainly didn't mean to imply that). I was just pointing out that the "standard" claim on the website of the program in question was quite a stretch, and didn't give me an impression of great clueful-ness on the part of its author(s). >> Might pass's contrib/ directory be another (better, in my opinion) >> place to consider putting this code? > > I am sorry I did not understand this sentence. > What's pass's contrib/ directory? > I was referring to this: http://git.zx2c4.com/password-store/tree/contrib (contrib/ being where interoperability code with other stuff often lives in various projects' source trees). Zev From mfwitten at gmail.com Tue Sep 2 18:12:42 2014 From: mfwitten at gmail.com (Michael Witten) Date: Tue, 2 Sep 2014 18:12:42 +0000 Subject: [xmonad] Leak... somewhere... I periodically restart xmonad to recover gobs of swap space In-Reply-To: References: <0b7dc5f88f341f7c296652de1cacdae0@seas.upenn.edu> <4d080b1716e84f9fbac463f8ebbf10d9-mfwitten@gmail.com> Message-ID: On Sat, Jan 18, 2014 at 3:34 AM, Michael Witten wrote: > > On Sat, 2014-Jan-18, Wirt Wolff wrote: >> >> ... >> >> Sorry I came late to the thread. If I read correctly you're using xmobar >> 0.10 - there's a rather goofy memory leak due to the allocation of colors in >> xmobar 0.16 and earlier. >> >> So upgrading to a 0.17 or newer xmobar may solve the problem. >> >> xmobar release notes: >> >> http://projects.haskell.org/xmobar/releases.html > > Thanks for the heads up! That looks like a promising explanation indeed. > > I'll upgrade presently, and then let the list know how it goes in a month or so. > > I thank everybody for taking the time to provide input. My "tests" got bungled, but basically this seems to have been the problem. Thanks, again. From mbsullivan at gmail.com Wed Sep 3 02:18:27 2014 From: mbsullivan at gmail.com (Mike Sullivan) Date: Tue, 2 Sep 2014 22:18:27 -0400 Subject: [xmonad] What happened to ScreenWorkspaces? Message-ID: Does anybody know what happened to the ScreenWorkspaces module, mentioned briefly here? http://article.gmane.org/gmane.comp.lang.haskell.xmonad/7223 It sounds useful, as it seems like it would extend Xmonad.Layout.IndependentScreens to also allow for a more polished experience (notably, perhaps it would fix CycleWS behavior as discussed at http://www.haskell.org/pipermail/xmonad/2009-December/009466.html). Also, it would allow for a more Gnome-like multi-head experience (as mentioned at http://article.gmane.org/gmane.comp.lang.haskell.xmonad/7774). Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From eniotna.t at gmail.com Wed Sep 3 08:36:20 2014 From: eniotna.t at gmail.com (ardumont) Date: Wed, 03 Sep 2014 10:36:20 +0200 Subject: [xmonad] [xmonad-contrib] XMonad.Prompt.Pass patch In-Reply-To: <811F5CE2-2496-4FFF-B7DB-A297AC7AF04D@bewilderbeest.net> References: <87mwdf8r4j.fsf@gmail.com> <87wqcia2q5.fsf@gmail.com> <877g4cbrkp.fsf@gmail.com> <874myci1sy.fsf@schoepe.localhost> <8738dtflrf.fsf@gmail.com> <87r41dghes.fsf@schoepe.localhost> <871ttcflbd.fsf@gmail.com> <87d2bkjo7t.fsf@schoepe.localhost> <87lhq7ecg3.fsf@gmail.com> <87iolbe5is.fsf@gmail.com> <0A8A27D2-AFDD-4A4E-B309-05260F87C6AF@bewilderbeest.net> <87ha0vdvt1.fsf@gmail.com> <9A81EF32-CA2F-464F-AF1E-1CD5C7C39DD4@bewilderbeest.net> <87ppfi9vxz.fsf@gmail.com> <811F5CE2-2496-4FFF-B7DB-A297AC7AF04D@bewilderbeest.net> Message-ID: <87vbp514or.fsf@gmail.com> Zev Weiss writes: > On Aug 30, 2014, at 4:19 AM, ardumont wrote: > >>> When people say things like "ed is the standard text editor", they're typically (hopefully, if they're using the term correctly) referring to actual, real standards, like SUS. For example, here's the SUS entry for ed: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ed.html >>> >> >> ok, real standards, POSIX and all. >> Definitions aligned now. >> >> (See, it was apparent but not obvious at all to me ;) >> >>> If you (or anyone else) can point to a real standard that specifies >>> the inclusion and behavior of 'pass', I'll retract my statement -- >>> though I sincerely doubt such a standard exists. >> >> Standard begins somewhere. >> Sometimes, standard emerges with use. >> >>> If you want to try get 'pass' into SUS, you can file a bug at http://www.austingroupbugs.net (I won't be holding my breath). >>> >> >> I am not the one requiring this. >> Furthermore, I checked requirements to contribute and I do not recall seeing one >> about this. >> >> So, if it's the main issue at hand, please, can someone update the >> requirements in the xmonad site? >> > > I don't think anyone's claimed that being officially standardized is a > requirement for anything as far as xmonad is concerned (I certainly > didn't mean to imply that). Ok. > I was just pointing out that the "standard" claim on the website of the program in question was quite a stretch, and didn't give me an impression of great clueful-ness on the part of its author(s). Ok! But it also drove you `to voice *your* from-the-sidelines preference that this patch *not* be applied`... Is it that much of a problem as to prevent a patch from being applied? Again, if the patch is applied, people who wants this could use it. Others who are not interested simply ignore it. >>> Might pass's contrib/ directory be another (better, in my opinion) >>> place to consider putting this code? >> >> I am sorry I did not understand this sentence. >> What's pass's contrib/ directory? >> > > I was referring to this: http://git.zx2c4.com/password-store/tree/contrib (contrib/ being where interoperability code with other stuff often lives in various projects' source trees). > Ok. I see now. But I am not interested to provide this to pass. As said before, I believe this could be extended to use with other password manager. It has better chance to be improved in xmonad-contrib than in pass. I also believe the use case is interesting enough to be integrated (otherwise, I would not have proposed it). Then again, as you said, neither of us are qualified to apply or dismiss the patch :D In any case, thanks for clarifying Zev. > > Zev Cheers, -- @ardumont From darcswatch at nomeata.de Tue Sep 9 14:45:52 2014 From: darcswatch at nomeata.de (darcswatch at nomeata.de) Date: Tue, 09 Sep 2014 15:45:52 +0100 Subject: [xmonad] Applied: Re: [xmonad-contrib] XMonad.Prompt.Pass patch References: <87iolbe5is.fsf@gmail.com> Message-ID: This 1-patch bundle was just applied to http://code.haskell.org/XMonadContrib: 20140829131928 eniotna.t at gmail.com * add-new-xmonad-prompt-pass This module provides 3 to ease passwords manipulation (generate, read, remove): - one to lookup passwords in the password-storage. - one to generate a password for a given password label that the user inputs. - one to delete a stored password for a given password label that the user inputs. All those prompts benefit from the completion system provided by the module . The password store is setuped through an environment variable PASSWORD_STORE_DIR. If this is set, use the content of the variable. Otherwise, the password store is located on user's home @$HOME\/.password-store at . Source: - The password storage implementation is . - Inspired from -- This message was brought to you by DarcsWatch http://darcswatch.nomeata.de/repo_http:__code.haskell.org_XMonadContrib.html#bundle-efac04c49e9b480dfc4e4e9bdf957316d272b660 From vogt.adam at gmail.com Tue Sep 9 14:49:12 2014 From: vogt.adam at gmail.com (adam vogt) Date: Tue, 9 Sep 2014 10:49:12 -0400 Subject: [xmonad] [xmonad-contrib] XMonad.Prompt.Pass patch In-Reply-To: <87vbp514or.fsf@gmail.com> References: <87mwdf8r4j.fsf@gmail.com> <87wqcia2q5.fsf@gmail.com> <877g4cbrkp.fsf@gmail.com> <874myci1sy.fsf@schoepe.localhost> <8738dtflrf.fsf@gmail.com> <87r41dghes.fsf@schoepe.localhost> <871ttcflbd.fsf@gmail.com> <87d2bkjo7t.fsf@schoepe.localhost> <87lhq7ecg3.fsf@gmail.com> <87iolbe5is.fsf@gmail.com> <0A8A27D2-AFDD-4A4E-B309-05260F87C6AF@bewilderbeest.net> <87ha0vdvt1.fsf@gmail.com> <9A81EF32-CA2F-464F-AF1E-1CD5C7C39DD4@bewilderbeest.net> <87ppfi9vxz.fsf@gmail.com> <811F5CE2-2496-4FFF-B7DB-A297AC7AF04D@bewilderbeest.net> <87vbp514or.fsf@gmail.com> Message-ID: Hello Ardumont, I've pushed your Aug 29 patch. Sorry about the months-long delay: it's not supposed to be this difficult to get your code into contrib, and I hope we can be more responsive in the future. Regards, Adam On Wed, Sep 3, 2014 at 4:36 AM, ardumont wrote: > > Zev Weiss writes: > >> On Aug 30, 2014, at 4:19 AM, ardumont wrote: >> >>>> When people say things like "ed is the standard text editor", they're typically (hopefully, if they're using the term correctly) referring to actual, real standards, like SUS. For example, here's the SUS entry for ed: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ed.html >>>> >>> >>> ok, real standards, POSIX and all. >>> Definitions aligned now. >>> >>> (See, it was apparent but not obvious at all to me ;) >>> >>>> If you (or anyone else) can point to a real standard that specifies >>>> the inclusion and behavior of 'pass', I'll retract my statement -- >>>> though I sincerely doubt such a standard exists. >>> >>> Standard begins somewhere. >>> Sometimes, standard emerges with use. >>> >>>> If you want to try get 'pass' into SUS, you can file a bug at http://www.austingroupbugs.net (I won't be holding my breath). >>>> >>> >>> I am not the one requiring this. >>> Furthermore, I checked requirements to contribute and I do not recall seeing one >>> about this. >>> >>> So, if it's the main issue at hand, please, can someone update the >>> requirements in the xmonad site? >>> >> >> I don't think anyone's claimed that being officially standardized is a >> requirement for anything as far as xmonad is concerned (I certainly >> didn't mean to imply that). > > Ok. > >> I was just pointing out that the "standard" claim on the website of the program in question was quite a stretch, and didn't give me an impression of great clueful-ness on the part of its author(s). > > Ok! But it also drove you `to voice *your* from-the-sidelines > preference that this patch *not* be applied`... > > Is it that much of a problem as to prevent a patch from being applied? > > Again, if the patch is applied, people who wants this could use it. > Others who are not interested simply ignore it. > >>>> Might pass's contrib/ directory be another (better, in my opinion) >>>> place to consider putting this code? >>> >>> I am sorry I did not understand this sentence. >>> What's pass's contrib/ directory? >>> >> >> I was referring to this: http://git.zx2c4.com/password-store/tree/contrib (contrib/ being where interoperability code with other stuff often lives in various projects' source trees). >> > > Ok. I see now. > > But I am not interested to provide this to pass. > As said before, I believe this could be extended to use with other > password manager. > It has better chance to be improved in xmonad-contrib than in pass. > > I also believe the use case is interesting enough to be integrated > (otherwise, I would not have proposed it). > > Then again, as you said, neither of us are qualified to apply or dismiss the patch :D > > In any case, thanks for clarifying Zev. > >> >> Zev > > Cheers, > -- > @ardumont > _______________________________________________ > xmonad mailing list > xmonad at haskell.org > http://www.haskell.org/mailman/listinfo/xmonad From eniotna.t at gmail.com Tue Sep 9 17:59:53 2014 From: eniotna.t at gmail.com (ardumont) Date: Tue, 09 Sep 2014 19:59:53 +0200 Subject: [xmonad] [xmonad-contrib] XMonad.Prompt.Pass patch In-Reply-To: References: <87mwdf8r4j.fsf@gmail.com> <87wqcia2q5.fsf@gmail.com> <877g4cbrkp.fsf@gmail.com> <874myci1sy.fsf@schoepe.localhost> <8738dtflrf.fsf@gmail.com> <87r41dghes.fsf@schoepe.localhost> <871ttcflbd.fsf@gmail.com> <87d2bkjo7t.fsf@schoepe.localhost> <87lhq7ecg3.fsf@gmail.com> <87iolbe5is.fsf@gmail.com> <0A8A27D2-AFDD-4A4E-B309-05260F87C6AF@bewilderbeest.net> <87ha0vdvt1.fsf@gmail.com> <9A81EF32-CA2F-464F-AF1E-1CD5C7C39DD4@bewilderbeest.net> <87ppfi9vxz.fsf@gmail.com> <811F5CE2-2496-4FFF-B7DB-A297AC7AF04D@bewilderbeest.net> <87vbp514or.fsf@gmail.com> Message-ID: <87r3zkvfmu.fsf@gmail.com> Hello Adam, adam vogt writes: > Hello Ardumont, > > I've pushed your Aug 29 patch. Great news! > > Sorry about the months-long delay: it's not supposed to be this > difficult to get your code into contrib, and I hope we can be more > responsive in the future. No problem. In the mean time, I believe the code got better :D Thanks for your time! > > Regards, > Adam > > On Wed, Sep 3, 2014 at 4:36 AM, ardumont wrote: >> >> Zev Weiss writes: >> >>> On Aug 30, 2014, at 4:19 AM, ardumont wrote: >>> >>>>> When people say things like "ed is the standard text editor", they're typically (hopefully, if they're using the term correctly) referring to actual, real standards, like SUS. For example, here's the SUS entry for ed: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ed.html >>>>> >>>> >>>> ok, real standards, POSIX and all. >>>> Definitions aligned now. >>>> >>>> (See, it was apparent but not obvious at all to me ;) >>>> >>>>> If you (or anyone else) can point to a real standard that specifies >>>>> the inclusion and behavior of 'pass', I'll retract my statement -- >>>>> though I sincerely doubt such a standard exists. >>>> >>>> Standard begins somewhere. >>>> Sometimes, standard emerges with use. >>>> >>>>> If you want to try get 'pass' into SUS, you can file a bug at http://www.austingroupbugs.net (I won't be holding my breath). >>>>> >>>> >>>> I am not the one requiring this. >>>> Furthermore, I checked requirements to contribute and I do not recall seeing one >>>> about this. >>>> >>>> So, if it's the main issue at hand, please, can someone update the >>>> requirements in the xmonad site? >>>> >>> >>> I don't think anyone's claimed that being officially standardized is a >>> requirement for anything as far as xmonad is concerned (I certainly >>> didn't mean to imply that). >> >> Ok. >> >>> I was just pointing out that the "standard" claim on the website of the program in question was quite a stretch, and didn't give me an impression of great clueful-ness on the part of its author(s). >> >> Ok! But it also drove you `to voice *your* from-the-sidelines >> preference that this patch *not* be applied`... >> >> Is it that much of a problem as to prevent a patch from being applied? >> >> Again, if the patch is applied, people who wants this could use it. >> Others who are not interested simply ignore it. >> >>>>> Might pass's contrib/ directory be another (better, in my opinion) >>>>> place to consider putting this code? >>>> >>>> I am sorry I did not understand this sentence. >>>> What's pass's contrib/ directory? >>>> >>> >>> I was referring to this: http://git.zx2c4.com/password-store/tree/contrib (contrib/ being where interoperability code with other stuff often lives in various projects' source trees). >>> >> >> Ok. I see now. >> >> But I am not interested to provide this to pass. >> As said before, I believe this could be extended to use with other >> password manager. >> It has better chance to be improved in xmonad-contrib than in pass. >> >> I also believe the use case is interesting enough to be integrated >> (otherwise, I would not have proposed it). >> >> Then again, as you said, neither of us are qualified to apply or dismiss the patch :D >> >> In any case, thanks for clarifying Zev. >> >>> >>> Zev >> >> Cheers, >> -- >> @ardumont >> _______________________________________________ >> xmonad mailing list >> xmonad at haskell.org >> http://www.haskell.org/mailman/listinfo/xmonad Cheers, -- @ardumont From carstenmattner at gmail.com Fri Sep 12 19:02:50 2014 From: carstenmattner at gmail.com (Carsten Mattner) Date: Fri, 12 Sep 2014 21:02:50 +0200 Subject: [xmonad] xmonad --recompile breakage Message-ID: xmonad --recompile stopped working here this week and fails with scope errors in stuff from xmonadcontrib. Anyone else see this? From allbery.b at gmail.com Fri Sep 12 19:04:25 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Fri, 12 Sep 2014 15:04:25 -0400 Subject: [xmonad] xmonad --recompile breakage In-Reply-To: References: Message-ID: On Fri, Sep 12, 2014 at 3:02 PM, Carsten Mattner wrote: > xmonad --recompile stopped working here this week and fails with scope > errors > in stuff from xmonadcontrib. Anyone else see this? > Are you running it in a cabal sandbox, by any chance? -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From carstenmattner at gmail.com Fri Sep 12 22:34:30 2014 From: carstenmattner at gmail.com (Carsten Mattner) Date: Sat, 13 Sep 2014 00:34:30 +0200 Subject: [xmonad] xmonad --recompile breakage In-Reply-To: References: Message-ID: On Fri, Sep 12, 2014 at 9:04 PM, Brandon Allbery wrote: > On Fri, Sep 12, 2014 at 3:02 PM, Carsten Mattner > wrote: >> >> xmonad --recompile stopped working here this week and fails with scope >> errors >> in stuff from xmonadcontrib. Anyone else see this? > > > Are you running it in a cabal sandbox, by any chance? No and I ran "cabal clean" before compiling and purge ~/.ghc and ~/.cabal. WIll test again tomorrow to rule out user failure From allbery.b at gmail.com Fri Sep 12 22:40:37 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Fri, 12 Sep 2014 18:40:37 -0400 Subject: [xmonad] xmonad --recompile breakage In-Reply-To: References: Message-ID: On Fri, Sep 12, 2014 at 6:34 PM, Carsten Mattner wrote: > On Fri, Sep 12, 2014 at 9:04 PM, Brandon Allbery > wrote: > > On Fri, Sep 12, 2014 at 3:02 PM, Carsten Mattner < > carstenmattner at gmail.com> > > wrote: > >> > >> xmonad --recompile stopped working here this week and fails with scope > >> errors > >> in stuff from xmonadcontrib. Anyone else see this? > > > > Are you running it in a cabal sandbox, by any chance? > > No and I ran "cabal clean" before compiling and purge ~/.ghc and ~/.cabal. > WIll test again tomorrow to rule out user failure > The other thing that commonly goes wrong is mismatched versions; if your xmonad and xmonad-contrib are different versions, you will either get errors about one being missing (ghc caught it and refused to use the incompatible one) or bizarre typeclass mismatches (ghc didn't catch it, but the compiled typeclass references a different version than ghc found/used). One subclass of this is having multiple versions of either xmonad or xmonad-contrib installed, which can lead ghc to use the wrong one or occasionally try to use both versions (if you have stuff in ~/.xmonad/lib, such that some things compile against one and some the other). -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From carstenmattner at gmail.com Sat Sep 13 13:02:52 2014 From: carstenmattner at gmail.com (Carsten Mattner) Date: Sat, 13 Sep 2014 15:02:52 +0200 Subject: [xmonad] update: chromium slow redraw Message-ID: Due to my local xmonad --recompile breakage I had to fall back to dwm and was surprised to see that the very slow non-floating Chromium window redraw evident in XMonad since Chromium switched to Aura does NOT happen in dwm. Any idea what's different in the dwm X11 code that doesn't make Chromium window (content) redraws super visible (slow)? From carstenmattner at gmail.com Sat Sep 13 14:53:01 2014 From: carstenmattner at gmail.com (Carsten Mattner) Date: Sat, 13 Sep 2014 16:53:01 +0200 Subject: [xmonad] update: chromium slow redraw In-Reply-To: References: Message-ID: spectrwm also causes slow redraws like xmonad. dwm must be doing something different to not cause the issue. On Sat, Sep 13, 2014 at 3:02 PM, Carsten Mattner wrote: > Due to my local xmonad --recompile breakage I had to fall back to dwm and > was surprised to see that the very slow non-floating Chromium window > redraw evident in XMonad since Chromium switched to Aura does NOT > happen in dwm. > > Any idea what's different in the dwm X11 code that doesn't make Chromium > window (content) redraws super visible (slow)? From codesite-noreply at google.com Sat Sep 13 17:45:34 2014 From: codesite-noreply at google.com (codesite-noreply at google.com) Date: Sat, 13 Sep 2014 17:45:34 +0000 Subject: [xmonad] Issue 568 in xmonad: Actions.DynamicWorkspaceGroups viewWSGroup changes which workspace has focus incorrectly In-Reply-To: <1-3425899027203913298-5223533229951273802-codesite-noreply=google.com@googlecode.com> References: <1-3425899027203913298-5223533229951273802-codesite-noreply=google.com@googlecode.com> <0-3425899027203913298-5223533229951273802-codesite-noreply=google.com@googlecode.com> Message-ID: <2-3425899027203913298-5223533229951273802-codesite-noreply=google.com@googlecode.com> Updates: Status: Fixed Comment #2 on issue 568 by byor... at gmail.com: Actions.DynamicWorkspaceGroups viewWSGroup changes which workspace has focus incorrectly https://code.google.com/p/xmonad/issues/detail?id=568 Since no one expressed an opinion, I went ahead and pushed the version with 'reverse'. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From carstenmattner at gmail.com Mon Sep 15 13:34:24 2014 From: carstenmattner at gmail.com (Carsten Mattner) Date: Mon, 15 Sep 2014 15:34:24 +0200 Subject: [xmonad] xmonad --recompile breakage In-Reply-To: References: Message-ID: Found and fixed the local issues thanks for confirming it's not a general issue. From sepp.tannhuber at yahoo.de Tue Sep 16 14:43:06 2014 From: sepp.tannhuber at yahoo.de (Sepp Tannhuber) Date: Tue, 16 Sep 2014 15:43:06 +0100 Subject: [xmonad] trigger xmonad commands with shell script Message-ID: <1410878586.64232.YahooMailNeo@web172705.mail.ir2.yahoo.com> Dear all, I would like to raise a certain window from within a shell script. Is it possible to trigger xmonad to execute something like raiseMaybe (runInTerm "-title myWindow" "myWindow") (title =? "myWindow") with a shell script? Or do you know any other possibility to raise a window from a shell? From allbery.b at gmail.com Tue Sep 16 15:04:41 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Tue, 16 Sep 2014 11:04:41 -0400 Subject: [xmonad] trigger xmonad commands with shell script In-Reply-To: <1410878586.64232.YahooMailNeo@web172705.mail.ir2.yahoo.com> References: <1410878586.64232.YahooMailNeo@web172705.mail.ir2.yahoo.com> Message-ID: On Tue, Sep 16, 2014 at 10:43 AM, Sepp Tannhuber wrote: > I would like to raise a certain window from within a shell script. > Is it possible to trigger xmonad to execute something like > raiseMaybe (runInTerm "-title myWindow" "myWindow") (title =? "myWindow") > with a shell script? Or do you know any other possibility to raise a window > from a shell? > There is no way to specify a ManageHook like that from a shell script. But for just raising a window, include EwmhDesktops in your config (or start your config from XMonad.Config.Desktop) and use `wmctrl`. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From sepp.tannhuber at yahoo.de Tue Sep 16 15:47:31 2014 From: sepp.tannhuber at yahoo.de (Sepp Tannhuber) Date: Tue, 16 Sep 2014 16:47:31 +0100 Subject: [xmonad] trigger xmonad commands with shell script In-Reply-To: References: <1410878586.64232.YahooMailNeo@web172705.mail.ir2.yahoo.com> Message-ID: <1410882451.2065.YahooMailNeo@web172705.mail.ir2.yahoo.com> Brandon Allbery schrieb am 17:04 Dienstag, 16.September 2014: > and use `wmctrl`. This directed me to "xdotool" which does what I want. Thank you From devin.mullins at gmail.com Sun Sep 21 07:16:59 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Sun, 21 Sep 2014 00:16:59 -0700 Subject: [xmonad] Announcing XMonad.Config.Prime Message-ID: I've pushed XMonad.Config.Prime, which I worked on a long time ago, and decided to clean up and release now. You can check out an example config at: http://twifkak.com/xmonad-junk/XMonad-Config-Prime4.html#g:9 I've been using the syntax for quite a while. Now you can, too! I tried to document it decently. I also switched my mailing list subscription to an email I will check more often. Per previous feedback, the code doesn't introduce any dependencies (other than a slew of LANGUAGE pragmas, but notably not TemplateHaskell). The main remaining task would be to get (>>) to work with both Prime and Monad. I got a lead from a mailing list that I may be able to follow, but in the meantime, I figure such a change would be backwards-compatible, and hence non-blocking. - Devin (twifkak) [1] I tried to `darcs send` it earlier, but my email got eaten, and I got impatient and just pushed. No offense taken if you need to rollback. -------------- next part -------------- An HTML attachment was scrubbed... URL: From codesite-noreply at google.com Tue Sep 23 14:26:48 2014 From: codesite-noreply at google.com (codesite-noreply at google.com) Date: Tue, 23 Sep 2014 14:26:48 +0000 Subject: [xmonad] Issue 577 in xmonad: Add new master pane client count control command Message-ID: <0-3425899027203913298-11404730567184269952-codesite-noreply=google.com@googlecode.com> Status: New Owner: ---- New issue 577 by m... at mired.org: Add new master pane client count control command https://code.google.com/p/xmonad/issues/detail?id=577 What steps will reproduce the problem? 1. Follow my usage for a while. 2. Note that I often send "IncMasterN" instead of "DecMasterN" by accident. 3. Also note that I pretty much never have more than two clients in the master pane. What is the expected output? What do you see instead? I expect to not reach unused configurations by accident. I expect the WM to allow a configuration that prevents that. What version of the product are you using? On what operating system? 0.11 on FreeBSD 10. Are you using an xmonad.hs? Please attach it and the output of "xmonad --recompile". Not completely relevant. Please provide any additional information below. The attached patch file adds a new Message type to the Tall layout (I didn't see where it should be added to other layouts). The message is called "SplitMaster", and has no arguments. It fixes the first issue by setting the client count to the master pane to 1 if it's not currently 1, thus providing a quick way to get back to that setting. It solves the second issue by changing the client count for the master pane to 2 if it's currently 1, effectively making it a toggle between the two modes of a split master pane and an unsplit master pane. Attachments: xmd 3.7 KB -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From mwm at mired.org Tue Sep 23 14:31:08 2014 From: mwm at mired.org (Mike Meyer) Date: Tue, 23 Sep 2014 09:31:08 -0500 Subject: [xmonad] Patch to add new Layout message Message-ID: I found the inc/dec masterN commands to be a bit clumsy, especially considering that I pretty much just use 1 client in the master pane most of the time, sometimes using 2 when I wanted to alternate between two windows rapidly. I just submitted issue #577 on the google code issue tracker that includes a patch to add a new Message for changing the client count. The Message is called "SplitMaster", and has no arguments. It sets the client count of the master pane to 1 if it's not currently 1, thus providing a quick way to get back to that setting. It setgs the client count for the master pane to 2 if it's currently 1, effectively making it a toggle between the two modes of a split master pane and an full size master pane. I'm not sure if that's the proper way to submit patches. If not, please let me know what I need to do to submit it properly. If it is, could I get somoen to consider it and either merge it (with whatever fixes it requires) or let me know what I can do to get it merged? Thanks, Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From devin.mullins at gmail.com Tue Sep 23 17:42:08 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Tue, 23 Sep 2014 10:42:08 -0700 Subject: [xmonad] Patch to add new Layout message In-Reply-To: References: Message-ID: Thanks, Mike. Patches should be darcs patches. If your sendmail is setup correctly, you can use `darcs send` to mail the list, otherwise `darcs send -O` will create a file you can attach or send. On Tue, Sep 23, 2014 at 7:31 AM, Mike Meyer wrote: > I found the inc/dec masterN commands to be a bit clumsy, especially > considering that I pretty much just use 1 client in the master pane most of > the time, sometimes using 2 when I wanted to alternate between two windows > rapidly. I just submitted issue #577 on the google code issue tracker that > includes a patch to add a new Message for changing the client count. > > The Message is called "SplitMaster", and has no arguments. It sets the > client count of the master pane to 1 if it's not currently 1, thus > providing a quick way to get back to that setting. It setgs the client > count for the master pane to 2 if it's currently 1, effectively making it a > toggle between the two modes of a split master pane and an full size master > pane. > > I'm not sure if that's the proper way to submit patches. If not, please > let me know what I need to do to submit it properly. If it is, could I get > somoen to consider it and either merge it (with whatever fixes it requires) > or let me know what I can do to get it merged? > > Thanks, > Mike > > > _______________________________________________ > xmonad mailing list > xmonad at haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From anton at enomsg.org Tue Sep 23 17:44:45 2014 From: anton at enomsg.org (Anton Vorontsov) Date: Tue, 23 Sep 2014 10:44:45 -0700 Subject: [xmonad] darcs patch: Add Stoppable layout for power saving (and 1 more) In-Reply-To: <20140901080258.42A8F104A5@haskell.org> References: <20140901080258.42A8F104A5@haskell.org> Message-ID: <20140923174445.GA4594@d1stkfactory> On Mon, Sep 01, 2014 at 08:02:58AM +0000, Anton Vorontsov wrote: > In this version I addressed further comments by Paul Fertser, plus > implemented the remote/local clients identification scheme that I was > talking about: it is in XMonad.Util.RemoteWindows module with > documentation and all. > > I split the work into two logical changes, for easier review and so that > the first patch won't depend on the second. Just a friendly ping on this one. :) Thanks, Anton From sepp.tannhuber at yahoo.de Wed Sep 24 15:57:14 2014 From: sepp.tannhuber at yahoo.de (Sepp Tannhuber) Date: Wed, 24 Sep 2014 16:57:14 +0100 Subject: [xmonad] Looking for "runOrKill" function Message-ID: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> My `additionalKeys` section of xmonad.hs has this key binding: ((mod3Mask, xK_d), raiseMaybe (runInTerm "-title calendar -hold -geometry 105x12+0+25" "task calendar") (title =? "calendar")) I would like to replace the raiseMaybe by something like runOrKill. This means, it should run the terminal with title "calendar" if it's not yet running. Otherwise it should kill the terminal. How can I do that? Is it possible at all? From allbery.b at gmail.com Wed Sep 24 16:32:09 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Wed, 24 Sep 2014 12:32:09 -0400 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> Message-ID: On Wed, Sep 24, 2014 at 11:57 AM, Sepp Tannhuber wrote: > My `additionalKeys` section of xmonad.hs has this key binding: > ((mod3Mask, xK_d), raiseMaybe (runInTerm "-title calendar > -hold -geometry 105x12+0+25" "task calendar") (title =? "calendar")) > > I would like to replace the raiseMaybe by something like runOrKill. This > means, it should run the terminal with title "calendar" if it's not yet > running. Otherwise it should kill the terminal. How can I do that? Is it > possible at all? > raiseAndDo (runInTerm "-title calendar -hold -geometry 105x12+0+25" "task calendar") (title =? "calendar")) killWindow Although I wonder if you'd be better served by making it a NamedScratchpad instead. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From sepp.tannhuber at yahoo.de Wed Sep 24 17:38:45 2014 From: sepp.tannhuber at yahoo.de (Sepp Tannhuber) Date: Wed, 24 Sep 2014 18:38:45 +0100 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> Message-ID: <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> That's it. Thank you. The reason why I don't use scratchpads is simple: I don't know how to do it. I liked the scratchpad in ion3 and tried to implement a scratchpad with xmonad several times, without success. If anybody can tell me step by step for the given calendar example, I would give it another try. But the raiseAndDo does what I want. So it would be just for fun and learning haskell. From allbery.b at gmail.com Wed Sep 24 17:53:51 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Wed, 24 Sep 2014 13:53:51 -0400 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> Message-ID: On Wed, Sep 24, 2014 at 1:38 PM, Sepp Tannhuber wrote: > The reason why I don't use scratchpads is simple: > I don't know how to do it. I liked the scratchpad in ion3 and tried to > implement a scratchpad with xmonad several times, without success. If > anybody > can tell me step by step for the given calendar example, I would give it > another > try. But the raiseAndDo does what I want. So it would be just for fun and > learning haskell. > Something along the lines of http://lpaste.net/111558 should do it. Note that you can't use a geometry directly with this setup; it might be possible to revise it so that you can keep using a -geometry instead of doing it in the ManageHook, and you'll want to doublecheck the terminal. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From devin.mullins at gmail.com Wed Sep 24 18:57:27 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Wed, 24 Sep 2014 11:57:27 -0700 Subject: [xmonad] Patch to add new Layout message In-Reply-To: References: Message-ID: Don't forget to reply-all. I was going to generate one for you, but code.haskell.org is done, making it difficult. Some other notes I probably should have mentioned last time: 1. I don't have commit rights to xmonad, so I can't approve. 2. Generally, the community is more conservative about xmonad core - especially adding new features. When something can be done in contrib instead, it usually is. 3. And yeah, if you get a chance to install darcs and `darcs get http://code.haskell.org/xmonad` and `darcs get http://code.haskell.org/XMonadContrib`, you'll make comitters' lives easier. Otherwise, looks reasonable. I, too, fall into the same bucket of either 1 or 2 master panes. On Tue, Sep 23, 2014 at 12:01 PM, Mike Meyer wrote: > sendmail may or may not be set up correctly - I generally do mail in the > cloud. Darcs isn't installed, the patches were against source gotten with > "cabal get". Any chance I can get someone on the list to generate a darcs > patch, or do I have to install darcs and figure out what to do to get to go > from a patch file or patched source files to a darcs patch? > > Thanks, > Mike > > On Tue, Sep 23, 2014 at 12:42 PM, Devin Mullins > wrote: > >> Thanks, Mike. Patches should be darcs patches. If your sendmail is setup >> correctly, you can use `darcs send` to mail the list, otherwise `darcs send >> -O` will create a file you can attach or send. >> >> On Tue, Sep 23, 2014 at 7:31 AM, Mike Meyer wrote: >> >>> I found the inc/dec masterN commands to be a bit clumsy, especially >>> considering that I pretty much just use 1 client in the master pane most of >>> the time, sometimes using 2 when I wanted to alternate between two windows >>> rapidly. I just submitted issue #577 on the google code issue tracker that >>> includes a patch to add a new Message for changing the client count. >>> >>> The Message is called "SplitMaster", and has no arguments. It sets the >>> client count of the master pane to 1 if it's not currently 1, thus >>> providing a quick way to get back to that setting. It setgs the client >>> count for the master pane to 2 if it's currently 1, effectively making it a >>> toggle between the two modes of a split master pane and an full size master >>> pane. >>> >>> I'm not sure if that's the proper way to submit patches. If not, please >>> let me know what I need to do to submit it properly. If it is, could I get >>> somoen to consider it and either merge it (with whatever fixes it requires) >>> or let me know what I can do to get it merged? >>> >>> Thanks, >>> Mike >>> >>> >>> _______________________________________________ >>> xmonad mailing list >>> xmonad at haskell.org >>> http://www.haskell.org/mailman/listinfo/xmonad >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From allbery.b at gmail.com Wed Sep 24 19:20:39 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Wed, 24 Sep 2014 15:20:39 -0400 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> Message-ID: On Wed, Sep 24, 2014 at 1:53 PM, Brandon Allbery wrote: > Something along the lines of http://lpaste.net/111558 should do it. Note > that you can't use a geometry directly with this setup; it might be > possible to revise it so that you can keep using a -geometry instead of > doing it in the ManageHook, and you'll want to doublecheck the terminal. > Also, if what you're looking for is an example of scratchpads in action, http://lpaste.net/100571 is a bit out of date (and includes a bit of experimental stuff) but shows a working scratchpad setup. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From sepp.tannhuber at yahoo.de Wed Sep 24 20:40:51 2014 From: sepp.tannhuber at yahoo.de (Sepp Tannhuber) Date: Wed, 24 Sep 2014 21:40:51 +0100 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> Message-ID: <1411591251.73509.YahooMailNeo@web172703.mail.ir2.yahoo.com> I found http://splash-of-open-sauce.blogspot.de/2011/02/xmonadhs-haskell-xmonad-config-file.html which looks similar to my config: --- BEGIN --- scratchpads = [ NS "calendar" "urxvt -name calendar -e task calendar" (title =? "calendar") ] where name = stringProperty "WM_NAME" main = do dzenLeftBar <- spawnPipe myXmonadBar dzenRightBar <- spawnPipe myStatusBar dzenTrayerBar <- spawnPipe myTrayerBar xmonad $ ewmh $ withUrgencyHook NoUrgencyHook defaultConfig { focusFollowsMouse = True , modMask = mod3Mask , workspaces = myWorkspaces , manageHook = namedScratchpadManageHook scratchpads <+> manageDocks <+> myManageHook {- ... -} , ((mod3Mask, xK_d), namedScratchpadAction scratchpads "calendar") --- END --- The result is: --- BEGIN --- Error detected while loading xmonad configuration file: /home/sepp/.xmonad/xmonad.hs xmonad.hs:195:54: Couldn't match type `ManageHook -> NamedScratchpad' with `NamedScratchpad' Expected type: NamedScratchpads Actual type: [ManageHook -> NamedScratchpad] In the first argument of `namedScratchpadManageHook', namely `scratchpads' In the first argument of `(<+>)', namely `namedScratchpadManageHook scratchpads' In the first argument of `(<+>)', namely `namedScratchpadManageHook scratchpads <+> manageDocks' xmonad.hs:216:62: Couldn't match type `ManageHook -> NamedScratchpad' with `NamedScratchpad' Expected type: NamedScratchpads Actual type: [ManageHook -> NamedScratchpad] In the first argument of `namedScratchpadAction', namely `scratchpads' In the expression: namedScratchpadAction scratchpads "calendar" In the expression: ((mod3Mask, xK_d), namedScratchpadAction scratchpads "calendar") Please check the file for errors. --- END --- From allbery.b at gmail.com Wed Sep 24 20:49:02 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Wed, 24 Sep 2014 16:49:02 -0400 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: <1411591251.73509.YahooMailNeo@web172703.mail.ir2.yahoo.com> References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> <1411591251.73509.YahooMailNeo@web172703.mail.ir2.yahoo.com> Message-ID: On Wed, Sep 24, 2014 at 4:40 PM, Sepp Tannhuber wrote: > scratchpads = [ > NS "calendar" "urxvt -name calendar -e task calendar" (title =? > "calendar") > ] where name = stringProperty "WM_NAME" > (1) the "where name = ..." isn't doing anything here (2) You're missing the target rectangle for the scratchpad (whether to make a tiled window, a standard floating window, or a custom floating window). That's the source of the type error. Compare to my earlier pastebinned example: myScratchpads = [NS "calendar" "xterm -title calendar -hold -e task calendar" (title =? "calendar") -- I don't know screen or font size so this is a very rough guess at the RationalRect (customFloating $ W.RationalRect 0 (1/10) (4/10) (3/10)) ] You're missing the customFloating part, or a replacement for it (nonFloating, defaultFloating) that tells it what to do with the window when it's created. (That's the "ManageHook" it's complaining about.) -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From sepp.tannhuber at yahoo.de Wed Sep 24 22:37:59 2014 From: sepp.tannhuber at yahoo.de (Sepp Tannhuber) Date: Wed, 24 Sep 2014 23:37:59 +0100 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> <1411591251.73509.YahooMailNeo@web172703.mail.ir2.yahoo.com> Message-ID: <1411598279.40043.YahooMailNeo@web172705.mail.ir2.yahoo.com> OK, I changed that into: scratchpads = [ NS "calendar" "urxvt -name calendar -e task calendar" (title =? "calendar") (customFloating $ W.RationalRect 0 (1/10) (4/10) (3/10)) ] Now it compiles without an error. But when I type , a window pops up and disappears. I changed the ?task calendar? command into ?htop?. Then a terminal with htop is opened. But it's not floated. From allbery.b at gmail.com Wed Sep 24 22:45:39 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Wed, 24 Sep 2014 18:45:39 -0400 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: <1411598279.40043.YahooMailNeo@web172705.mail.ir2.yahoo.com> References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> <1411591251.73509.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411598279.40043.YahooMailNeo@web172705.mail.ir2.yahoo.com> Message-ID: On Wed, Sep 24, 2014 at 6:37 PM, Sepp Tannhuber wrote: > OK, I changed that into: > scratchpads = [ > NS "calendar" "urxvt -name calendar -e task calendar" (title =? > "calendar") > (customFloating $ W.RationalRect 0 (1/10) (4/10) (3/10)) > ] > > Now it compiles without an error. But when I type , > a window pops up and disappears. I changed the ?task calendar? > command into ?htop?. Then a terminal with htop is opened. But > it's not floated. > Yes. The problem is the program runs and immediately exits, so the terminal exits. The xterm one uses -hold to make the terminal stick around after the program exits, so you have a persistent calendar window. It looks like urxvt also supports -hold, so add that after `-name calendar`. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From sepp.tannhuber at yahoo.de Thu Sep 25 06:08:24 2014 From: sepp.tannhuber at yahoo.de (Sepp Tannhuber) Date: Thu, 25 Sep 2014 07:08:24 +0100 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> <1411591251.73509.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411598279.40043.YahooMailNeo@web172705.mail.ir2.yahoo.com> Message-ID: <1411625304.1077.YahooMailNeo@web172704.mail.ir2.yahoo.com> Of course, I forgot the hold option. :-) The other problem still remains. :-( I posted my whole xmonad.hs to http://lpaste.net/111588. I also tried to change the order in line 196 because I thought something might overwrite the floating settings. But this is obviously not the case. From devin.mullins at gmail.com Thu Sep 25 09:40:37 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Thu, 25 Sep 2014 02:40:37 -0700 Subject: [xmonad] Patch to add new Layout message In-Reply-To: References: Message-ID: Here you go. You get one. :) On Wed, Sep 24, 2014 at 11:57 AM, Devin Mullins wrote: > Don't forget to reply-all. I was going to generate one for you, but > code.haskell.org is done, making it difficult. Some other notes I > probably should have mentioned last time: > > 1. I don't have commit rights to xmonad, so I can't approve. > 2. Generally, the community is more conservative about xmonad core - > especially adding new features. When something can be done in contrib > instead, it usually is. > 3. And yeah, if you get a chance to install darcs and `darcs get > http://code.haskell.org/xmonad` and > `darcs get http://code.haskell.org/XMonadContrib` > , you'll make comitters' lives > easier. > > Otherwise, looks reasonable. I, too, fall into the same bucket of either 1 > or 2 master panes. > > On Tue, Sep 23, 2014 at 12:01 PM, Mike Meyer wrote: > >> sendmail may or may not be set up correctly - I generally do mail in the >> cloud. Darcs isn't installed, the patches were against source gotten with >> "cabal get". Any chance I can get someone on the list to generate a darcs >> patch, or do I have to install darcs and figure out what to do to get to go >> from a patch file or patched source files to a darcs patch? >> >> Thanks, >> Mike >> >> On Tue, Sep 23, 2014 at 12:42 PM, Devin Mullins >> wrote: >> >>> Thanks, Mike. Patches should be darcs patches. If your sendmail is setup >>> correctly, you can use `darcs send` to mail the list, otherwise `darcs send >>> -O` will create a file you can attach or send. >>> >>> On Tue, Sep 23, 2014 at 7:31 AM, Mike Meyer wrote: >>> >>>> I found the inc/dec masterN commands to be a bit clumsy, especially >>>> considering that I pretty much just use 1 client in the master pane most of >>>> the time, sometimes using 2 when I wanted to alternate between two windows >>>> rapidly. I just submitted issue #577 on the google code issue tracker that >>>> includes a patch to add a new Message for changing the client count. >>>> >>>> The Message is called "SplitMaster", and has no arguments. It sets the >>>> client count of the master pane to 1 if it's not currently 1, thus >>>> providing a quick way to get back to that setting. It setgs the client >>>> count for the master pane to 2 if it's currently 1, effectively making it a >>>> toggle between the two modes of a split master pane and an full size master >>>> pane. >>>> >>>> I'm not sure if that's the proper way to submit patches. If not, please >>>> let me know what I need to do to submit it properly. If it is, could I get >>>> somoen to consider it and either merge it (with whatever fixes it requires) >>>> or let me know what I can do to get it merged? >>>> >>>> Thanks, >>>> Mike >>>> >>>> >>>> _______________________________________________ >>>> xmonad mailing list >>>> xmonad at haskell.org >>>> http://www.haskell.org/mailman/listinfo/xmonad >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: splitmaster_-a-new-tall-message.dpatch Type: application/octet-stream Size: 9812 bytes Desc: not available URL: From codesite-noreply at google.com Thu Sep 25 15:16:55 2014 From: codesite-noreply at google.com (codesite-noreply at google.com) Date: Thu, 25 Sep 2014 15:16:55 +0000 Subject: [xmonad] Issue 577 in xmonad: Add new master pane client count control command In-Reply-To: <0-3425899027203913298-11404730567184269952-codesite-noreply=google.com@googlecode.com> References: <0-3425899027203913298-11404730567184269952-codesite-noreply=google.com@googlecode.com> Message-ID: <1-3425899027203913298-11404730567184269952-codesite-noreply=google.com@googlecode.com> Comment #1 on issue 577 by m... at mired.org: Add new master pane client count control command https://code.google.com/p/xmonad/issues/detail?id=577 Attach a Darcs-format patch from Devin Mullins Attachments: splitmaster_-a-new-tall-message.dpatch 9.6 KB -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From allbery.b at gmail.com Thu Sep 25 16:47:30 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Thu, 25 Sep 2014 12:47:30 -0400 Subject: [xmonad] Looking for "runOrKill" function In-Reply-To: <1411625304.1077.YahooMailNeo@web172704.mail.ir2.yahoo.com> References: <1411574234.81612.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411580325.73454.YahooMailNeo@web172706.mail.ir2.yahoo.com> <1411591251.73509.YahooMailNeo@web172703.mail.ir2.yahoo.com> <1411598279.40043.YahooMailNeo@web172705.mail.ir2.yahoo.com> <1411625304.1077.YahooMailNeo@web172704.mail.ir2.yahoo.com> Message-ID: On Thu, Sep 25, 2014 at 2:08 AM, Sepp Tannhuber wrote: > Of course, I forgot the hold option. :-) The other problem still remains. > :-( Which? The htop part? The title string you pass to the terminal must exactly match the title string in the window test (title =? "whatever"). There are ways to change this if needed, but unless it can identify the window precisely when it appears, it will not be able to float or position it. (X11 does not provide any way to match running a command to a window opening; indeed, there is no mapping at all between processes and windows (consider remote TCP connections and ssh X11 forwarding; also, some command-line browsers use this to draw graphics in terminal windows, and Acrobat Reader uses this to open windows inside a browser. This is also used by desk applets that can "swallow" arbitrary windows). -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From devin.mullins at gmail.com Fri Sep 26 08:09:08 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Fri, 26 Sep 2014 01:09:08 -0700 (PDT) Subject: [xmonad] darcs patch: X.A.Navigation2D: add convenience functions for settin... Message-ID: <54251f24.e88c460a.1af0.ffffdd7f@mx.google.com> cc'ing Norbert, as he was the original author of this. 1 patch for repository code.haskell.org:/srv/code/XMonadContrib: Fri Sep 26 01:02:15 PDT 2014 Devin Mullins * X.A.Navigation2D: add convenience functions for setting config & keybindings Added 'navigation2D' which delegates to withNavigation2DConfig and additionalKeys, and 'navigation2DP' which is the 'additionalKeysP' version of the same. -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-preview.txt Type: text/x-darcs-patch Size: 4336 bytes Desc: Patch preview URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x_a_navigation2d_-add-convenience-functions-for-setting-config-_-keybindings.dpatch Type: application/x-darcs-patch Size: 24151 bytes Desc: A darcs patch for your repository! URL: From devin.mullins at gmail.com Sat Sep 27 02:53:56 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Fri, 26 Sep 2014 19:53:56 -0700 Subject: [xmonad] darcs patch: Add Stoppable layout for power saving (and 1 more) In-Reply-To: <20140923174445.GA4594@d1stkfactory> References: <20140901080258.42A8F104A5@haskell.org> <20140923174445.GA4594@d1stkfactory> Message-ID: Brandon/Paul - ok to submit? I haven't reviewed this code, but I'll take your words on it. On Tue, Sep 23, 2014 at 10:44 AM, Anton Vorontsov wrote: > On Mon, Sep 01, 2014 at 08:02:58AM +0000, Anton Vorontsov wrote: > > In this version I addressed further comments by Paul Fertser, plus > > implemented the remote/local clients identification scheme that I was > > talking about: it is in XMonad.Util.RemoteWindows module with > > documentation and all. > > > > I split the work into two logical changes, for easier review and so that > > the first patch won't depend on the second. > > Just a friendly ping on this one. :) > > Thanks, > > Anton > _______________________________________________ > xmonad mailing list > xmonad at haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > -------------- next part -------------- An HTML attachment was scrubbed... URL: From allbery.b at gmail.com Sat Sep 27 02:57:43 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Fri, 26 Sep 2014 22:57:43 -0400 Subject: [xmonad] darcs patch: Add Stoppable layout for power saving (and 1 more) In-Reply-To: References: <20140901080258.42A8F104A5@haskell.org> <20140923174445.GA4594@d1stkfactory> Message-ID: On Fri, Sep 26, 2014 at 10:53 PM, Devin Mullins wrote: > Brandon/Paul - ok to submit? I haven't reviewed this code, but I'll take > your words on it. > On some level I kinda dislike the whole idea, but (a) I can certainly see its usefulness, and (b) as long as users are aware of the caveats involved (cut and paste was mentioned; also note that anything that is holding open a network connection will probably catch an RST on resume if suspended for too long) it's up to them whether to use it or not. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From devin.mullins at gmail.com Sat Sep 27 06:51:11 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Fri, 26 Sep 2014 23:51:11 -0700 Subject: [xmonad] darcs patch: Add Stoppable layout for power saving (and 1 more) In-Reply-To: References: <20140901080258.42A8F104A5@haskell.org> <20140923174445.GA4594@d1stkfactory> Message-ID: Well, okay, there are plenty of modules in contrib that I would never use (and for that matter, several things in core I disable or ignore). As long as: 1. The code is clean. 2. It won't segfault. 3. It's gotchas are well-documented. Then I'm happy with it. From a quick glance, it appears so. The advice in $usage to do `layoutHook def ||| stoppable (layoutHook def)` (thereby doubling your list of layouts?) seems a bit weird, but maybe I'm misunderstanding it. Applied. On Fri, Sep 26, 2014 at 7:57 PM, Brandon Allbery wrote: > On Fri, Sep 26, 2014 at 10:53 PM, Devin Mullins > wrote: > >> Brandon/Paul - ok to submit? I haven't reviewed this code, but I'll take >> your words on it. >> > > On some level I kinda dislike the whole idea, but (a) I can certainly see > its usefulness, and (b) as long as users are aware of the caveats involved > (cut and paste was mentioned; also note that anything that is holding open > a network connection will probably catch an RST on resume if suspended for > too long) it's up to them whether to use it or not. > > -- > brandon s allbery kf8nh sine nomine > associates > allbery.b at gmail.com > ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad > http://sinenomine.net > -------------- next part -------------- An HTML attachment was scrubbed... URL: From devin.mullins at gmail.com Sat Sep 27 08:08:59 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Sat, 27 Sep 2014 01:08:59 -0700 (PDT) Subject: [xmonad] darcs patch: X.A.Navigation2D: add convenience functions for settin... Message-ID: <5426709b.8787440a.12b3.5f42@mx.google.com> Norbert, as the original author of this, does this look okay to you? If you don't mind/care, I will submit. 1 patch for repository code.haskell.org:/srv/code/XMonadContrib: Fri Sep 26 01:02:15 PDT 2014 Devin Mullins * X.A.Navigation2D: add convenience functions for setting config & keybindings Added 'navigation2D' which delegates to withNavigation2DConfig and additionalKeys, and 'navigation2DP' which is the 'additionalKeysP' version of the same. -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-preview.txt Type: text/x-darcs-patch Size: 4336 bytes Desc: Patch preview URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: x_a_navigation2d_-add-convenience-functions-for-setting-config-_-keybindings.dpatch Type: application/x-darcs-patch Size: 26802 bytes Desc: A darcs patch for your repository! URL: From devin.mullins at gmail.com Sat Sep 27 08:09:44 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Sat, 27 Sep 2014 01:09:44 -0700 Subject: [xmonad] darcs patch: X.A.Navigation2D: add convenience functions for settin... In-Reply-To: <5426709b.8787440a.12b3.5f42@mx.google.com> References: <5426709b.8787440a.12b3.5f42@mx.google.com> Message-ID: Oops, sorry for the dupe. On Sat, Sep 27, 2014 at 1:08 AM, Devin Mullins wrote: > Norbert, as the original author of this, does this look okay to you? If you > don't mind/care, I will submit. > > 1 patch for repository code.haskell.org:/srv/code/XMonadContrib: > > Fri Sep 26 01:02:15 PDT 2014 Devin Mullins > * X.A.Navigation2D: add convenience functions for setting config & > keybindings > Added 'navigation2D' which delegates to withNavigation2DConfig and > additionalKeys, and 'navigation2DP' which is the 'additionalKeysP' > version of > the same. > > > > [X.A.Navigation2D: add convenience functions for setting config & > keybindings > Devin Mullins **20140926080215 > Ignore-this: ab2c0b2a5255377420e5cc83b1dcd6a1 > Added 'navigation2D' which delegates to withNavigation2DConfig and > additionalKeys, and 'navigation2DP' which is the 'additionalKeysP' > version of > the same. > ] { > hunk ./XMonad/Actions/Navigation2D.hs 35 > -- * Exported functions and types > -- #Exports# > > - withNavigation2DConfig > + navigation2D > + , navigation2DP > + , withNavigation2DConfig > , Navigation2DConfig(..) > , def > , defaultNavigation2DConfig > hunk ./XMonad/Actions/Navigation2D.hs 62 > import XMonad hiding (Screen) > import qualified XMonad.StackSet as W > import qualified XMonad.Util.ExtensibleState as XS > +import XMonad.Util.EZConfig (additionalKeys, additionalKeysP) > import XMonad.Util.Types > > -- $usage > hunk ./XMonad/Actions/Navigation2D.hs 84 > -- > -- > import XMonad.Actions.Navigation2D > -- > --- Then edit your keybindings: > +-- Then add the configuration of the module to your main function: > +-- > +-- > main = xmonad $ navigation2D def > +-- > (xK_Up, xK_Left, xK_Down, xK_Right) > +-- > [(mod4Mask, windowGo ), > +-- > (mod4Mask .|. shiftMask, windowSwap)] > +-- > False > +-- > $ def > +-- > +-- Alternatively, you can use navigation2DP: > +-- > +-- > main = xmonad $ navigation2D def > +-- > ("", "", "", "") > +-- > [("M-", windowGo ), > +-- > ("M-S-", windowSwap)] > +-- > False > +-- > $ def > +-- > +-- That's it. If instead you'd like more control, you can specify your > keybindings: > -- > -- > -- Switch between layers > hunk ./XMonad/Actions/Navigation2D.hs 105 > --- > , ((modm, xK_space), switchLayers) > +-- > , ((modm, xK_space), switchLayer) > -- > > -- > -- Directional navigation of windows > -- > , ((modm, xK_Right), windowGo R False) > hunk ./XMonad/Actions/Navigation2D.hs 330 > -- | Shorthand for the tedious screen type > type Screen = W.Screen WorkspaceId (Layout Window) Window ScreenId > ScreenDetail > > +-- | Convenience function for enabling Navigation2D with typical > keybindings. > +-- Takes an (up, left, down, right) tuple, a mapping from modifier key to > +-- action, and a bool to indicate if wrapping should occur. Example: > +-- > +-- > navigation2D def (xK_w, xK_a, xK_s, xK_d) [(mod4Mask, windowGo), > (mod4Mask .|. shiftMask, windowSwap)] False > +navigation2D :: Navigation2DConfig -> (KeySym, KeySym, KeySym, KeySym) -> > [(ButtonMask, Direction2D -> Bool -> X ())] -> > + Bool -> XConfig l -> XConfig l > +navigation2D navConfig (u, l, d, r) modifiers wrap xconfig = > + withNavigation2DConfig navConfig xconfig > + `additionalKeys` > + [((modif, k), func dir wrap) | (modif, func) <- modifiers, (k, dir) <- > dirKeys] > + where dirKeys = [(u, U), (l, L), (d, D), (r, R)] > + > +-- | Convenience function for enabling Navigation2D with typical > keybindings, > +-- using the syntax defined in 'XMonad.Util.EZConfig.mkKeymap'. Takes an > (up, > +-- left, down, right) tuple, a mapping from key prefix to action, and a > bool to > +-- indicate if wrapping should occur. Example: > +-- > +-- > navigation2DP def ("w", "a", "s", "d") [("M-", windowGo), ("M-S-", > windowSwap)] False > +navigation2DP :: Navigation2DConfig -> (String, String, String, String) > -> [(String, Direction2D -> Bool -> X ())] -> > + Bool -> XConfig l -> XConfig l > +navigation2DP navConfig (u, l, d, r) modifiers wrap xconfig = > + withNavigation2DConfig navConfig xconfig > + `additionalKeysP` > + [(modif ++ k, func dir wrap) | (modif, func) <- modifiers, (k, dir) <- > dirKeys] > + where dirKeys = [(u, U), (l, L), (d, D), (r, R)] > + > -- So we can store the configuration in extensible state > instance ExtensionClass Navigation2DConfig where > initialValue = def > } > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From allbery.b at gmail.com Sat Sep 27 14:03:10 2014 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 27 Sep 2014 10:03:10 -0400 Subject: [xmonad] darcs patch: Add Stoppable layout for power saving (and 1 more) In-Reply-To: References: <20140901080258.42A8F104A5@haskell.org> <20140923174445.GA4594@d1stkfactory> Message-ID: On Sat, Sep 27, 2014 at 2:51 AM, Devin Mullins wrote: > Then I'm happy with it. From a quick glance, it appears so. The advice in > $usage to do `layoutHook def ||| stoppable (layoutHook def)` (thereby > doubling your list of layouts?) seems a bit weird, but maybe I'm > misunderstanding it. Applied. While it might be nice to use one of the layout toggles, most of those are painful enough that even I go to some lengths to avoid them. (Ever looked at the MultiToggle machinery?) -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From devin.mullins at gmail.com Sat Sep 27 18:32:33 2014 From: devin.mullins at gmail.com (Devin Mullins) Date: Sat, 27 Sep 2014 11:32:33 -0700 Subject: [xmonad] darcs patch: Add Stoppable layout for power saving (and 1 more) In-Reply-To: References: <20140901080258.42A8F104A5@haskell.org> <20140923174445.GA4594@d1stkfactory> Message-ID: Ah, no I haven't. HList, I see. I'll have to take a look at some point. On Sat, Sep 27, 2014 at 7:03 AM, Brandon Allbery wrote: > > On Sat, Sep 27, 2014 at 2:51 AM, Devin Mullins > wrote: > >> Then I'm happy with it. From a quick glance, it appears so. The advice in >> $usage to do `layoutHook def ||| stoppable (layoutHook def)` (thereby >> doubling your list of layouts?) seems a bit weird, but maybe I'm >> misunderstanding it. Applied. > > > While it might be nice to use one of the layout toggles, most of those are > painful enough that even I go to some lengths to avoid them. (Ever looked > at the MultiToggle machinery?) > > -- > brandon s allbery kf8nh sine nomine > associates > allbery.b at gmail.com > ballbery at sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad > http://sinenomine.net > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dmwit at dmwit.com Sun Sep 28 01:27:11 2014 From: dmwit at dmwit.com (Daniel Wagner) Date: Sat, 27 Sep 2014 18:27:11 -0700 Subject: [xmonad] Patch to add new Layout message In-Reply-To: References: Message-ID: <1411867292-sup-8185@rye> Excerpts from Mike Meyer's message of 2014-09-23 07:31:08 -0700: > The Message is called "SplitMaster", and has no arguments. It sets the > client count of the master pane to 1 if it's not currently 1, thus > providing a quick way to get back to that setting. It setgs the client > count for the master pane to 2 if it's currently 1, effectively making it a > toggle between the two modes of a split master pane and an full size master > pane. Can this be done entirely from the configuration? For example, a low-tech solution would be to simply have two Tall layouts in your layout hook (one with one master pane and one with two master panes) and a keybinding that toggles between them, e.g. using X.A.CycleSelectedLayouts [1]. I recognize that this is not *identical*, but perhaps it's close to your needs and doesn't require changes xmonad's core. ~d [1] http://hackage.haskell.org/package/xmonad-contrib-0.11.3/docs/XMonad-Actions-CycleSelectedLayouts.html