2022/12/19

2022-12-19 00:05:26 +0000^[(~user@user//x-8473491)
2022-12-19 00:10:24 +0000LemanR(~LemanR@2607:fb90:54b0:6e01:9403:ba62:4ea3:9eb9) (Quit: Client closed)
2022-12-19 00:27:40 +0000Guest4(~Guest4@ip68-101-166-83.sd.sd.cox.net)
2022-12-19 00:28:59 +0000 <Guest4> I've got a question about modifying the list of workspaces in the `XMonad.config` (not the current StackSet)
2022-12-19 00:29:35 +0000 <Guest4> So this lets me query the list of WorkspaceIds in the config:
2022-12-19 00:29:35 +0000 <Guest4> ```
2022-12-19 00:29:36 +0000 <Guest4> workspacesInConfig :: X [WorkspaceId]
2022-12-19 00:29:36 +0000 <Guest4> workspacesInConfig = asks (XMonad.workspaces . XMonad.config)
2022-12-19 00:29:37 +0000 <Guest4> ```
2022-12-19 00:30:55 +0000 <Guest4> What is the idiomatic analogue of this for modification?
2022-12-19 00:31:41 +0000 <geekosaur> you can't modify it; it's read-only
2022-12-19 00:33:03 +0000 <geekosaur> you can modify the workspaces in the StackSet, but you need some way to access them afterward because you can't rebind the keys that were defined using the read-only list of workspaces
2022-12-19 00:33:24 +0000 <Guest4> That makes sense
2022-12-19 00:33:47 +0000 <Guest4> related question
2022-12-19 00:34:50 +0000 <Guest4> well, really just a rephrasing of my question to make sure it's clear
2022-12-19 00:35:01 +0000 <Guest4> is there a way of essentially updating (in a normal functional way = generating a new modified value) the config with a modified list of workspaces?
2022-12-19 00:36:31 +0000 <Guest4> The context for asking is that I'm trying to simultaneously use `XMonad.Actions.TreeSelect` and functions that rename/add to/remove from the workspaces in the StackSet
2022-12-19 00:38:30 +0000 <geekosaur> do you know what the Reader monad is?
2022-12-19 00:38:33 +0000 <Guest4> Yes
2022-12-19 00:39:09 +0000ft(~ft@p4fc2a257.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-12-19 00:39:42 +0000 <Guest4> So basically you're telling me that the relevant value I'm asking about is never meant to modified after initialization
2022-12-19 00:39:42 +0000 <geekosaur> the XMonad configuration is stored in a Reader, so it can be accessed but not modified. there are no tricks to get around this, and everything else assumes this so won't look for changes anyway
2022-12-19 00:39:49 +0000 <geekosaur> correct
2022-12-19 00:39:52 +0000 <Guest4> Yeah ok
2022-12-19 00:40:34 +0000 <Guest4> Alright
2022-12-19 00:40:54 +0000ft(~ft@p4fc2a257.dip0.t-ipconnect.de)
2022-12-19 00:42:06 +0000 <Guest4> So I'm currently trying to accomplish my goal by using `XMonad.Util.ExtensibleState` to create a `TreeZipper WorkspaceId` that essentially parallels some of the information in the `StackSet`
2022-12-19 00:42:19 +0000 <geekosaur> right. the list of workspaces in particular is there only for reference; the "live" version is the StackSet
2022-12-19 00:43:21 +0000 <Guest4> yeah - and a lot of code is written in a way that grabs information from the static, totally ordered list of workspaces from the initial config rather than the StackSet
2022-12-19 00:43:28 +0000 <Guest4> which I understand why
2022-12-19 00:44:29 +0000 <Guest4> but I've written a bunch of tweaked versions of operations for navigating/updating workspaces that update the treezipper state appropriately
2022-12-19 00:44:33 +0000 <geekosaur> one reason for that is it gives you the possibility for "hidden" workspaces, which for example NamedScratchpads uses to put hidden scratchpads in an "NSP" workspace
2022-12-19 00:45:19 +0000 <Guest4> and nevertheless I keep finding situations where there are calls that cause the current workspace to change that I didn't anticipate
2022-12-19 00:45:34 +0000 <Guest4> and then the TreeZipper and the StackSet end up unsynced
2022-12-19 00:45:59 +0000 <Guest4> (I have a keybinding to manually update the TreeZipper, but this is Not Ideal)
2022-12-19 00:46:08 +0000 <geekosaur> you could probably stick something to resync them in logHook
2022-12-19 00:46:24 +0000 <Guest4> that is exactly what I was hoping someone would say!
2022-12-19 00:48:37 +0000 <Guest4> I am having trouble figuring out how exactly to use logHook, however
2022-12-19 00:48:55 +0000 <Guest4> Like - when is whatever's in the logHook run?
2022-12-19 00:49:07 +0000 <Guest4> what is the type of information that is available?
2022-12-19 00:49:26 +0000 <geekosaur> it's the last step of XMonad.Operations.windows, which is the master function that handles all focus, workspace, etc. changes
2022-12-19 00:50:16 +0000 <geekosaur> it is not passed anything explicitly but it can access the StackSet (`gets windowset`) so you can see what workspace is current and adjust your TreeZipper as needed
2022-12-19 00:51:24 +0000 <geekosaur> since it's in X, all read-only (asks) and mutable (gets) state is available to it
2022-12-19 00:54:07 +0000 <geekosaur> the only restriction is that, since it's run in X.O.windows, you can't run X.O.windows from it without causing an infinite loop
2022-12-19 00:54:35 +0000 <geekosaur> (unless you are very careful to avoid such loop)
2022-12-19 00:55:54 +0000 <Guest4> that makes sense
2022-12-19 00:56:05 +0000 <Guest4> that's very helpful, thank you!
2022-12-19 00:58:52 +0000 <geekosaur> if you need a pointer to the exact state information, X is StateT XState (ReaderT XConf IO). XState and XConf are defined in XMonad.Core.
2022-12-19 01:10:09 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Quit: WeeChat 3.7.1)
2022-12-19 01:10:37 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 02:45:26 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Quit: WeeChat 3.7.1)
2022-12-19 03:04:30 +0000banc(banc@gateway/vpn/protonvpn/banc) (Ping timeout: 268 seconds)
2022-12-19 03:10:03 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-12-19 03:15:16 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 03:19:50 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Client Quit)
2022-12-19 03:24:53 +0000banc(banc@gateway/vpn/protonvpn/banc)
2022-12-19 03:31:44 +0000td_(~td@83.135.9.47) (Ping timeout: 252 seconds)
2022-12-19 03:33:30 +0000td_(~td@83.135.9.40)
2022-12-19 03:47:47 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-12-19 03:50:23 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-12-19 04:15:01 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 04:22:14 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Quit: WeeChat 3.7.1)
2022-12-19 04:23:48 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 04:27:09 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Client Quit)
2022-12-19 04:53:33 +0000Guest4(~Guest4@ip68-101-166-83.sd.sd.cox.net) (Ping timeout: 260 seconds)
2022-12-19 05:08:32 +0000ectospasm(~ectospasm@user/ectospasm) (Ping timeout: 252 seconds)
2022-12-19 05:12:21 +0000ectospasm(~ectospasm@user/ectospasm)
2022-12-19 05:26:07 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 06:09:40 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Quit: WeeChat 3.7.1)
2022-12-19 06:10:02 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 06:12:36 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Client Quit)
2022-12-19 06:12:58 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 06:36:55 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Quit: WeeChat 3.7.1)
2022-12-19 06:39:37 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 06:56:56 +0000telser(~quassel@user/telser) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-12-19 06:58:38 +0000mncheck(~mncheck@193.224.205.254)
2022-12-19 07:00:55 +0000mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-12-19 07:06:19 +0000mncheck(~mncheck@193.224.205.254)
2022-12-19 07:10:24 +0000telser(~quassel@user/telser)
2022-12-19 08:19:47 +0000alexiscott(~user@4.red-83-36-45.dynamicip.rima-tde.net)
2022-12-19 08:21:14 +0000alexiscott(~user@4.red-83-36-45.dynamicip.rima-tde.net) (Client Quit)
2022-12-19 08:50:53 +0000 <xmonadtrack> New branch created: pull/432 (6 commits) https://github.com/xmonad/xmonad/pull/432
2022-12-19 08:54:47 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Quit: WeeChat 3.7.1)
2022-12-19 09:12:58 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 09:24:11 +0000cfricke(~cfricke@user/cfricke)
2022-12-19 09:26:46 +0000sogens_(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 09:28:41 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Ping timeout: 268 seconds)
2022-12-19 09:31:34 +0000 <xmonadtrack> New branch created: pull/433 (7 commits) https://github.com/xmonad/xmonad/pull/433
2022-12-19 09:49:34 +0000xacktm(~xacktm@user/xacktm) (Ping timeout: 265 seconds)
2022-12-19 09:51:54 +0000 <xmonadtrack> New branch created: pull/434 (8 commits) https://github.com/xmonad/xmonad/pull/434
2022-12-19 10:08:33 +0000ft(~ft@p4fc2a257.dip0.t-ipconnect.de) (Quit: leaving)
2022-12-19 10:27:29 +0000 <xmonadtrack> New branch created: pull/435 (7 commits) https://github.com/xmonad/xmonad/pull/435
2022-12-19 10:42:04 +0000lokesh1197(~Thunderbi@14.102.72.155)
2022-12-19 10:47:26 +0000xacktm(~xacktm@user/xacktm)
2022-12-19 10:54:45 +0000lokesh1197(~Thunderbi@14.102.72.155) (Ping timeout: 260 seconds)
2022-12-19 10:55:28 +0000sogens_(sogens@gateway/vpn/protonvpn/sogens) (Quit: WeeChat 3.7.1)
2022-12-19 11:00:11 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 11:03:59 +0000lokesh1197(~Thunderbi@14.102.72.155)
2022-12-19 11:08:23 +0000lokesh1197(~Thunderbi@14.102.72.155) (Ping timeout: 260 seconds)
2022-12-19 11:29:24 +0000lambdabot(~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
2022-12-19 11:30:43 +0000lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-12-19 11:43:44 +0000 <xmonadtrack> New branch created: pull/436 (8 commits) https://github.com/xmonad/xmonad/pull/436
2022-12-19 11:46:52 +0000 <[Leary]> That's probably it for tonight. These were delayed due to a couple of weaknesses I noticed while I was turning the commit messages into PRs. I probably could have forced them through in the promised time frame, but honestly I didn't have the determination ... I plan to accept my trouting with dignity.
2022-12-19 11:47:35 +0000 <[Leary]> There's still sister PRs for contrib and maybe another for core, but they'll have to wait a little.
2022-12-19 12:06:26 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Ping timeout: 272 seconds)
2022-12-19 12:36:00 +0000xacktm(~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-12-19 12:47:11 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 13:27:51 +0000xacktm(~xacktm@user/xacktm)
2022-12-19 13:35:17 +0000lokesh1197(~Thunderbi@14.102.72.154)
2022-12-19 13:35:58 +0000mvk(~mvk@2607:fea8:5ce3:8500::6126)
2022-12-19 13:37:06 +0000mvk(~mvk@2607:fea8:5ce3:8500::6126) (Client Quit)
2022-12-19 13:42:24 +0000lokesh1197(~Thunderbi@14.102.72.154) (Quit: lokesh1197)
2022-12-19 13:46:58 +0000lokesh1197(~Thunderbi@14.102.72.154)
2022-12-19 14:07:24 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Ping timeout: 272 seconds)
2022-12-19 14:29:42 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 14:32:12 +0000 <geekosaur> I don't promise anyone will get to them any time soon; I have a PR waiting myself because I don't commit my own PRs nunless it's doc-only (and in that case it's usually a direct commit anyway)
2022-12-19 14:40:53 +0000rekahsoft(~rekahsoft@2605:8d80:6e2:a50e:e78b:13e9:40ed:3d2c)
2022-12-19 14:54:13 +0000 <liskin> Also it's quite heavy stuff :-)
2022-12-19 15:11:39 +0000sogens(sogens@gateway/vpn/protonvpn/sogens) (Ping timeout: 260 seconds)
2022-12-19 15:21:27 +0000geekosaurgets around to looking (got a number of other things going on, mostly personal)
2022-12-19 15:21:32 +0000 <geekosaur> oh, my
2022-12-19 15:37:31 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7.1)
2022-12-19 16:35:18 +0000rekahsoft(~rekahsoft@2605:8d80:6e2:a50e:e78b:13e9:40ed:3d2c) (Ping timeout: 260 seconds)
2022-12-19 17:16:57 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-12-19 17:20:46 +0000td_(~td@83.135.9.40) (Quit: waking up from the american dream ...)
2022-12-19 17:33:24 +0000td_(~td@83.135.9.40)
2022-12-19 18:23:11 +0000Jade[m]Jadesheit[m]
2022-12-19 18:29:53 +0000lokesh1198(~Thunderbi@14.139.128.60)
2022-12-19 18:30:14 +0000lokesh1197(~Thunderbi@14.102.72.154) (Ping timeout: 272 seconds)
2022-12-19 18:30:14 +0000lokesh1198lokesh1197
2022-12-19 18:33:44 +0000koluacik(~koluacik@165.227.171.188) (Quit: ZNC - https://znc.in)
2022-12-19 18:34:06 +0000koluacik(~koluacik@165.227.171.188)
2022-12-19 18:48:36 +0000thunderrd_(~thunderrd@183.182.111.182) (Ping timeout: 272 seconds)
2022-12-19 19:01:53 +0000thunderrd_(~thunderrd@183.182.111.27)
2022-12-19 19:05:42 +0000lokesh1197(~Thunderbi@14.139.128.60) (Ping timeout: 272 seconds)
2022-12-19 19:53:23 +0000sogens(sogens@gateway/vpn/protonvpn/sogens)
2022-12-19 19:55:14 +0000ft(~ft@p4fc2a257.dip0.t-ipconnect.de)
2022-12-19 20:03:52 +0000mvk(~mvk@2607:fea8:5ce3:8500::6126)
2022-12-19 20:04:07 +0000mvk(~mvk@2607:fea8:5ce3:8500::6126) (Client Quit)
2022-12-19 20:29:07 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-12-19 20:29:07 +0000allbery_b(~geekosaur@xmonad/geekosaur)
2022-12-19 20:29:10 +0000allbery_bgeekosaur
2022-12-19 20:29:18 +0000xmonadtrack(~xmonadtra@xmonad/geekosaur) (Ping timeout: 272 seconds)
2022-12-19 20:50:16 +0000xmonadtrack(~xmonadtra@069-135-003-034.biz.spectrum.com)
2022-12-19 20:50:16 +0000xmonadtrack(~xmonadtra@069-135-003-034.biz.spectrum.com) (Changing host)
2022-12-19 20:50:16 +0000xmonadtrack(~xmonadtra@xmonad/geekosaur)
2022-12-19 20:55:49 +0000td_(~td@83.135.9.40) (Ping timeout: 260 seconds)
2022-12-19 21:49:57 +0000td_(~td@83.135.9.40)
2022-12-19 22:24:22 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2022-12-19 22:36:21 +0000mc47(~mc47@xmonad/TheMC47)
2022-12-19 22:38:24 +0000mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)