2022/08/04

2022-08-04 00:14:47 +0200xxxcc(~xxxcc@c-67-190-127-51.hsd1.co.comcast.net)
2022-08-04 00:15:19 +0200xxxcc(~xxxcc@c-67-190-127-51.hsd1.co.comcast.net) (Client Quit)
2022-08-04 00:18:21 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
2022-08-04 00:21:17 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-08-04 00:50:53 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 00:51:10 +0200sogens(~sogens@211.30.173.20)
2022-08-04 01:15:34 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 01:15:51 +0200sogens(~sogens@211.30.173.20)
2022-08-04 02:08:29 +0200mvk(~mvk@2607:fea8:5ce3:8500::d5f2)
2022-08-04 02:12:11 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 02:12:28 +0200sogens(~sogens@211.30.173.20)
2022-08-04 03:59:31 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 03:59:49 +0200sogens(~sogens@211.30.173.20)
2022-08-04 04:03:26 +0200banc(banc@gateway/vpn/airvpn/banc) (Ping timeout: 240 seconds)
2022-08-04 04:11:02 +0200catman(~catman@user/catman) (Ping timeout: 240 seconds)
2022-08-04 04:13:22 +0200catman(~catman@user/catman)
2022-08-04 04:24:17 +0200banc(banc@gateway/vpn/airvpn/banc)
2022-08-04 04:36:38 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 04:37:16 +0200sogens(~sogens@211.30.173.20)
2022-08-04 04:39:12 +0200td_(~td@94.134.91.79) (Ping timeout: 245 seconds)
2022-08-04 04:41:18 +0200td_(~td@94.134.91.223)
2022-08-04 05:05:02 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 05:08:08 +0200sogens(~sogens@211.30.173.20)
2022-08-04 05:44:38 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca) (Ping timeout: 240 seconds)
2022-08-04 06:03:39 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2022-08-04 07:19:15 +0200qbt(~qbt@user/edun)
2022-08-04 08:03:33 +0200qbt(~qbt@user/edun) (Quit: WeeChat 3.5)
2022-08-04 08:07:31 +0200qbt(~qbt@user/edun)
2022-08-04 08:20:41 +0200logzet(~quassel@2001:9e8:e50d:7a00:dabb:c1ff:fed3:a1b9)
2022-08-04 08:34:03 +0200thyriaen(~thyriaen@2a02:8109:8340:686c:3cdc:1de0:eddb:5de6)
2022-08-04 08:35:04 +0200 <thyriaen> i am configuring the theme of tabs in my config file and reload xmonad afterwards but somehow it does not apply those changes to my current session - restarting the pc will do it though - what am i doing wrong ?
2022-08-04 08:44:08 +0200thyriaen(~thyriaen@2a02:8109:8340:686c:3cdc:1de0:eddb:5de6) (Remote host closed the connection)
2022-08-04 08:52:31 +0200 <xmonadtrack> xmonad Brandon S Allbery KF8NH {Tony Zorman} * v0.17.0-72-g8965e41: attempt to work around the join point bug (#389) (4 weeks ago, 2 files, 12+ 2-) https://github.com/xmonad/xmonad/commit/8965e41d0689
2022-08-04 08:52:31 +0200 <xmonadtrack> xmonad Tony Zorman {GitHub} * v0.17.0-73-ga13a1dc: Merge pull request #404 from geekosaur/forever-away (4 minutes ago, 0 files, 0+ 0-) https://github.com/xmonad/xmonad/commit/a13a1dcee832
2022-08-04 09:24:21 +0200alternateved(~user@staticline-31-183-149-36.toya.net.pl)
2022-08-04 09:41:42 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 245 seconds)
2022-08-04 09:43:32 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-08-04 09:47:40 +0200 <quarkQuark[m]> <thyriaen> "i am configuring the theme of..." <- I was trying to get this to work last week. It turns out you need to call 'setLayout layoutHook'
2022-08-04 09:49:06 +0200 <Solid> this is bound to M-S-<Space> by default (layouts carry state, which is being transferred over on restarts. This is usually what one wants, except when actively changing bits of that)
2022-08-04 10:12:16 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 10:14:16 +0200sogens(~sogens@211.30.173.20)
2022-08-04 10:15:17 +0200sogens2(~sogens@gateway/vpn/pia/sogens)
2022-08-04 10:19:12 +0200sogens(~sogens@211.30.173.20) (Ping timeout: 245 seconds)
2022-08-04 10:39:58 +0200Jade1(~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de)
2022-08-04 10:41:03 +0200 <Jade1> I have some problem with fehbg in xmonad. I have this:
2022-08-04 10:41:03 +0200 <Jade1> ---
2022-08-04 10:41:04 +0200 <Jade1> myStartupHook = do
2022-08-04 10:41:04 +0200 <Jade1>       spawnOnce "~/.fehbg"
2022-08-04 10:41:05 +0200 <Jade1>       spawnOnce "picom --experimental-backends"
2022-08-04 10:41:05 +0200 <Jade1> ---
2022-08-04 10:41:06 +0200 <Jade1> in my `xmonad.hs` but the background does not load upon starting xmonad.
2022-08-04 10:41:06 +0200 <Jade1> If I manually do `.fehbg &` everything works fine
2022-08-04 10:46:06 +0200 <[Leary]> I would try the full path; I'm not sure ~ expansion works in spawn.
2022-08-04 10:46:46 +0200 <Jade1> Also did not work
2022-08-04 10:48:24 +0200 <Solid> ~ expansion should work, I think, but do note that spawnOnce really is about spawning the thing only once and so you will have to pretty much restart X for it to get executed again (simply pressing M-q is not enough)
2022-08-04 10:48:51 +0200 <Jade1> I know, I did that
2022-08-04 10:49:14 +0200 <Jade1> exited xmonad and manually `startx`'d again
2022-08-04 10:49:23 +0200 <Solid> can you find anything in .xsession-errors (or a similar file)?
2022-08-04 10:50:00 +0200 <Jade1> no file like that in my home directory
2022-08-04 10:51:35 +0200 <Solid> mh, what distro are you on?
2022-08-04 10:52:30 +0200 <Solid> try executing something like `startx >& ~/.xsession-errors` instead of only startx
2022-08-04 10:52:39 +0200 <Solid> this should redirect errors to that file
2022-08-04 10:57:10 +0200benin0(~benin@183.82.25.146)
2022-08-04 11:06:35 +0200diep(~diep@2a01:cb11:2d7:4a00:a13f:e40c:c4e8:736c)
2022-08-04 11:06:57 +0200 <Jade1> minimal arch install
2022-08-04 11:07:04 +0200Jade1(~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) (Quit: Client closed)
2022-08-04 11:07:52 +0200Jade1(~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de)
2022-08-04 11:08:30 +0200 <Jade1> ooo
2022-08-04 11:08:46 +0200 <Jade1> it seems to not compile at all and fall back to an old version of the binary
2022-08-04 11:09:02 +0200 <Jade1> it doesn't find the `XMonad` modules ..
2022-08-04 11:09:15 +0200 <Jade1> I think it's due to installing ghcup next to the regular ghc
2022-08-04 11:10:08 +0200 <diep> Hi, Im using a namedscratchpad to spawn firefox, as floating, but the firefox spawns no floating, here is the relevent config part https://paste.ofcode.org/yjDZgUpBSDpfCmd86kMuB3 Any idea about what can cause the problem?
2022-08-04 11:14:37 +0200 <Solid> diep: matching on titles is very brittle because they can change rather uncontrollably. I don't know exactly what you're spawning, so I have no idea if the title is stable somehow; as a first approximation, however, I think you have to use an em dash (— ) instead of a normal dash (-) after the stuff (at least my firefox uses an em dash in the title)
2022-08-04 11:14:54 +0200Guest8343(~Guest83@1.39.30.16)
2022-08-04 11:15:17 +0200 <Guest8343> I need help with X11
2022-08-04 11:15:34 +0200 <Guest8343> import Graphics.X11.ExtraTypes.XF86
2022-08-04 11:15:49 +0200 <Guest8343> Adding the above line to get function keys working
2022-08-04 11:15:55 +0200 <Guest8343> gives me this error
2022-08-04 11:16:56 +0200 <Jade1> What DE integrates best with xmonad?
2022-08-04 11:18:25 +0200 <diep> Solid: the title match is working I think because the shortcut spawn/hide/show/hide... the window as expected
2022-08-04 11:20:22 +0200 <diep> and I give as parameter an URL, and the purpose is to stay on that URL once firefox spawns, but if I switch to another site, yes the match doesn't work anymore
2022-08-04 11:20:38 +0200 <diep> but I dont know how to to a better matching
2022-08-04 11:21:24 +0200 <diep> because I cant customize the window CLASS for example, or I didnt find how to do it
2022-08-04 11:27:54 +0200sogens2(~sogens@gateway/vpn/pia/sogens) (Quit: WeeChat 3.5)
2022-08-04 11:28:06 +0200sogens(~sogens@gateway/vpn/pia/sogens)
2022-08-04 11:28:56 +0200Jade1(~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) (Quit: Client closed)
2022-08-04 11:32:36 +0200Guest8343(~Guest83@1.39.30.16) (Ping timeout: 252 seconds)
2022-08-04 11:35:31 +0200sogens[m]1(~sogensmat@2001:470:69fc:105::1:20a1)
2022-08-04 11:37:22 +0200 <sogens[m]1> hello all love xmonad even though im currently using boring gnome
2022-08-04 11:37:41 +0200qbt(~qbt@user/edun) (Ping timeout: 252 seconds)
2022-08-04 11:44:59 +0200sogens(~sogens@gateway/vpn/pia/sogens) (Quit: WeeChat 3.5)
2022-08-04 11:45:10 +0200sogens(~sogens@gateway/vpn/pia/sogens)
2022-08-04 11:45:24 +0200 <diep> Also, I have a terminal window with this WM_CLASS attribute <"Alacritty", "nnn"> and I fail to write a match using `className`
2022-08-04 11:45:41 +0200sogens(~sogens@gateway/vpn/pia/sogens) (Client Quit)
2022-08-04 11:45:47 +0200 <diep> WM_CLASS(STRING) = "Alacritty", "nnn"
2022-08-04 11:45:52 +0200sogens(~sogens@gateway/vpn/pia/sogens)
2022-08-04 11:46:40 +0200 <diep> How Im suppose to write the matcher? Like `className =? "Alacritty, nnn"` doesnt work
2022-08-04 11:50:51 +0200 <Solid> diep: className matches on the second string of WM_CLASS
2022-08-04 11:51:07 +0200 <Solid> appName matches on the first
2022-08-04 11:51:57 +0200 <diep> hmm this is not clear in the doc, but thx! Now the question is, how can I write this in haskell xD
2022-08-04 11:52:12 +0200 <diep> to combine both matchs?
2022-08-04 11:57:01 +0200 <Solid> something like `appName =? "Alacritty" <&&> className =? "nnn" --> doSomethingIdon'tKnow` should work
2022-08-04 11:57:17 +0200 <Solid> and contributions wrt improving docs always welcome :)
2022-08-04 11:58:58 +0200 <diep> big thx! For doc contribution, I'll check for it ;)
2022-08-04 12:03:03 +0200redgloboli(~redglobol@user/redgloboli) (Quit: ...enter the matrix...)
2022-08-04 12:12:59 +0200sogens(~sogens@gateway/vpn/pia/sogens) (Remote host closed the connection)
2022-08-04 12:15:34 +0200sogens(~sogens@211.30.173.20)
2022-08-04 12:16:23 +0200sogens2(~sogens@gateway/vpn/pia/sogens)
2022-08-04 12:20:27 +0200sogens(~sogens@211.30.173.20) (Ping timeout: 245 seconds)
2022-08-04 12:40:37 +0200qbt(~qbt@user/edun)
2022-08-04 13:23:47 +0200sogens2(~sogens@gateway/vpn/pia/sogens) (Ping timeout: 245 seconds)
2022-08-04 13:25:47 +0200sogens2(~sogens@211.30.173.20)
2022-08-04 13:50:39 +0200Guest8343(~Guest83@1.39.30.16)
2022-08-04 13:51:08 +0200 <Guest8343> I'm trying to convert my old key map from `additionalKeys` to emacs style
2022-08-04 13:51:31 +0200 <Guest8343> but I'm confused what I should do here:
2022-08-04 13:51:44 +0200 <Guest8343> ```hs
2022-08-04 13:51:44 +0200 <Guest8343>       ((modm, xK_w), submap . M.fromList $
2022-08-04 13:51:45 +0200 <Guest8343>         [ ((m, k), windows $ f i)
2022-08-04 13:51:46 +0200 <Guest8343>         , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]
2022-08-04 13:51:46 +0200 <Guest8343>       ])
2022-08-04 13:51:47 +0200 <Guest8343> ```
2022-08-04 13:52:19 +0200 <Guest8343>  Anyone here?
2022-08-04 13:55:45 +0200 <sogens[m]1> today I found out to quit emacs you just do the same thing you do in vim
2022-08-04 13:55:54 +0200 <sogens[m]1> and to save too!!!
2022-08-04 13:56:05 +0200 <Guest8343> huh?
2022-08-04 13:56:50 +0200 <sogens[m]1> sorry I cant help you
2022-08-04 13:56:58 +0200 <Guest8343> I was asking how do I convert the above submap I made for switching workspaces to emacs style
2022-08-04 13:57:50 +0200logzet(~quassel@2001:9e8:e50d:7a00:dabb:c1ff:fed3:a1b9) (Ping timeout: 240 seconds)
2022-08-04 13:58:28 +0200 <Solid> depends on how deeply you want to do this; if it's just for type-checking purposes then changing the first (modm, xK_w) to "M-w" should be enough
2022-08-04 13:59:54 +0200 <Guest8343> so i still need to import submap right?
2022-08-04 14:00:59 +0200 <Solid> yes
2022-08-04 14:04:53 +0200 <Solid> something like http://ix.io/46E2 would only use EZConfig syntax (since that actually supports submaps ootb), but I don't think it's necessarily more readable in this case
2022-08-04 14:06:28 +0200 <Guest8343> Solid actually I was creating my new config from scratch as the old one was a big mess
2022-08-04 14:06:35 +0200 <Guest8343> so I have a problem here
2022-08-04 14:07:41 +0200 <Guest8343> Solid https://pastebin.com/aXsiSkbQ
2022-08-04 14:08:08 +0200 <Guest8343> This is the current state of my config. How should I go about adding my old workspace switching submap to my new config?
2022-08-04 14:09:31 +0200 <Guest8343> hey guys?
2022-08-04 14:13:24 +0200 <Solid> well, first of all you probably don't want `keys = myKeys` since that would override _all_ of the default bindings
2022-08-04 14:14:24 +0200 <Solid> try something like http://ix.io/46E6
2022-08-04 14:14:53 +0200 <Solid> might need to import qualified Data.Map as M as well
2022-08-04 14:16:11 +0200 <geekosaur> Solid, you got those reversed
2022-08-04 14:17:42 +0200 <geekosaur> Guest8343, see https://github.com/geekosaur/xmonad.hs/blob/skkukuk/xmonad.hs#L231-L236
2022-08-04 14:17:51 +0200 <geekosaur> but use greedyView instead if view
2022-08-04 14:17:54 +0200 <geekosaur> *of
2022-08-04 14:18:43 +0200 <Solid> geekosaur: huh?
2022-08-04 14:19:05 +0200 <geekosaur> I think "Alacritty" is the className?
2022-08-04 14:21:03 +0200 <geekosaur> quite the active overnight
2022-08-04 14:21:16 +0200 <Solid> I would also intuitively assume that but they posted `WM_CLASS(STRING) = "Alacritty", "nnn"`
2022-08-04 14:21:19 +0200 <alternateved> sogens[m]1: I guess that depends if you use evil mode
2022-08-04 14:21:26 +0200 <Solid> and className definitely gets the second string in WM_CLASS
2022-08-04 14:21:52 +0200 <Guest8343> geekosaur currently facing this error: https://imgur.com/95kM3cD
2022-08-04 14:22:32 +0200 <alternateved> Solid: how is your health? Is it better now?
2022-08-04 14:22:50 +0200 <geekosaur> you probably shouldn't have called your list `workspaces`. since you did, you have to use `Main.workspaces` there
2022-08-04 14:23:23 +0200 <Solid> alternateved: yeah all I have is a very light cough now, otherwise I'm all good; thanks for asking :)
2022-08-04 14:23:38 +0200 <alternateved> Oh, that is great to hear
2022-08-04 14:24:01 +0200 <geekosaur> Jade1, at the moment KDE and MATE are the best desktop environments to use xmonad with. but KDE needs a patch (https://github.com/xmonad/xmonad/issues/174)
2022-08-04 14:24:02 +0200 <alternateved> s/hear/read
2022-08-04 14:24:27 +0200 <geekosaur> I'm actively maintaining the MATE integration, since I use it myself
2022-08-04 14:25:37 +0200 <Guest8343> geekosaur hey it is working now but just to make sure it's correct: https://pastebin.com/DkaF8Zba
2022-08-04 14:26:07 +0200 <Guest8343> and i didn't understand it's context with https://github.com/geekosaur/xmonad.hs/blob/d60036ffd53c32d20452a5eef963c0f8503f20da/xmonad.hs#L23…
2022-08-04 14:27:04 +0200 <geekosaur> looks correct to me
2022-08-04 14:27:19 +0200 <geekosaur> and I was showing how I do the list comprehension in emacs-keys mode
2022-08-04 14:27:45 +0200 <Guest8343> Should I make changes similar to yours or is mine
2022-08-04 14:27:54 +0200 <geekosaur> yours is fine
2022-08-04 14:28:18 +0200 <geekosaur> mine has a few more workspaces, and I don't use a submap
2022-08-04 14:28:30 +0200 <Guest8343> and also out of the context, I don't know haskell. I just read and edit code. So should I learn a little haskell right now?
2022-08-04 14:28:59 +0200 <geekosaur> it can help, but most people set up their config once and never touch it again so it may not help much 🙂
2022-08-04 14:29:03 +0200 <geekosaur> @where books
2022-08-04 14:29:03 +0200 <lambdabot> See `LYAH',`RWH',`YAHT',`SOE',`HR',`PIH',`TFwH',`wikibook',`PCPH',`HPFFP',`FSAF',`HftVB',`HTAC',`TwT',`FoP',`PFAD',`WYAH',`non-haskell-books'. Also <https://www.vex.net/~trebla/haskell/learn-sources.
2022-08-04 14:29:03 +0200 <lambdabot> html>,<https://www.extrema.is/articles/haskell-books>
2022-08-04 14:29:30 +0200 <geekosaur> hm, pity that url gets broken in the middle
2022-08-04 14:29:48 +0200 <Guest8343> vex
2022-08-04 14:29:50 +0200 <Guest8343> ya
2022-08-04 14:29:59 +0200 <Guest8343> I'll pick one short book
2022-08-04 14:30:10 +0200 <Guest8343> or maybe if there's a nice blog
2022-08-04 14:30:35 +0200 <Guest8343> btw, do you think the way distrotube configures his xmonad is a little terrible?
2022-08-04 14:31:13 +0200 <evilop> a little?
2022-08-04 14:31:56 +0200 <Guest8343> umm... kinda.. cause I've followed his way of doing things quite a few times and my config started becoming a big mess so I've started doing things from scratch now
2022-08-04 14:32:41 +0200 <Guest8343> It got really broken when I started using Deocration for "one sided border" after taking a look at leary's comment on github
2022-08-04 14:32:56 +0200 <Guest8343> Is there a better way to do "one sided border"?
2022-08-04 14:33:10 +0200 <alternateved> My opinion is that the best route is doing things from scratch - this gives you the least issues as you understand what you are doing
2022-08-04 14:33:41 +0200 <Guest8343> one sided border as show here: https://github.com/xmonad/xmonad/issues/152#issuecomment-362716434
2022-08-04 14:33:54 +0200 <alternateved> If you use someone's config, you could get lost pretty quickly if you would want to change something
2022-08-04 14:34:05 +0200 <Guest8343> alternateved agreed. same goes for my vim journey.
2022-08-04 14:35:12 +0200 <alternateved> Also, I think it is much more valuable to get to know things by yourself without taking such shortcuts
2022-08-04 14:35:53 +0200 <alternateved> But you know, there are different use-cases - some people just want to get something working and move on with their lives
2022-08-04 14:44:13 +0200 <alternateved> Solid: you use X Emacs build and setDefaultCursor from X.U.Cursor, right?
2022-08-04 14:44:53 +0200 <Solid> alternateved: yes
2022-08-04 14:45:01 +0200 <alternateved> Did you ever had some situations where mouse pointer (cursor) gets colored pitch black?
2022-08-04 14:45:17 +0200 <alternateved> Only in Emacs frame?
2022-08-04 14:45:59 +0200 <Solid> mh, no, I've never had that happen
2022-08-04 14:46:07 +0200 <alternateved> As lately I was trying the X build and this made mouse pointer unusable, when the Emacs theme is dark
2022-08-04 14:46:22 +0200 <alternateved> Hmm
2022-08-04 14:46:57 +0200 <alternateved> Haha, weirdly enough I have no such issues with pgtk build
2022-08-04 14:47:35 +0200 <Solid> x)
2022-08-04 14:47:37 +0200 <alternateved> At the same time, I cannot have floating scratchpad with pgtk build, while I could with X build
2022-08-04 14:48:05 +0200 <Solid> i will note that I don't use GTK or something, I just build Emacs with lucid
2022-08-04 14:48:06 +0200 <alternateved> I need to dig a bit what is causing the pointer color change only in Emacs
2022-08-04 14:48:09 +0200 <Solid> so that may also have an effect
2022-08-04 14:49:58 +0200 <alternateved> Oh, right
2022-08-04 14:51:26 +0200 <alternateved> So `--with-x-toolkit=lucid` option, yes?
2022-08-04 14:51:45 +0200 <geekosaur> mouse pointer will be up to the toolkit
2022-08-04 14:51:49 +0200 <alternateved> I was using just simple `--with-x`, but I am not sure what exactly this does
2022-08-04 14:52:14 +0200 <Solid> yeah `--with-x-toolkit=athena` (but i think lucid also works)
2022-08-04 14:52:15 +0200 <geekosaur> it just enables things like frame support, using the Athena toolkit
2022-08-04 14:52:21 +0200 <alternateved> Apart from the using X Window System
2022-08-04 14:53:29 +0200 <Guest8343> I was rewriting my config from scratch and copied this line:
2022-08-04 14:53:30 +0200 <Guest8343> `[ ((modMask .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)`
2022-08-04 14:53:30 +0200 <Guest8343> but xmessage says "variable conf not in scope"
2022-08-04 14:53:53 +0200 <geekosaur> correct, it won't be in scope using emacs-style
2022-08-04 14:54:10 +0200 <geekosaur> it was originally extracted from the parameters to myKeys
2022-08-04 14:55:07 +0200 <geekosaur> asks XMonad.terminal . config >>= spawn
2022-08-04 14:55:11 +0200 <Guest8343> so should I just do: spawn "alacritty" instead of adding myTerminal=alacritty and then doing terminal=myTerminal?
2022-08-04 14:55:57 +0200 <evilop> or just do terminal="alacritty"
2022-08-04 14:56:12 +0200 <Guest8343> okay
2022-08-04 14:56:22 +0200 <geekosaur> see the line with the >>=
2022-08-04 14:56:40 +0200 <geekosaur> that's the equivalent for emacs-style, it extracts your terminal from the config and passes it to spawn
2022-08-04 14:57:25 +0200 <Guest8343> so it extracts it from the line `myTerminal = "alacritty"`?
2022-08-04 14:57:37 +0200 <diep> Hi again, I repost my previous question, Im using a namedscratchpad to spawn firefox, as floating, but the firefox spawns in a no floating window, here is the relevent config part https://paste.ofcode.org/yjDZgUpBSDpfCmd86kMuB3 Any idea about what can cause the problem? Please note that this scratchpad works correctly, the problem is just that the window is not floating
2022-08-04 14:58:21 +0200 <alternateved> Is it really the title of the window? "stuff - Mozilla Firefox"
2022-08-04 14:58:51 +0200 <diep> I replaced the real one by "stuff", this is not relevent
2022-08-04 14:59:43 +0200 <evilop> firefox forking can make it a bit more complicated
2022-08-04 15:00:00 +0200 <diep> When I press on the associated shortcut, it spawns/hides/shows/hides that window as expected, as far as I know
2022-08-04 15:02:08 +0200 <geekosaur> the problem with browsers is nothing is set up whyen the window first spawns. chrome windows have a random string as the title (which is actually the component id of whatever manages new windows) until they're rendered. matching would work fine after that, but not when first spawned
2022-08-04 15:02:48 +0200 <geekosaur> you need to use something like X.H.DynamicProperty to watch for the title being set afterward and float the window
2022-08-04 15:04:14 +0200 <geekosaur> sadly, this also includes things that are mandatory-set at map time like class, name, role (that is, they ognore the "mandatory" and set them after mapping)
2022-08-04 15:04:29 +0200 <geekosaur> which is all because it's all done by JS that doesn't run until after mapping
2022-08-04 15:08:47 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-08-04 15:09:24 +0200 <diep> humm looks too complicated for me, I think I'll give up on this xD
2022-08-04 15:31:34 +0200Guest8343(~Guest83@1.39.30.16) (Quit: Client closed)
2022-08-04 15:34:49 +0200Guest833(~Guest83@1.39.30.16)
2022-08-04 15:35:25 +0200 <Guest833> geekosaur why does my current config expect me to use additionalKeys sytnax under the submap instead of string syntax?
2022-08-04 15:36:24 +0200 <geekosaur> because that's how submap is defined. additionalKeysP syntax integrates submaps though
2022-08-04 15:36:46 +0200 <geekosaur> https://github.com/geekosaur/xmonad.hs/blob/skkukuk/xmonad.hs#L199-L205
2022-08-04 15:38:17 +0200gdd1gdd
2022-08-04 15:39:06 +0200 <geekosaur> so for example "M-C-cl" will automatically define M-C-c" as a submap and then define "l" as a key within it, and reuse that submap for the other ones starting with "M-C-c"
2022-08-04 15:40:37 +0200 <Guest833> oh so i shouldn't be using M.fromlist but rather the emacs syntax all the way
2022-08-04 15:40:57 +0200 <geekosaur> yep
2022-08-04 15:41:13 +0200 <geekosaur> emacs syntax handles a bunch of things you'd otherwise have to do manually
2022-08-04 15:41:26 +0200 <geekosaur> it's why we recommend it these days
2022-08-04 15:42:35 +0200 <Guest833> `          ("M-s s", asks XMonad.terminal . config >>= spawn),
2022-08-04 15:42:36 +0200 <Guest833> ` is this wrong
2022-08-04 15:43:36 +0200 <geekosaur> oh, I may have missed some parens there. also that key sequence would be read as M-s space s
2022-08-04 15:43:55 +0200 <geekosaur> asks (XMonad.terminal . config) >>= spawn
2022-08-04 15:44:05 +0200 <geekosaur> (and no, you can't use $)
2022-08-04 15:45:07 +0200 <Guest833> but
2022-08-04 15:45:14 +0200 <Guest833> from the docs
2022-08-04 15:45:22 +0200 <Guest833> , ("M-x y", spawn "xmessage 'yay!'") -- type mod+x then y to pop up 'yay!'
2022-08-04 15:45:48 +0200 <geekosaur> *Main> :t asks (XMonad.terminal . config) >>= spawn
2022-08-04 15:45:49 +0200 <geekosaur> asks (XMonad.terminal . config) >>= spawn
2022-08-04 15:45:49 +0200 <geekosaur> :: (MonadReader XConf m, MonadIO m) => m ()
2022-08-04 15:46:18 +0200 <geekosaur> hm. maybe it does ignore spaces. I've always left them out
2022-08-04 15:47:11 +0200 <Guest833>  I didn't understand  the above code you pasted
2022-08-04 15:47:14 +0200 <geekosaur> right, explicit space is <Space>. carry on then
2022-08-04 15:47:25 +0200 <Guest833> Where is that supposed to go and what does it do
2022-08-04 15:47:40 +0200 <geekosaur> that was just showing that the code typechecks in ghci
2022-08-04 15:48:01 +0200 <geekosaur> (cabal repl on my config)
2022-08-04 15:48:33 +0200 <geekosaur> ":t" asks ghci the type of some expression
2022-08-04 15:48:51 +0200 <geekosaur> it also works in lambdabot in here, but that doesn't and can't have xmonad loaded
2022-08-04 15:49:38 +0200 <Guest833> I don't understand much
2022-08-04 15:49:42 +0200 <Guest833> how should i be making this binding?
2022-08-04 15:49:44 +0200 <Guest833>           ("M-s s", launch my terminal),
2022-08-04 15:50:24 +0200 <geekosaur> I would write it as: ("M-s s", asks (XMonad.terminal . config) >>= spawn)
2022-08-04 15:51:02 +0200 <geekosaur> you don't really have to understand the "asks" part, suffice it that it's retrieving your config and looking up the "terminal" part
2022-08-04 15:53:48 +0200alternateved(~user@staticline-31-183-149-36.toya.net.pl) (Remote host closed the connection)
2022-08-04 15:54:11 +0200 <Guest833> geekosaur
2022-08-04 15:54:12 +0200 <Guest833> main = xmonad $ def
2022-08-04 15:54:12 +0200 <Guest833>       { modMask = mod4Mask,
2022-08-04 15:54:13 +0200 <Guest833>         terminal = "alacritty"
2022-08-04 15:54:13 +0200 <Guest833>       }
2022-08-04 15:54:15 +0200 <Guest833> correct?
2022-08-04 15:54:23 +0200 <geekosaur> yes
2022-08-04 15:54:24 +0200 <Guest833> btw, I'm very sorry to bother you so much
2022-08-04 15:54:36 +0200 <geekosaur> that's fine, it's why I hang out in here
2022-08-04 15:54:49 +0200 <Guest833> I need to configure my xmonad rn just enough to get it working and then I'll take time to learn some haskell
2022-08-04 15:58:26 +0200evilop(~Urist@archlinux/op/MrElendig) (Quit: setting you up the bomb)
2022-08-04 15:59:37 +0200MrElendig(~Urist@archlinux/op/MrElendig)
2022-08-04 16:09:46 +0200Nahra(~user@static.161.95.99.88.clients.your-server.de)
2022-08-04 16:10:28 +0200 <quarkQuark[m]> <geekosaur> "you don't really have to..." <- That's interesting. Currently I'm passing my config record to my keybindings definition as a parameter and calling `spawn (terminal config)` (to avoid annoying type signatures, I define the config with `where` in `main`.
2022-08-04 16:10:28 +0200 <quarkQuark[m]> Would this `asks` function mean that I don't have to pass my config to my keybindings as a parameter, or am I misunderstanding? This would seem strange as otherwise my keybindings definition is pure.
2022-08-04 16:10:58 +0200 <quarkQuark[m]> * That's interesting. Currently I'm passing my config record to my keybindings definition as a parameter and calling `spawn (terminal config)` (to avoid annoying type signatures, I define the config with `where` in `main`.
2022-08-04 16:10:58 +0200 <quarkQuark[m]> Would this `asks` function mean that I don't have to pass my config to my keybindings as a parameter, or am I misunderstanding? This would seem strange as otherwise my keybindings definition is pure.
2022-08-04 16:11:01 +0200 <quarkQuark[m]> * That's interesting. Currently I'm passing my config record to my keybindings definition as a parameter and calling `spawn (terminal config)` (to avoid annoying type signatures, I define the config with `where` in `main`.
2022-08-04 16:11:01 +0200 <quarkQuark[m]> Would this `asks` function mean that I don't have to pass my config to my keybindings as a parameter, or am I misunderstanding? This would seem strange as otherwise my keybindings definition is pure.
2022-08-04 16:11:12 +0200 <quarkQuark[m]> * That's interesting. Currently I'm passing my config record to my keybindings definition as a parameter and calling `spawn (terminal config)` (to avoid annoying type signatures, I define the config with `where` in `main`.
2022-08-04 16:11:12 +0200 <quarkQuark[m]> Would this `asks` function mean that I don't have to pass my config to my keybindings as a parameter, or am I misunderstanding? This would seem strange as otherwise my keybindings definition is pure.
2022-08-04 16:12:53 +0200 <geekosaur[m]> You may have defined them as pure but they run in X
2022-08-04 16:13:41 +0200 <geekosaur[m]> Otherwise spawning wouldn't work
2022-08-04 16:14:08 +0200 <quarkQuark[m]> Ah yes, that makes sense thanks!
2022-08-04 16:14:21 +0200 <quarkQuark[m]> * That's interesting. Currently I'm passing my config record to my keybindings definition as a parameter and calling `spawn (terminal config)` (to avoid annoying type signatures, I define the config with `where` in `main`).
2022-08-04 16:14:21 +0200 <quarkQuark[m]> Would this `asks` function mean that I don't have to pass my config to my keybindings as a parameter, or am I misunderstanding? This would seem strange as otherwise my keybindings definition is pure.
2022-08-04 16:14:56 +0200 <geekosaur[m]> If you look at the type it's (String -> X ())
2022-08-04 16:15:29 +0200 <geekosaur[m]> Sorry (String, X ())
2022-08-04 16:16:57 +0200 <quarkQuark[m]> And everything in X can access my config record using `asks`?
2022-08-04 16:17:17 +0200 <geekosaur[m]> Yes
2022-08-04 16:19:00 +0200mc47(~mc47@xmonad/TheMC47)
2022-08-04 16:22:09 +0200 <geekosaur> if you want to poke around, `asks` looks things up in `XConf` and `gets` looks things up in `XState`, both of which are defined in `XMonad/Core.hs`
2022-08-04 16:22:54 +0200 <geekosaur> (the difference is that `XConf` never changes after xmonad starts, while `XState` is the live "mutable" state of xmonad)
2022-08-04 16:23:01 +0200sogens2(~sogens@211.30.173.20) (Ping timeout: 268 seconds)
2022-08-04 16:24:01 +0200 <geekosaur> btw all that editing works fine in Matrix but it makes a real mess in IRC
2022-08-04 16:25:24 +0200sogens2(~sogens@211.30.173.20)
2022-08-04 16:25:34 +0200Guest833(~Guest83@1.39.30.16) (Ping timeout: 252 seconds)
2022-08-04 16:25:42 +0200 <quarkQuark[m]> Oh, sorry - I didn't realise this was also on IRC! Does it send a new message each time? I will try not to do that again
2022-08-04 16:25:51 +0200 <geekosaur> yes
2022-08-04 16:26:17 +0200 <quarkQuark[m]> Thanks for letting me know
2022-08-04 16:27:23 +0200 <geekosaur> yeh, we have the Matrix room joined to an IRC channel. it's convenient but gets messy when some of Matrix's fancier features get involved
2022-08-04 16:35:21 +0200 <Solid> quarkQuark[m]: since you're asking about asks (heh): now is a great time for you to learn about reader monads! :>
2022-08-04 16:45:12 +0200 <quarkQuark[m]> I suppose I'll give them a 'read'!
2022-08-04 16:46:28 +0200 <Solid> :^)
2022-08-04 16:46:32 +0200 <geekosaur> they're not difficult, at least while wrapped in a Reader. (the unwrapped version is somewhat mind-bending, but it's simple and safe while wrapped)
2022-08-04 16:48:25 +0200sogens2(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 16:48:41 +0200sogens(~sogens@211.30.173.20)
2022-08-04 16:49:09 +0200 <geekosaur> ("safe" with respect to your sanity, that is, there's nothing otherwise unsafe about them)
2022-08-04 17:10:59 +0200diep(~diep@2a01:cb11:2d7:4a00:a13f:e40c:c4e8:736c) (Remote host closed the connection)
2022-08-04 17:12:28 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 17:12:44 +0200sogens(~sogens@211.30.173.20)
2022-08-04 17:15:13 +0200 <Hash> !monad
2022-08-04 17:15:23 +0200 <Hash> Come on bot!
2022-08-04 17:15:28 +0200sogens(~sogens@211.30.173.20) (Client Quit)
2022-08-04 17:15:44 +0200sogens(~sogens@211.30.173.20)
2022-08-04 17:17:57 +0200qbt(~qbt@user/edun) (Ping timeout: 252 seconds)
2022-08-04 17:23:40 +0200 <geekosaur> what were you looking for?
2022-08-04 17:24:02 +0200 <geekosaur> first off, there are only two (known) bots in here and neither responds to !
2022-08-04 17:24:41 +0200 <geekosaur> second, the main bot you'd query doesn't accept that.
2022-08-04 17:25:08 +0200 <geekosaur> @google you could have invented monads
2022-08-04 17:25:23 +0200 <lambdabot> Plugin `search' failed with: <<timeout>>
2022-08-04 17:25:33 +0200 <geekosaur> mm, still broken. sad
2022-08-04 17:25:56 +0200 <geekosaur> http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html
2022-08-04 17:27:08 +0200 <geekosaur> yes, the concept derives from category theory. but th4ese aren't category theory monads and you don't care about category theory when using or even defining them
2022-08-04 17:30:09 +0200 <geekosaur> (we don't even define it properly for category theory, that'd be join and fmap instead of return and bind)
2022-08-04 17:31:43 +0200 <Hash> Oh ok
2022-08-04 17:31:45 +0200 <Hash> I dunno the bots here yet
2022-08-04 17:32:19 +0200 <Hash> Category theory. I did some stuff there in algorithm generation
2022-08-04 17:32:28 +0200 <Hash> Robitics stuff. Fun.
2022-08-04 17:32:50 +0200 <Hash> I never knew Robots need to generate algorithms for various problems on the fly.
2022-08-04 17:32:59 +0200 <Hash> Pretty cool. But neither here nor there!
2022-08-04 17:33:06 +0200 <geekosaur> that's the direction robotics has been going, yes
2022-08-04 17:33:21 +0200 <geekosaur> because it's what we do, and fixed algorithms don't work well in the real world
2022-08-04 17:49:49 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-08-04 18:00:12 +0200Melkor333[m](~melkor333@2001:470:69fc:105::2:3ef7) (Quit: You have been kicked for being idle)
2022-08-04 18:02:44 +0200Guest8311(~Guest83@114.143.131.219)
2022-08-04 18:03:20 +0200 <Guest8311> main = xmonad $ def
2022-08-04 18:03:20 +0200 <Guest8311>       { modMask = mod4Mask,
2022-08-04 18:03:21 +0200 <Guest8311>         terminal = "alacritty",
2022-08-04 18:03:21 +0200 <Guest8311>         borderWidth = 0,
2022-08-04 18:03:22 +0200 <Guest8311>         layoutHook = myLayout
2022-08-04 18:03:22 +0200 <Guest8311>       }
2022-08-04 18:03:23 +0200 <Guest8311>       `additionalKeysP` myKeys
2022-08-04 18:03:23 +0200 <Guest8311> Hey, geekosaur is it okay to override borderwidth in the def block?
2022-08-04 18:04:30 +0200 <geekosaur> yes
2022-08-04 18:04:46 +0200 <geekosaur> https://github.com/geekosaur/xmonad.hs/blob/skkukuk/xmonad.hs#L133
2022-08-04 18:04:46 +0200 <Guest8311> and if you replied to my text about "moving windows to workspaces" using submaps then I've missed those texts
2022-08-04 18:04:51 +0200 <Guest8311> I was disconnected
2022-08-04 18:05:35 +0200 <geekosaur> I think I missed that question
2022-08-04 18:08:21 +0200 <Guest8311> geekosaur
2022-08-04 18:08:23 +0200 <Guest8311>       ("M-w", submap . M.fromList $
2022-08-04 18:08:24 +0200 <Guest8311>         [ ((m, k), windows $ f i)
2022-08-04 18:08:24 +0200 <Guest8311>         | (i, k) <- zip myWorkspaces [xK_1 .. xK_9]
2022-08-04 18:08:25 +0200 <Guest8311>         , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]
2022-08-04 18:08:25 +0200 <Guest8311>       -- ((modm, xK_p), toggleWS),
2022-08-04 18:08:26 +0200 <Guest8311>         ])
2022-08-04 18:08:42 +0200 <Guest8311> Now the above block changes to a certain workspace using submap
2022-08-04 18:08:57 +0200 <Guest8311> Is it possible to create a submap to move windows to workspaces?
2022-08-04 18:09:12 +0200 <geekosaur> that one actually does both
2022-08-04 18:09:26 +0200 <Guest8311> what's the binding?
2022-08-04 18:09:45 +0200 <Guest8311> okay
2022-08-04 18:09:53 +0200 <geekosaur> the shifted version does the move
2022-08-04 18:09:54 +0200 <Guest8311> mod+w and shift+num
2022-08-04 18:10:07 +0200 <geekosaur> that's the (W.shift, shiftMask) part
2022-08-04 18:10:36 +0200 <geekosaur> the first being the operation and the second being the mask, so you could for example change that to controlMask if you wanted
2022-08-04 18:11:01 +0200 <geekosaur> the various operations you can do with `windows` are in XMonad.StackSet
2022-08-04 18:13:07 +0200 <Guest8311> I was trying to seperate the moving part into another submap
2022-08-04 18:13:09 +0200 <Guest8311>       ("M-u", submap . M.fromList $
2022-08-04 18:13:09 +0200 <Guest8311>         [ (f, m) <- [(W.greedyView, 0), (W.shift, [xK_1 .. xK_9])]
2022-08-04 18:13:09 +0200 <Guest8311>         ])
2022-08-04 18:13:45 +0200 <geekosaur> you need a bit more to be a proper list comprehension
2022-08-04 18:15:06 +0200 <geekosaur> [ ((0, k), windows $ shift i) | (i, k) <- zip myWorkspaces [xK_1 .. xK_9]
2022-08-04 18:15:12 +0200 <geekosaur> whoops
2022-08-04 18:15:15 +0200 <geekosaur> [ ((0, k), windows $ shift i) | (i, k) <- zip myWorkspaces [xK_1 .. xK_9]]
2022-08-04 18:15:38 +0200 <geekosaur> still wrong, needs to be W.shift
2022-08-04 18:15:46 +0200 <geekosaur> but you get the idea, hopefully
2022-08-04 18:16:10 +0200 <geekosaur> the part before the | is a template for each element of the result list,m the part after it is how to build it
2022-08-04 18:18:48 +0200 <Guest8311> okay worked
2022-08-04 18:32:01 +0200 <Guest8311> geekosaur
2022-08-04 18:32:17 +0200 <geekosaur> yes?
2022-08-04 18:32:18 +0200 <Guest8311> I'm trying to understand both the blocks so that I can clean this one:
2022-08-04 18:32:20 +0200 <Guest8311>       ("M-w", submap . M.fromList $
2022-08-04 18:32:20 +0200 <Guest8311>         [ ((m, k), windows $ f i)
2022-08-04 18:32:21 +0200 <Guest8311>         | (i, k) <- zip myWorkspaces [xK_1 .. xK_9]
2022-08-04 18:32:21 +0200 <Guest8311>         , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]
2022-08-04 18:32:22 +0200 <Guest8311>       -- ((modm, xK_p), toggleWS),
2022-08-04 18:32:22 +0200 <Guest8311>         ]),
2022-08-04 18:32:26 +0200 <Guest8311> but I just can't
2022-08-04 18:33:04 +0200 <Guest8311> In the above block I want to remove the submap of moving windows to a workspace and add in that submap a binding "p" to move to the previous workspace
2022-08-04 18:33:35 +0200 <geekosaur> you can't really do the previous workspace thing in there
2022-08-04 18:34:31 +0200 <Guest8311> so if I create another block of the same submap just to switch to previous workspace then does that create a conflict?
2022-08-04 18:35:23 +0200 <geekosaur> it'll overwrite the other one
2022-08-04 18:35:32 +0200 <Guest8311> ugh
2022-08-04 18:35:36 +0200 <Guest8311> so not possible?
2022-08-04 18:35:37 +0200 <geekosaur> you need to let additionalKeysP do the submap creation for them to be coalesced
2022-08-04 18:36:05 +0200 <Guest8311> Okay I'll add that
2022-08-04 18:37:22 +0200 <Guest8311> but
2022-08-04 18:37:30 +0200 <Guest8311> um I've already imported ezconfig
2022-08-04 18:37:53 +0200sogens(~sogens@211.30.173.20) (Ping timeout: 252 seconds)
2022-08-04 18:37:56 +0200 <Guest8311> do I need to explicitly import `additionalkeysP`? and does that mean I can't use emacs style?
2022-08-04 18:40:27 +0200sogens(~sogens@211.30.173.20)
2022-08-04 18:41:09 +0200 <geekosaur> https://paste.tomsmeding.com/XS0j6WyU
2022-08-04 18:41:32 +0200 <geekosaur> you're already usingt additionalKeysP, you'll just be using it a bit more than you were
2022-08-04 18:42:16 +0200 <geekosaur> the thing I pasted is what goes at the end of your current additionalKeysP list
2022-08-04 18:43:37 +0200benin0(~benin@183.82.25.146) (Ping timeout: 268 seconds)
2022-08-04 18:44:26 +0200 <geekosaur> hm, slightly wrong, that's prev window not prev ws
2022-08-04 18:44:46 +0200 <geekosaur> CycleRecentWS or CycleWS depending on how you define "previous"
2022-08-04 18:45:17 +0200 <Guest8311>         , ("M-w p", rotAllUp) -- import XMonad.Actions.RotSlaves
2022-08-04 18:45:18 +0200 <Guest8311>         ]
2022-08-04 18:45:18 +0200 <Guest8311>         ++
2022-08-04 18:45:19 +0200 <Guest8311>         [ ("M-w " ++ k, windows $ W.greedyView i)
2022-08-04 18:45:19 +0200 <Guest8311>         | (i, k) <- zip myWorkspaces ["1" .. "9"]
2022-08-04 18:45:20 +0200 <Guest8311>         ]
2022-08-04 18:45:26 +0200 <Guest8311> this block goes exactly where?
2022-08-04 18:45:35 +0200 <geekosaur> please don't paste like that directly into the channel
2022-08-04 18:45:40 +0200 <geekosaur> we have a pastebin
2022-08-04 18:45:43 +0200 <geekosaur> @where paste
2022-08-04 18:45:43 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-08-04 18:45:53 +0200 <Guest8311> okay sorry
2022-08-04 18:46:02 +0200 <geekosaur> \anyway I can't tell you exactly without seeing the rest of your config
2022-08-04 18:46:57 +0200 <Guest8311> https://pastebin.com/hrfnRHBv
2022-08-04 18:47:01 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 18:47:04 +0200 <Guest8311> my current config state
2022-08-04 18:48:38 +0200 <geekosaur> anyway it';s slightly wrong, as I said, you don;'t want rotAllUp, you want either (moveTo Prev hiddenWS) (from XMonad.Actions.CycleWS) or toggleRecentWS (from XMonad.Actions.CycleRecentWS)
2022-08-04 18:48:53 +0200 <geekosaur> sigh. did you have to use that pastebin when I pointed you at a saner one?
2022-08-04 18:49:02 +0200 <geekosaur> I mean, did you even look at the result?
2022-08-04 18:49:37 +0200 <Guest8311> oh I didn't take a look... I thought the actual pastebin thing... its a little too popular
2022-08-04 18:50:04 +0200 <Guest8311> https://paste.tomsmeding.com/F7dbWmIi
2022-08-04 18:52:27 +0200 <geekosaur> it's practically unreadable for haskell code, sorry
2022-08-04 18:52:33 +0200 <geekosaur> I'm patching up what you sent
2022-08-04 18:52:42 +0200 <geekosaur> you misunderstood what I meant somewhat
2022-08-04 18:53:28 +0200 <geekosaur> https://paste.tomsmeding.com/9Q55yHIc
2022-08-04 18:54:19 +0200 <geekosaur> you don't put it inside the list (except the toggleRecentWS part), you append it to the list
2022-08-04 18:54:53 +0200 <geekosaur> I assumed toggleRecentWS because you turn out to already be doing the other one with M-<L> and M-<R>
2022-08-04 18:57:49 +0200 <Guest8311> the part we appended to the list
2022-08-04 18:57:55 +0200 <Guest8311> doesn't compile
2022-08-04 18:59:35 +0200 <Guest8311> https://imgur.com/XvDULLI
2022-08-04 18:59:42 +0200 <Guest8311> This is the error
2022-08-04 18:59:58 +0200 <Guest8311> changing it to emacs style doesn't solve it
2022-08-04 19:01:17 +0200 <geekosaur[m]> It wouldn't. Hold on a few minutes
2022-08-04 19:01:55 +0200 <Guest8311> okay
2022-08-04 19:11:54 +0200 <geekosaur> https://paste.tomsmeding.com/PveoOU9m
2022-08-04 19:12:02 +0200sogens(~sogens@211.30.173.20)
2022-08-04 19:12:04 +0200 <geekosaur> (it's not perl :/)
2022-08-04 19:14:58 +0200 <Guest8311> do i really need both:
2022-08-04 19:14:59 +0200 <Guest8311> import XMonad.Actions.CycleWS
2022-08-04 19:14:59 +0200 <Guest8311> import XMonad.Actions.CycleRecentWS
2022-08-04 19:15:12 +0200 <geekosaur> yes, they do different things
2022-08-04 19:15:21 +0200 <Guest8311> okay
2022-08-04 19:15:41 +0200 <geekosaur> you already have M-<L> and M-<R> to switch to the previous/next workspace by number
2022-08-04 19:16:02 +0200 <Guest8311> no
2022-08-04 19:16:17 +0200 <Guest8311> they just instantly switch to the next or previous workspace
2022-08-04 19:16:32 +0200 <geekosaur> yes
2022-08-04 19:16:50 +0200 <geekosaur> then what did you want M-w p to do?
2022-08-04 19:17:01 +0200 <Guest8311> to switch to recent on
2022-08-04 19:17:14 +0200 <Guest8311> suppose i switch from 1 to 6
2022-08-04 19:17:20 +0200 <geekosaur> right, that's what toggleRecentWS from CycleRecentWS does
2022-08-04 19:17:25 +0200 <Guest8311> then to go back to 1 i just press m-w p
2022-08-04 19:18:04 +0200 <geekosaur> by "by number" I meant that if you were on "5" M-<R> would go to "6"
2022-08-04 19:18:19 +0200 <Guest8311> oh yea
2022-08-04 19:18:30 +0200 <Guest8311> but that would be like switching one by one
2022-08-04 19:18:40 +0200 <Guest8311> sometimes m-w p would be more convenient
2022-08-04 19:18:49 +0200 <Guest8311> btw, have you ever seen this: https://github.com/xmonad/xmonad/issues/152#issuecomment-362716434
2022-08-04 19:18:56 +0200 <geekosaur> yes, that's why I assumes that was what you wanted and brought in toggleRecentWS
2022-08-04 19:19:33 +0200 <geekosaur> I've seen every issue in the tracker, since I'm the primary maintainer 🙂
2022-08-04 19:19:53 +0200 <Guest8311> oh
2022-08-04 19:19:58 +0200 <Guest8311> you're the maintainer
2022-08-04 19:20:02 +0200 <geekosaur> sadly nobody has packaged that up as a contrib, it just gets copied around in people's xmonad.hs files
2022-08-04 19:20:09 +0200 <Guest8311> how do you even get time for all this
2022-08-04 19:20:33 +0200 <Guest8311> but is there a cleaner way to do it?
2022-08-04 19:20:55 +0200 <Guest8311> a packaged contrib also would've been more convenient
2022-08-04 19:22:19 +0200 <sogens[m]1> installing arch linux so i can steal distrotubes xmonad config
2022-08-04 19:22:32 +0200 <sogens[m]1> because im not a pro programmer who can make sick layouts
2022-08-04 19:23:29 +0200 <geekosaur> it looks pretty clean to me as it is, aside from the Eq glitch mentioned later on (which isn't readily fixable without breaking all other uses of Decoration)
2022-08-04 19:23:52 +0200 <Guest8311> Eq glitch?
2022-08-04 19:24:20 +0200 <Guest8311> do you mean where the windows start disappearing and there's decoration artifacts on the screen?
2022-08-04 19:24:22 +0200 <geekosaur> https://github.com/xmonad/xmonad/issues/152#issuecomment-447585325
2022-08-04 19:25:35 +0200 <Guest8311> oh that
2022-08-04 19:27:47 +0200 <geekosaur> decoration artifacts would probably be https://github.com/xmonad/xmonad-contrib/issues/343 and related issues, where layout cleanup messages don't get sent to inactive layouts
2022-08-04 19:28:06 +0200 <geekosaur> we're still working on that one
2022-08-04 19:30:00 +0200 <geekosaur> a bunch of contrib layouts need to be modified to forward cleanup messages to inactive layouts / layout groups
2022-08-04 19:35:27 +0200benin0(~benin@2401:4900:2323:8106:8928:2ec0:5649:e0a1)
2022-08-04 19:37:39 +0200 <geekosaur> also as to maintainers, there are four of us. but three of them are pretty busy of late with other things so I'm kinda holding down the firt. that said Solid was on earlier
2022-08-04 19:37:53 +0200 <geekosaur> and liskin may peek in later
2022-08-04 19:40:46 +0200benin0(~benin@2401:4900:2323:8106:8928:2ec0:5649:e0a1) (Quit: The Lounge - https://thelounge.chat)
2022-08-04 19:41:14 +0200 <geekosaur> *fort
2022-08-04 19:43:52 +0200byorgey(~byorgey@155.138.238.211) (Remote host closed the connection)
2022-08-04 19:44:52 +0200 <Guest8311> xmonad is the best tiling wm
2022-08-04 19:44:58 +0200 <Guest8311> I've tried everything out ther
2022-08-04 19:45:01 +0200 <Guest8311> there*
2022-08-04 19:45:07 +0200 <Guest8311> xmonad is far ahead
2022-08-04 19:45:16 +0200 <Guest8311> is it haskell that's holding it back?
2022-08-04 19:48:05 +0200diep(~diep@2a01:cb11:2d7:4a00:a13f:e40c:c4e8:736c)
2022-08-04 19:49:40 +0200Guest8311(~Guest83@114.143.131.219) (Quit: Client closed)
2022-08-04 19:49:43 +0200 <geekosaur[m]> In the sense that lots of people are afraid of it, yes
2022-08-04 19:51:57 +0200logzet(~quassel@2001:9e8:e50d:7a00:dabb:c1ff:fed3:a1b9)
2022-08-04 20:01:00 +0200 <geekosaur> and you're far from the only one who pops up looking for help with the syntax; I woke up this morning to find 5 or 6 of them with Solid trying to deal with all of them at once 🙂
2022-08-04 20:12:56 +0200Guest8383(~Guest83@114.143.131.219)
2022-08-04 20:13:21 +0200 <Guest8383> geekosaur I came across that fringing problem again
2022-08-04 20:13:32 +0200 <Guest8383> It was one of the reasons I had to write my config from scratch
2022-08-04 20:13:55 +0200 <geekosaur> fringing?
2022-08-04 20:14:02 +0200 <Guest8383> so it seems like "XMonad.Layout.SubLayouts" doesn't play well with decorations
2022-08-04 20:14:06 +0200 <Guest8383> wait ill send a picture
2022-08-04 20:15:03 +0200 <geekosaur> no, it's probably one that fails to send cleanup messages
2022-08-04 20:15:45 +0200 <Guest8383> https://imgur.com/a/dC917ey
2022-08-04 20:19:04 +0200 <Guest8383> Is there a way to fix this?
2022-08-04 20:19:29 +0200 <Guest8383> btw, the problem doesn't occur when I apply the decoration to both the layouts
2022-08-04 20:19:32 +0200 <Guest8383> i have
2022-08-04 20:19:35 +0200 <diep> ReHi guys, Im looking for a way to match on window property class with regex, I want to match "jetbrains-*", but cant figure out how to do this exactly. I found in docs XMonad.Util.WindowPropertiesRE but there is no example how to use these functions :/
2022-08-04 20:19:37 +0200 <geekosaur> the documentation says no
2022-08-04 20:19:43 +0200 <Guest8383> but I don't want the decorations on full
2022-08-04 20:19:51 +0200 <geekosaur> see the very bottom of https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Layout-SubLayouts.html
2022-08-04 20:22:30 +0200 <geekosaur> diep, that's more for layouts like ComboP that want to use "managehooks" as part of a layout
2022-08-04 20:23:02 +0200 <geekosaur> if you have something that does regexp matching then you can use it with fmap / <$>
2022-08-04 20:24:51 +0200 <Guest8383> geekosaur but they mention that subtabbed works well
2022-08-04 20:24:58 +0200 <Guest8383> which is what im using but it fails
2022-08-04 20:25:15 +0200 <Guest8383> everything works well when I apply decorations to all the layouts
2022-08-04 20:25:16 +0200 <geekosaur> they say it works better but still has problems, as I read it
2022-08-04 20:25:31 +0200 <Guest8383> but it works well when i apply it to all the layouts
2022-08-04 20:25:39 +0200 <Guest8383> but i dont want decorations on full
2022-08-04 20:25:42 +0200 <Guest8383> so as a workaround
2022-08-04 20:25:52 +0200 <Guest8383> i thought that ill use jumptolayout
2022-08-04 20:25:57 +0200 <Guest8383> to switch to full
2022-08-04 20:26:09 +0200 <Guest8383> and remove full from my layouthook
2022-08-04 20:26:14 +0200 <Guest8383> how bout that?
2022-08-04 20:26:24 +0200 <geekosaur> jumpToLayout requires it to be part of your layout
2022-08-04 20:26:31 +0200 <Guest8383> ughh
2022-08-04 20:26:34 +0200 <geekosaur> setLayout doesn't
2022-08-04 20:26:54 +0200 <geekosaur> but will be lost of mod0q and in a few other situations
2022-08-04 20:26:55 +0200 <Guest8383> would that solve the problem then?
2022-08-04 20:26:59 +0200 <geekosaur> *on mod-q
2022-08-04 20:27:22 +0200 <Guest8383> lost on recompile and restart?
2022-08-04 20:27:23 +0200 <diep> geekosaur, ok
2022-08-04 20:27:33 +0200 <geekosaur> it might leave the decorations with no way to clear them since there would be no chance to send ReleaseResources
2022-08-04 20:27:54 +0200 <geekosaur> diep, it looks like WindowPropertiesRE gives you a match operator ~?
2022-08-04 20:28:00 +0200 <geekosaur> which works like =?
2022-08-04 20:28:07 +0200 <geekosaur> except it takes a regexp
2022-08-04 20:29:15 +0200 <diep> yes so I'll try to use it
2022-08-04 20:29:24 +0200 <diep> seems to be what Im looking for
2022-08-04 20:29:44 +0200 <diep> I just need to know how I write my regex pattern correctly
2022-08-04 20:29:58 +0200 <diep> maybe `"jetbrains-*"` is okay?
2022-08-04 20:30:10 +0200 <geekosaur> no, that's a glob
2022-08-04 20:30:42 +0200 <geekosaur> but if all you want is for it to match a prefix, how about XMonad.Hooks.ManageHelpers.^=
2022-08-04 20:30:55 +0200 <geekosaur> title ^= "jetbrains-"
2022-08-04 20:31:12 +0200 <diep> yes this is what Im looking for
2022-08-04 20:31:34 +0200 <diep> but ~? "jetbrains-.*" should work too isnt it?
2022-08-04 20:31:47 +0200 <geekosaur> yes, it'll just be slower
2022-08-04 20:32:02 +0200 <geekosaur> I tend to avoid regexp unless I really need it
2022-08-04 20:32:12 +0200 <diep> yes you're probably right
2022-08-04 20:32:17 +0200 <geekosaur> (and I've been using regexps for around 40 years…)
2022-08-04 20:32:37 +0200 <geekosaur> and in particular xmonad-extras drags in a bunch of other dependencies, not just regexps
2022-08-04 20:32:40 +0200 <Guest8383> this doesn't seem to work:
2022-08-04 20:32:41 +0200 <Guest8383>       ("M-u", setLayout "Full"),
2022-08-04 20:33:02 +0200 <geekosaur> no, it'd be `setLayout Full` without the quotes
2022-08-04 20:33:06 +0200 <diep> it was a long run 40 years^^
2022-08-04 20:33:41 +0200 <geekosaur> you're setting it to an actual layout, not to a name to be searched in the current layout
2022-08-04 20:38:18 +0200 <[Leary]> Guest8383: If you don't want `subTabbed` etc on `Full`, perhaps you can just move that under `myDecorate` in `tiled`?
2022-08-04 20:39:54 +0200 <geekosaur> hm, actually if that is your question then the fix is to replace Full with Simplest
2022-08-04 20:40:05 +0200 <geekosaur> but I thought it was about SideDecoration?
2022-08-04 20:41:08 +0200 <geekosaur> (come to think of it that might apply there as well, because Full prunes its window list in ways that can confuse layout modifiers, which is why Simplest exists and is used by tabbed)
2022-08-04 20:42:09 +0200 <diep> geekosaur: the operator from ManageHelpers to match a prefix is `^?` not `^=` :p
2022-08-04 20:42:20 +0200 <geekosaur> whoops, sorry
2022-08-04 20:42:32 +0200 <diep> of course no problem
2022-08-04 20:42:36 +0200geekosauris apparently trying to do too many things at once
2022-08-04 20:42:39 +0200 <diep> thx for the help
2022-08-04 20:42:46 +0200 <geekosaur> I already corrected that typo once even 😕
2022-08-04 20:44:09 +0200 <[Leary]> Well, the problem is just rearranging the layout so that we don't have myDecorate underneath subTabbed, which seems to be achievable if they want `something ||| Full`.
2022-08-04 20:44:46 +0200 <Guest8383> [Leary] It was an easy fix
2022-08-04 20:45:00 +0200 <Guest8383> myLayout = windowNavigation $ boringWindows $ (tiled ||| Full)
2022-08-04 20:45:01 +0200 <Guest8383>   where
2022-08-04 20:45:01 +0200 <Guest8383>     tiled = myDecorate $ subTabbed $ reflectHoriz $ Tall nmaster delta ratio
2022-08-04 20:45:02 +0200 <Guest8383>     nmaster = 1 -- Default number of windows in the master pane
2022-08-04 20:45:02 +0200 <Guest8383>     ratio = 1/2 -- Default proportion of screen occupied by master pane
2022-08-04 20:45:03 +0200 <Guest8383>     delta = 3/100 -- Percent of screen to increment by when resizing panes
2022-08-04 20:45:12 +0200 <Guest8383> I rewrote my entire config thinking everything was broken lol
2022-08-04 20:45:26 +0200 <Guest8383> moving subtabbed to tiled fixed everything
2022-08-04 20:45:42 +0200 <Guest8383> thank you so much [Leary] and geekosaur
2022-08-04 20:45:51 +0200 <Guest8383> you guys are absolutely great****
2022-08-04 20:46:28 +0200 <Guest8383> btw, do i then even need to apply windownavigation and boringwindows on all layouts or do i move them to tiled too?
2022-08-04 20:46:47 +0200 <geekosaur> up to you
2022-08-04 20:46:57 +0200 <geekosaur> not wure WN is all that useful with Full though
2022-08-04 20:46:57 +0200 <Guest8383> but what difference does it make?
2022-08-04 20:47:44 +0200 <geekosaur> and boringWindows just makes WN behave a bit better so they should go together
2022-08-04 20:47:54 +0200 <geekosaur> *sure
2022-08-04 20:48:34 +0200 <Guest8383> okay
2022-08-04 21:00:53 +0200 <Guest8383> also
2022-08-04 21:00:57 +0200 <Guest8383> why doesn't this:
2022-08-04 21:01:00 +0200 <Guest8383>       ("M-u", setLayout Full),
2022-08-04 21:01:02 +0200 <Guest8383> work?
2022-08-04 21:01:13 +0200 <Guest8383>  i don't understand the types expected by setLayout?
2022-08-04 21:01:33 +0200 <geekosaur> oh, hm. I bet it needs a layout wrapped in an existential
2022-08-04 21:01:40 +0200 <geekosaur> that's going to bve harder
2022-08-04 21:02:08 +0200 <geekosaur> but since you've solved the problem with Full in the layout, you can go back to using JumpToLayout
2022-08-04 21:03:31 +0200 <geekosaur> we do something slightly evil with layouts, since otherwise we can't sanely work with them because their types depend on exactly what you've done
2022-08-04 21:06:48 +0200 <diep> In my manageHook, there is a way to add to a match, like `className =? "feh"`, both `doFloat` and `hasBorder False` instructions?
2022-08-04 21:07:43 +0200 <diep> Or I have to write two separate match, one to apply doFloat, the other one hasBorder?
2022-08-04 21:08:44 +0200 <geekosaur[m]> Use `<>` to combine them
2022-08-04 21:09:01 +0200 <diep> I try
2022-08-04 21:10:10 +0200 <diep> thx again, works perfectly
2022-08-04 21:12:22 +0200 <Guest8383> geekosaur ughh
2022-08-04 21:12:33 +0200 <Guest8383> this time I wanted to use another layout to jump to
2022-08-04 21:13:06 +0200 <Guest8383> isn't there a way to jump to a layout and not have to cycle through it
2022-08-04 21:13:19 +0200 <geekosaur[m]> Nope
2022-08-04 21:13:30 +0200 <Guest8383> okay
2022-08-04 21:13:56 +0200 <Guest8383> I would say that one thing is necessary
2022-08-04 21:14:04 +0200 <Guest8383> really needed that
2022-08-04 21:14:48 +0200 <geekosaur[m]> A layout is secretly a function; it has to be run to get to a particular point in it
2022-08-04 21:17:43 +0200 <geekosaur[m]> This is also why you can't go backwards
2022-08-04 21:20:49 +0200 <[Leary]> You can write a layout modifier which takes some `X Bool` predicate (say, reading a toggle from extensible state) and switches into an alternative layout when it holds.
2022-08-04 21:21:00 +0200 <[Leary]> Not sure if we have something like that already.
2022-08-04 21:21:53 +0200 <[Leary]> Oh, actually I guess you need Read?
2022-08-04 21:22:03 +0200 <[Leary]> That's a pain.
2022-08-04 21:22:14 +0200 <geekosaur> see how (|||) works
2022-08-04 21:23:47 +0200 <geekosaur> you can do something like that but you need to hide the predicate inside the implementation
2022-08-04 21:24:16 +0200 <geekosaur> so you could for example take a String and compare it against something in XS
2022-08-04 21:24:45 +0200 <[Leary]> Right, or have it sent with the message, and store the result for runLayout.
2022-08-04 21:24:48 +0200 <geekosaur> you can also send it a predicate via a message, which doesn't require Read since it's not serialized
2022-08-04 21:27:07 +0200 <[Leary]> I suspect this would generalise several layout modifiers...
2022-08-04 21:27:39 +0200 <geekosaur> likely
2022-08-04 21:28:24 +0200 <geekosaur> I think we already have a note in an issue to consider merging some layout modifiers that way, but we decided it would be too confusing for users unless we still provided the originals as wrappers for it
2022-08-04 21:55:19 +0200diep(~diep@2a01:cb11:2d7:4a00:a13f:e40c:c4e8:736c) (Remote host closed the connection)
2022-08-04 22:17:51 +0200 <Guest8383> hey geekosaur
2022-08-04 22:17:56 +0200 <Guest8383> one more thing btw
2022-08-04 22:18:02 +0200 <geekosaur> yes?
2022-08-04 22:18:10 +0200 <Guest8383> when using a subtabbed layout
2022-08-04 22:18:28 +0200 <Guest8383> suppose i have a tabbed group with three tabs on my left half of the screen
2022-08-04 22:18:33 +0200 <Guest8383> and my focus is on that group
2022-08-04 22:18:41 +0200 <Guest8383> then
2022-08-04 22:18:49 +0200 <Guest8383> using the binding to toggle the scratchpads
2022-08-04 22:19:01 +0200 <Guest8383> also affects the tabgroup
2022-08-04 22:19:13 +0200 <Guest8383> in the background it switches to the first tab
2022-08-04 22:19:18 +0200 <Guest8383> why is that?
2022-08-04 22:19:54 +0200 <geekosaur> because there's really only one list of windows for the workspace and it gets ordered somewhat oddly especially when sublayouts are in use
2022-08-04 22:20:02 +0200 <geekosaur> TrackFloating may help some
2022-08-04 22:20:23 +0200 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Layout-TrackFloating.html
2022-08-04 22:20:55 +0200 <geekosaur> but ultimately it's a fundamental bug in how we track windows that is really hard to fix without breaking compatibility
2022-08-04 22:21:29 +0200 <geekosaur> the StackSet is unforgiving and doesn't quite behave the same way people think
2022-08-04 22:22:00 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 22:23:29 +0200 <Guest8383> umm
2022-08-04 22:23:45 +0200 <Guest8383> applying trackfloating to my layout doesn't fix the problem
2022-08-04 22:23:58 +0200 <geekosaur> I did say "may help"
2022-08-04 22:24:10 +0200 <Guest8383> oh so is that something I'll have to live with?
2022-08-04 22:24:20 +0200sogens(~sogens@211.30.173.20)
2022-08-04 22:25:02 +0200 <geekosaur> really, things like floating windows (in particular ones managed in a different way, like scratchpads) really ought to have their own stacks instead of being intermingled into the same underlying workspace stack
2022-08-04 22:25:31 +0200 <Guest8383> but that's not the case here right?
2022-08-04 22:25:36 +0200 <geekosaur> wherever the window gets inserted will affect display of every other window in the stack, leading to the behavior you're seeing. and yes, you'll just have to live with it
2022-08-04 22:25:51 +0200 <Guest8383> ugh
2022-08-04 22:26:19 +0200 <geekosaur> someday I'll get all the old bugs transferred over to github maybe; this was bug 4 in the original bug tracker, to tell you how long it's been around
2022-08-04 22:26:35 +0200 <Guest8383> damn
2022-08-04 22:27:04 +0200 <geekosaur> it is *by far* our biggest shortcoming 😞
2022-08-04 22:27:12 +0200 <Guest8383> why is xmonad's development so slow?
2022-08-04 22:27:37 +0200 <geekosaur> because nobody wants to break the core, including breaking backward compatibility
2022-08-04 22:27:59 +0200 <geekosaur> redoing the StackSet and its relationship to workspaces would break pretty much everything, sadly
2022-08-04 22:28:39 +0200 <Guest8383> so why not do it in an entirely new release
2022-08-04 22:29:01 +0200 <geekosaur> we'd have to remove pretty much all of contrib as part of that release
2022-08-04 22:29:26 +0200 <Guest8383> If that's done then that'll be one of the best days of my life
2022-08-04 22:29:29 +0200 <Guest8383> not kidding
2022-08-04 22:29:37 +0200 <geekosaur> it'd all have to be redone from scratch, and who knows where the original contributors are? and some of the things in there we don't really understand enough to rewrite
2022-08-04 22:29:58 +0200 <geekosaur> like nobody wants to touch MultiToggle
2022-08-04 22:30:12 +0200 <Guest8383> I always dream of xmonad's clone in rust
2022-08-04 22:30:58 +0200 <geekosaur> wouldn't surprise me if it happens, although it's a bit more likely to actually be a dwm clone (xmonad is more or less dwm done in haskell)
2022-08-04 22:31:36 +0200 <Guest8383> so dwm is older than xmonad?
2022-08-04 22:31:44 +0200 <Guest8383> I actually came from dwm
2022-08-04 22:32:02 +0200 <Guest8383> I was tired of patching things and then fixing and fiddling with patches
2022-08-04 22:32:10 +0200 <Guest8383> not the way I'd want to configure things
2022-08-04 22:32:16 +0200 <[Leary]> Guest8383: I wrote X.L.StateFull.focusTracking to fix this issue, but iirc it somewhat duplicated the module geekosaur recommended; I'm not sure how different they are. That said, I don't see why it shouldn't work if you apply it to the sublayout.
2022-08-04 22:32:27 +0200 <Guest8383> and xmonad has more features i think
2022-08-04 22:33:57 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 22:34:06 +0200 <geekosaur> sjanssen came from dwm and felt that a haskell dsl would be an improvement over patching the window manager core to add features, so xmonad was born
2022-08-04 22:34:42 +0200 <geekosaur> the core is still almost identical to what he wrote back in 2006
2022-08-04 22:35:18 +0200 <geekosaur> we've moved some things into the config record that had been hardcoded and added basic support for extensiblestate, but I think that's pretty much it for changes to the core
2022-08-04 22:35:31 +0200 <Guest8383> Isn't janssen the same guy who wrote kmonad?
2022-08-04 22:35:56 +0200 <Guest8383> [Leary] I'm not sure if i did it correctly but doesn't seem to worl
2022-08-04 22:35:59 +0200 <Guest8383> work*
2022-08-04 22:36:05 +0200 <geekosaur> spencer janssen, not david
2022-08-04 22:36:14 +0200sogens(~sogens@211.30.173.20)
2022-08-04 22:36:22 +0200 <Guest8383> oh
2022-08-04 22:36:25 +0200 <Guest8383> hehe
2022-08-04 22:36:29 +0200 <Guest8383> [Leary]
2022-08-04 22:36:30 +0200 <Guest8383> import XMonad.Layout.StateFull (focusTracking)
2022-08-04 22:36:31 +0200 <Guest8383> myLayout = (tiled ||| Full)
2022-08-04 22:36:31 +0200 <Guest8383>   where
2022-08-04 22:36:32 +0200 <Guest8383>     tiled = focusTracking $ myDecorate $ windowNavigation $ subTabbed $ boringWindows $ reflectHoriz $ Tall nmaster delta ratio
2022-08-04 22:37:01 +0200 <[Leary]> Try putting it under subTabbed.
2022-08-04 22:39:24 +0200 <Guest8383> like this:
2022-08-04 22:39:26 +0200 <Guest8383>     tiled = myDecorate $ windowNavigation $ subTabbed $ focusTracking $ boringWindows $ reflectHoriz $ Tall nmaster delta ratio
2022-08-04 22:39:32 +0200 <Guest8383> this failed
2022-08-04 22:47:26 +0200 <Guest8383> [Leary] ?
2022-08-04 22:47:41 +0200 <Guest8383> [Leary]
2022-08-04 22:48:41 +0200 <[Leary]> I don't really know what's going wrong; it's always worked for me. Perhaps below boringWindows too? I can't remember how that one works. But I need to go, so I can't really help more.
2022-08-04 22:49:54 +0200 <Guest8383> do i need refocuslast too?
2022-08-04 22:50:39 +0200 <Guest8383> okay
2022-08-04 22:50:43 +0200 <Guest8383> perhaps some other time
2022-08-04 22:50:51 +0200 <Guest8383> i need to go to
2022-08-04 22:51:00 +0200 <Guest8383> gud night everyone... thanks for all the help
2022-08-04 23:06:54 +0200 <Guest8383> geekosaur what's the recommended way of installing xmonad?
2022-08-04 23:07:07 +0200 <Guest8383> arch package manager or cabal or stack?
2022-08-04 23:07:28 +0200 <Guest8383> I installed using cabal and frequently get errors similar to this:
2022-08-04 23:08:33 +0200 <Guest8383> https://imgur.com/a/Qtsy86y
2022-08-04 23:08:37 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 23:11:53 +0200 <geekosaur> that just looks like a typo (note the case of the ""m")
2022-08-04 23:12:18 +0200 <geekosaur> I think most people use stack, especially on Arch because you have to jump through hoops otherwise
2022-08-04 23:12:25 +0200 <geekosaur> but I use cabal
2022-08-04 23:12:50 +0200 <geekosaur> "Xmonad" vs. "XMonad"
2022-08-04 23:15:08 +0200Guest8383(~Guest83@114.143.131.219) (Ping timeout: 252 seconds)
2022-08-04 23:19:47 +0200sogens(~sogens@211.30.173.20)
2022-08-04 23:19:49 +0200 <geekosaur> whoops
2022-08-04 23:29:11 +0200 <geekosaur> @tell Guest8383 https://ircbrowse.tomsmeding.com/browse/lcxmonad?id=76768#trid76768
2022-08-04 23:29:11 +0200 <lambdabot> Consider it noted.
2022-08-04 23:32:00 +0200 <Etxeberrialex[m]> <Guest8383> "arch package manager or cabal or..." <- I use stack installed with ghcup
2022-08-04 23:46:24 +0200sogens(~sogens@211.30.173.20) (Quit: WeeChat 3.5)
2022-08-04 23:47:34 +0200sogens(~sogens@211.30.173.20)