Home liberachat/#xmonad: Logs Calendar

Logs: liberachat/#xmonad

←Prev  Next→ 184,212 events total
2025-09-11 15:52:55 <Enrico63> I use XMobar, which shows various things, among which the name (I suppose the result of show) of the current layout. If I wanted to always show all layouts in a given moment (maybe highlighting the current one in bold), I would be hitting the same limitation, right?
2025-09-11 15:53:18 <geekosaur> right. Choose happens to act mostly like a list, but other things act in more complex ways
2025-09-11 15:53:46 <geekosaur> because what you're not seeing there is the LayoutClass, which is where the real work is done (in doLayout)
2025-09-11 15:54:03 <geekosaur> which means it's not just a renamed list, it's a smart list
2025-09-11 15:54:12 <geekosaur> it's a programmable `:`
2025-09-11 15:54:32 <geekosaur> but it does share with lists that there can't be back-pointers, only forward
2025-09-11 15:54:38 <Enrico63> So it is not even possible to query "what would be the next layout if I press now Super+Space?",  is it?
2025-09-11 15:54:53 <geekosaur> right
2025-09-11 15:55:30 <haskellbridge> <Solid (@slot-:matrix.org)> You can, however, jump to an arbitrary layout (that you know by name) by your way of "trying the next thing"
2025-09-11 15:57:19 <Enrico63> haskellbridge, but that wouldn't solve the problem, would it? I mean, where do I get the name of the previous layout from?
2025-09-11 15:58:37 <Solid> You can't really in a general way, which is why it doesn't solve the problem
2025-09-11 15:58:55 <Solid> But for your user-specified layout you can make a lookup table if you want
2025-09-11 15:59:04 <Solid> and then bind that to a key
2025-09-11 16:00:01 <Enrico63> geekosaur, however the key bindings are `[(String, X ())]`, so the actions have all the power of `X ()`, right? In theory it would be possible to query the name of the current layout, apply next layout repeatedly until we get to the same layout by name, and keep a count in between, then reapply next layout that count-1 times. Sounds as ugly  as it
2025-09-11 16:00:02 <Enrico63> can be, and I'm not even going to try, but I'm curious to know if it could work.
2025-09-11 16:01:10 <Leary> You can interrogate the layout by pulling it out of the `WindowSet` and manually applying `handleMessage`/`description`.
2025-09-11 16:02:35 <Leary> That's enough to get the "name" of the next layout, anyway, which you could indeed iterate until you see a repeat.
2025-09-11 16:02:38 <geekosaur> there is a JumpToLayout message which works by name
2025-09-11 16:04:19 <Enrico63> Solid, you mean that if I have `a ||| b ||| c` somewhere to make the layouts, I could have a `[a, b, c]` and then pass that to a key binding, while passing the |||-based fold to xmonad?
2025-09-11 16:05:11 <Enrico63> The more I understand of XMonad, the more I question whether I'm turing-complete at all X)
2025-09-11 16:12:01 <geekosaur> it's just complex in the name of flexibility
2025-09-11 16:12:18 <geekosaur> but any time you add flexibility in one dimension, you lose it in others
2025-09-11 16:14:03 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-11 16:15:58 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
2025-09-11 16:29:38 <Solid> Enrico63: Yeah, something like that. Query the name of the current layout, look that up in the list, and jump to the one you want
2025-09-11 16:39:31 <Leary> Enrico63: Try this: https://gist.github.com/LSLeary/28e2157ccb7eb83cf6b63d9a5aed4dd0
2025-09-11 16:44:12 <Solid> oh yeah doing it this way is much smarter
2025-09-11 16:53:32 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
2025-09-11 18:22:01 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-11 19:09:02 × byorgey quits (~byorgey@user/byorgey) (Ping timeout: 260 seconds)
2025-09-11 19:09:20 byorgey joins (~byorgey@user/byorgey)
2025-09-11 19:19:42 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
2025-09-11 19:37:21 hightower4 joins (~hightower@cpe-94-253-191-254.zg.cable.xnet.hr)
2025-09-11 19:39:57 × hightower2 quits (~hightower@cpe-94-253-191-254.zg.cable.xnet.hr) (Ping timeout: 260 seconds)
2025-09-11 19:43:31 <Enrico63> Leary, it works, thnaks!
2025-09-11 19:51:47 × Solid quits (~slot@xmonad/slotThe) (Quit: ERC 5.6.1-git (IRC client for GNU Emacs 31.0.50))
2025-09-11 20:54:22 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-11 20:55:52 Guest1 joins (~Guest1@ip174-65-196-198.sd.sd.cox.net)
2025-09-11 21:04:47 × Guest1 quits (~Guest1@ip174-65-196-198.sd.sd.cox.net) (Ping timeout: 250 seconds)
2025-09-12 00:11:29 × hightower4 quits (~hightower@cpe-94-253-191-254.zg.cable.xnet.hr) (Ping timeout: 250 seconds)
2025-09-12 00:22:46 × yaslam quits (~yaslam@user/yaslam) (Ping timeout: 256 seconds)
2025-09-12 00:23:05 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
2025-09-12 00:23:38 yaslam joins (~yaslam@user/yaslam)
2025-09-12 02:43:14 × terrorjack quits (~terrorjac@2a01:4f8:c17:9d11::) (Quit: The Lounge - https://thelounge.chat)
2025-09-12 02:45:43 terrorjack joins (~terrorjac@2a01:4f8:c17:9d11::)
2025-09-12 03:26:06 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-15-174-95-4-83.dsl.bell.ca)
2025-09-12 03:38:18 ChubaDuba joins (~ChubaDuba@46.147.210.91)
2025-09-12 06:12:03 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
2025-09-12 06:26:49 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
2025-09-12 06:40:30 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-12 07:37:46 Solid joins (~slot@xmonad/slotThe)
2025-09-12 09:09:47 × sajenim quits (~sajenim@user/sajenim) (Ping timeout: 248 seconds)
2025-09-12 09:53:17 × ChubaDuba quits (~ChubaDuba@46.147.210.91) (Quit: WeeChat 4.6.3)
2025-09-12 10:54:09 × haskellbridge quits (~hackager@syn-096-028-224-214.res.spectrum.com) (Remote host closed the connection)
2025-09-12 10:57:04 haskellbridge joins (~hackager@syn-096-028-224-214.res.spectrum.com)
2025-09-12 11:44:15 × Solid quits (~slot@xmonad/slotThe) (Remote host closed the connection)
2025-09-12 11:54:17 × catman quits (~catman@user/catman) (Quit: WeeChat 4.7.1)
2025-09-12 11:58:08 catman joins (~catman@user/catman)
2025-09-12 12:37:46 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
2025-09-12 12:42:19 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
2025-09-12 13:01:52 tremon joins (~tremon@83.80.159.219)
2025-09-12 14:15:19 xnxn joins (~xnxn@dslb-002-206-034-018.002.206.pools.vodafone-ip.de)
2025-09-12 14:18:08 × xnxn quits (~xnxn@dslb-002-206-034-018.002.206.pools.vodafone-ip.de) (Client Quit)
2025-09-12 14:21:46 <liskin> Hm I think i have a similar thing somewhere. I thought I posted it upstream. Maybe not
2025-09-12 14:23:22 <liskin> https://github.com/liskin/dotfiles/blob/home/.xmonad/XMonad/Hooks/LayoutHistory.hs - looks like I haven't
2025-09-12 14:23:26 <liskin> wish I remebered why
2025-09-12 14:25:08 <liskin> probably because it assumes the set of all WorkspaceIds doesn't grow too big, which is a sensible assumption in most configs but maybe not all; although the memory consumption might still be negligible compared to the crap software people tend to run these days
2025-09-12 14:32:01 Solid joins (~slot@xmonad/slotThe)
2025-09-12 15:20:36 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-09-12 16:41:47 × catman quits (~catman@user/catman) (Quit: WeeChat 4.7.1)
2025-09-12 16:43:39 catman joins (~catman@user/catman)
2025-09-12 16:53:08 × catman quits (~catman@user/catman) (Quit: WeeChat 4.7.1)
2025-09-12 17:29:58 catman joins (~catman@user/catman)
2025-09-12 17:30:10 × Solid quits (~slot@xmonad/slotThe) (Quit: ERC 5.6.1-git (IRC client for GNU Emacs 31.0.50))
2025-09-13 00:13:12 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
2025-09-13 13:46:47 Guest55 joins (~Guest55@142-73-208-87.ftth.glasoperator.nl)
2025-09-13 13:47:11 <Guest55> is it true that xnomad is built in haskell?
2025-09-13 13:47:18 × catman quits (~catman@user/catman) (Quit: WeeChat 4.7.1)
2025-09-13 13:47:41 × Guest55 quits (~Guest55@142-73-208-87.ftth.glasoperator.nl) (Client Quit)
2025-09-13 13:54:35 catman joins (~catman@user/catman)
2025-09-13 13:55:06 × catman quits (~catman@user/catman) (Client Quit)
2025-09-13 13:55:27 catman joins (~catman@user/catman)
2025-09-13 13:56:29 tremon joins (~tremon@83.80.159.219)
2025-09-13 14:39:33 <Digit> what's xnomad? the marketplace thing? the portable monitors thing? or a dyslexic misspelling of xmonad (which is built in haskell, yup)?
2025-09-13 14:46:59 <geekosaur> they're gone
2025-09-13 15:40:52 <Digit> i noticed. still wondered if there were some xmonad related thing called xnomad, maybe others know what websearch was not forthcoming about.
2025-09-13 15:50:30 <geekosaur> no, pretty sure that's people just misreading as something they're more familiar with
2025-09-13 15:51:04 <geekosaur> (i.e "nomad" is a relatively common word, at least as compared to "monad")
2025-09-13 16:03:21 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
2025-09-13 16:05:07 xnxn joins (~xnxn@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
2025-09-13 16:30:45 xnxn16 joins (~xnxn@dynamic-176-001-195-073.176.1.pool.telefonica.de)
2025-09-13 16:31:12 × xnxn quits (~xnxn@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Quit: Client closed)
2025-09-13 16:31:39 × xnxn16 quits (~xnxn@dynamic-176-001-195-073.176.1.pool.telefonica.de) (Client Quit)
2025-09-13 16:36:55 xnxn joins (~xnxn@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
2025-09-13 16:53:00 × xnxn quits (~xnxn@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Quit: Client closed)
2025-09-13 17:35:19 xnxn joins (~xnxn@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
2025-09-13 17:36:25 × xnxn quits (~xnxn@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Client Quit)
2025-09-13 17:47:04 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2025-09-13 18:33:25 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 250 seconds)
2025-09-13 18:36:01 werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com)

All times are in UTC.