2023/02/07

2023-02-07 00:28:19 +0100tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2023-02-07 00:47:11 +0100patrl(~patrl@user/patrl)
2023-02-07 01:01:42 +0100Guest33(~Guest33@69.5.126.166)
2023-02-07 01:02:14 +0100 <Guest33> Sorry how can I find what key is S e.g. in M-S ,
2023-02-07 01:03:47 +0100 <Guest33> Sorry I meant C in M-C ,
2023-02-07 01:04:47 +0100 <geekosaur> `xmodmap -pke`. but you almost certainly don't have it as such, because you need the base key and you probably don't have an uppercase letter as an unshifted key
2023-02-07 01:05:00 +0100 <geekosaur> so you would need to use `"M-S-c"`
2023-02-07 01:14:51 +0100 <Guest33> ❯ xmodmap -pke | grep C
2023-02-07 01:14:51 +0100 <Guest33> keycode  37 = Control_L NoSymbol Control_L
2023-02-07 01:14:52 +0100 <Guest33> keycode  54 = c C c C
2023-02-07 01:15:27 +0100 <Guest33> Didn't realize that was literally C
2023-02-07 01:16:10 +0100 <geekosaur> in `"M-C-c"` the first one means the `control` modifier; the second is the keysym
2023-02-07 01:17:22 +0100patrl1(~patrl@user/patrl)
2023-02-07 01:17:40 +0100patrl1(~patrl@user/patrl) (Client Quit)
2023-02-07 01:40:38 +0100Guest33(~Guest33@69.5.126.166) (Ping timeout: 260 seconds)
2023-02-07 01:41:14 +0100[Leary](~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2023-02-07 01:41:45 +0100[Leary](~Leary]@user/Leary/x-0910699)
2023-02-07 02:20:31 +0100thyriaen(~thyriaen@2a01:aea0:dd4:5074:6245:cbff:fe9f:48b1) (Quit: Leaving)
2023-02-07 02:23:16 +0100gknux(~gknux@user/galaxy-knuckles/x-3015990) (Ping timeout: 265 seconds)
2023-02-07 02:23:19 +0100escobear(~gknux@user/galaxy-knuckles/x-3015990)
2023-02-07 02:24:12 +0100escobeargknux
2023-02-07 02:35:27 +0100patrl(~patrl@user/patrl) (Ping timeout: 248 seconds)
2023-02-07 04:02:38 +0100banc(banc@gateway/vpn/protonvpn/banc) (Ping timeout: 255 seconds)
2023-02-07 04:05:04 +0100td_(~td@i5387093f.versanet.de) (Ping timeout: 260 seconds)
2023-02-07 04:06:48 +0100td_(~td@i53870911.versanet.de)
2023-02-07 04:20:44 +0100banc(banc@gateway/vpn/protonvpn/banc)
2023-02-07 05:03:11 +0100td_(~td@i53870911.versanet.de) (Ping timeout: 248 seconds)
2023-02-07 05:04:52 +0100td_(~td@i5387092C.versanet.de)
2023-02-07 06:02:26 +0100ft(~ft@p4fc2a257.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2023-02-07 06:03:44 +0100ft(~ft@p508dbcc4.dip0.t-ipconnect.de)
2023-02-07 07:09:53 +0100scardinal(~supreme@customer-212-237-101-39.ip4.gigabit.dk) (Quit: leaving)
2023-02-07 07:13:26 +0100scardinal(~supreme@customer-212-237-101-39.ip4.gigabit.dk)
2023-02-07 08:12:31 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 248 seconds)
2023-02-07 08:15:25 +0100 <galactic_starfis> <geekosaur> "I suspect it would be easier..." <- Ouch
2023-02-07 08:17:26 +0100 <galactic_starfis> I proposed that tree structure a while ago, and I think that would really work nicely with the Wayland stuff, whenever that finally pans out
2023-02-07 08:18:20 +0100 <galactic_starfis> I simply don't know enough about the internals to really know where to start with this change, and it would require such a large change under the hood to so many modules...
2023-02-07 08:18:33 +0100 <galactic_starfis> Plus a lack of time, and whatnot
2023-02-07 08:20:41 +0100 <galactic_starfis> I just feel like XMonad is on the cusp of being objectively the perfect tiling window manager for the rest of my career, it's just that there's small things that kill me as I work: the `floatsFollowTiled` / similar naming logHook just sometimes doesn't work
2023-02-07 08:20:50 +0100 <galactic_starfis> And it feels like floats are a hack
2023-02-07 08:21:21 +0100 <galactic_starfis> And tabs are a hack (and sadly, as prior conversations have alluded to me - they are...)
2023-02-07 08:22:09 +0100 <galactic_starfis> I think a major internal change would really be beneficial, and I think it should be done in one fell swoop whenever the Wayland work gets done
2023-02-07 08:23:48 +0100 <galactic_starfis> Easier said than done, but I've been on a basic xfce only configuration while I revamp my config because those little paper cuts were getting to be too much on my prior install
2023-02-07 08:24:31 +0100 <galactic_starfis> Anyway, that's quite the rant, point is: xmonad great, near perfection, but needs some major love shown toward its internals
2023-02-07 08:26:43 +0100 <galactic_starfis> * And tabs are a hack
2023-02-07 08:26:43 +0100 <galactic_starfis> and sadly, as you and liskin have alluded to in prior conversations - they are...
2023-02-07 08:26:53 +0100 <galactic_starfis> * And tabs are a hack
2023-02-07 08:26:53 +0100 <galactic_starfis> and sadly, as you and liskin have alluded to in prior conversations - they both are...
2023-02-07 09:04:27 +0100 <Solid> I guess the issue is that none of the current maintainers really use these features, hence they aren't getting the love that some users might want them to get
2023-02-07 09:04:55 +0100 <Solid> (although I guess liskin uses tabs (?))
2023-02-07 09:05:41 +0100 <Solid> see e.g. that one float PR that just needs to be cleaned up and neatly separated into core and contrib part, but I certainly don't want to invest that much time for something I'll never use and I've only ever seen one person ask for
2023-02-07 09:21:12 +0100 <[Leary]> galactic_starfis: We aren't anywhere near perfection---if xmonad is on a cusp, its the breaking point of technical debt. The core is a monolith, its concerns unseparated; the extension system is too weak, too ad hoc. Most extensions must either be hacks or transitively depend on one, thereby inheriting bugs, misbehaviours and unwarranted complexity. For the same reasons, other desirable extensions simply aren't written in the first place.
2023-02-07 09:21:37 +0100 <[Leary]> I don't think it's really about love or what the maintainers use, so much as prohibitive design flaws.
2023-02-07 09:23:46 +0100 <[Leary]> I have a sketch for a redesign that would fix most of the issues (and hopefully allow our X11 dependency to be factored out into a backend), but it's not much worth talking about until I have a working skeleton. It would also require a full rewrite, completely abandoning backwards compat.
2023-02-07 09:26:46 +0100 <geekosaur> well, tabs in particular could be done better, they were a hack on top of Decoration for reasons only Andrea Rossato could tell you
2023-02-07 09:27:31 +0100 <geekosaur> but they're a useful hack that mostly works for simple cases
2023-02-07 09:28:01 +0100 <geekosaur> (I use tabs, but I don't push them very hard)
2023-02-07 09:28:39 +0100 <[Leary]> I also use them, but I wouldn't want to touch the source with a ten foot pole.
2023-02-07 09:31:48 +0100 <[Leary]> "The extension system is too /add hook/" <-- Damn, how did I miss that? <.<
2023-02-07 09:31:54 +0100 <Solid> :D
2023-02-07 09:32:31 +0100 <Solid> I like the hook system, tbh, but I'm also not a software engineer :>
2023-02-07 09:33:12 +0100 <geekosaur> hey, it was a big improvement over `patch`-the-cre dwm when xmonad was written 🙂
2023-02-07 09:33:24 +0100 <geekosaur> *core
2023-02-07 09:34:06 +0100 <geekosaur> xmonad being dwm in Haskell
2023-02-07 09:40:34 +0100 <[Leary]> Solid: Neither am I (by training), and in fact, xmonad's extension system is a big part of what got me interested in software in the first place. Naturally, it's a huge improvement over dwm. But after so many years, the flaws and weaknesses have become much clearer, and harder to keep working around.
2023-02-07 09:46:46 +0100 <[Leary]> If there's one part that's genuinely fairly well designed, it's the layoutHook. But it's too small---it needs to eat the windowset to grow up big and strong.
2023-02-07 09:47:55 +0100 <geekosaur> ironically it's also the part considered least well designed by many because the existential that makes it work is considered an antipattern
2023-02-07 09:48:27 +0100 <geekosaur> (also I'm glad I'm not the only one who's considered that solution to the StackSet disaster)
2023-02-07 09:54:00 +0100 <[Leary]> People are too quick to jump on existentials. There's no real issue there, only the fact that trivial uses can be trivially avoided.
2023-02-07 10:00:19 +0100jifarra[m](~jimfarran@2001:470:69fc:105::2:eab7) (Quit: You have been kicked for being idle)
2023-02-07 10:00:20 +0100unclechu(~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle)
2023-02-07 10:06:00 +0100ft(~ft@p508dbcc4.dip0.t-ipconnect.de) (Quit: leaving)
2023-02-07 10:12:44 +0100mc47(~mc47@xmonad/TheMC47)
2023-02-07 10:28:27 +0100 <vrs> fixing floats would break about half of contrib I'm pretty sure
2023-02-07 10:28:41 +0100unclechu(~unclechu@2001:470:69fc:105::354)
2023-02-07 10:48:54 +0100 <mc47> Ironically, software antipatterns are usually discovered when the software gets too big – which is also the point where fixing them is too costly
2023-02-07 10:50:17 +0100avalandweller
2023-02-07 10:51:45 +0100 <mc47> [Leary]: decoupling from X would be great IMO, but it seems _very_ hard. One example is the event hook. I would've loved to have "window manager" events, and not X events
2023-02-07 10:56:32 +0100cfricke(~cfricke@user/cfricke)
2023-02-07 11:14:00 +0100patrl(~patrl@user/patrl)
2023-02-07 12:10:59 +0100 <[Leary]> mc47: In my sketch, `handle` becomes the outermost "controller module", acting as a translation layer between X11 and our internal WM events. The uses of `handleEventHook` that duplicate fragments of `handle` and inject a little extra code would become clean, backend-independent WM event handlers. The uses that handle new events or completely change xmonad's interpretation of them would instead become extensions to the backend module itself.
2023-02-07 12:12:20 +0100 <[Leary]> The other half of the backend is the part that turns an abstract representation of the view into actual IO.
2023-02-07 12:14:17 +0100 <mc47> It's a cool software engineering challenge, but it needs considerable effort
2023-02-07 12:15:34 +0100 <mc47> My study program offers a "pushing the limits" project where we can choose something to work and gain credit for it. I pitched the idea of working on exactly that point (decoupling xmonad form X) to my colleagues but no one was interested sadly
2023-02-07 12:16:38 +0100 <mc47> They were bit neither by the tiling wm bug nor by the haskell bug :<
2023-02-07 12:27:16 +0100 <[Leary]> That's too bad. But yeah, not very realistic to have them pick up Haskell or work on something they don't understand, let alone both.
2023-02-07 13:30:40 +0100mc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2023-02-07 13:31:55 +0100mc47(~user@xmonad/TheMC47)
2023-02-07 13:34:53 +0100mc47(~user@xmonad/TheMC47) ()
2023-02-07 13:37:33 +0100mc47(~mc47@xmonad/TheMC47)
2023-02-07 13:56:31 +0100banc(banc@gateway/vpn/protonvpn/banc) (Ping timeout: 248 seconds)
2023-02-07 13:57:35 +0100banc(banc@gateway/vpn/protonvpn/banc)
2023-02-07 14:13:16 +0100 <galactic_starfis> [Leary]: is the handle thing your whole idea? or is there more?
2023-02-07 14:14:10 +0100 <galactic_starfis> just wondering because having it all out there even if you don't have a skeleton is helpful for brainstorming and consolidation of efforts
2023-02-07 14:18:46 +0100cfricke(~cfricke@user/cfricke) (Ping timeout: 252 seconds)
2023-02-07 14:30:39 +0100cfricke(~cfricke@user/cfricke)
2023-02-07 14:40:32 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-02-07 14:40:49 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de)
2023-02-07 14:57:09 +0100Thiago[m](~thiagommm@2001:470:69fc:105::3:7da)
2023-02-07 15:06:34 +0100 <[Leary]> galactic_starfis: No, that's just one of the details of decoupling from X11, which itself is something of a sideshow. I don't buy "brainstorming" at this stage; people will only be able to contribute meaningfully to the design if I can express it clearly enough, which means a detailed write-up or a skeleton, the latter of which is easier and more precise.
2023-02-07 15:06:40 +0100 <[Leary]> But to summarise it vaguely, the intent is to achieve separation of concerns and /sustainable extensibility/ by modularisation, delegation and mandatory defunctionalisation. In particular, there would be layout-like message handling classes for models and controllers. The model would be guarded from casual manipulation, only transformed by sending it transformation messages, generating incremental views in the process. The controller would interpret e
2023-02-07 15:06:40 +0100 <[Leary]> vents into sequences of model transformations, combining and rendering the resulting view increments. In practice, both would be composed like layouts, with various layers of modifiers.
2023-02-07 16:10:30 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-02-07 16:22:37 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2023-02-07 17:00:19 +0100unclechu(~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle)
2023-02-07 17:38:00 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
2023-02-07 18:00:19 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-02-07 18:00:36 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de)
2023-02-07 18:03:25 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-02-07 18:08:22 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-02-07 19:44:53 +0100ft(~ft@p508dbcc4.dip0.t-ipconnect.de)
2023-02-07 20:14:31 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-02-07 20:14:49 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de)
2023-02-07 20:37:06 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-02-07 20:37:24 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de)
2023-02-07 20:39:09 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-02-07 20:39:28 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de)
2023-02-07 20:51:46 +0100qlicztbfwliztcbl(~qlicztbfw@p20030100070001210c03c69d935b4fa9.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-02-07 22:30:15 +0100banc(banc@gateway/vpn/protonvpn/banc) (Ping timeout: 252 seconds)
2023-02-07 22:30:31 +0100banc(banc@gateway/vpn/protonvpn/banc)