Logs: liberachat/#xmonad
| 2025-08-13 20:26:25 | <geekosaur> | this also breaks some extensions (notably the tabbed family), which is why Simplest exists |
| 2025-08-13 20:26:58 | <geekosaur> | specifically, you would get a tab only for the topmost window with Tabbed Full |
| 2025-08-13 20:27:23 | <haskellbridge> | <iqubic (she/her)> Is there any downside to using Simplest everywhere instead of Full? |
| 2025-08-13 20:27:40 | <haskellbridge> | <iqubic (she/her)> Also will using Simplest break NamedScratchpads? |
| 2025-08-13 20:28:10 | <geekosaur> | a little bit of a slowdown and a little more memory used, but in both cases you'd be getting the same thing other window managers do and the differences aren't enough to notice |
| 2025-08-13 20:29:16 | <geekosaur> | NamedScratchpads doesn't care, because they're floats and therefore not managed by the layout (trying to use tiled windows as scratchpads will behave very oddly regardless) |
| 2025-08-13 20:30:38 | <geekosaur> | tabbed (and other layout modifiers that associate additional windows, as for example DwmStyle) will only assign their windows to mapped windows |
| 2025-08-13 20:31:37 | <haskellbridge> | <iqubic (she/her)> Got it. And Full only maps the top window in the stack? |
| 2025-08-13 20:31:52 | <haskellbridge> | <iqubic (she/her)> That's the main difference when compared with Simplest? |
| 2025-08-13 20:31:58 | <geekosaur> | correct, by only returning a rectangle for that window |
| 2025-08-13 20:32:53 | <geekosaur> | layouts are given a list of windows and a screen region, and produce a list of rectangles saying where the windows are to be positioned/sized. any window not assigned a rectangle gets unmapped |
| 2025-08-13 20:34:24 | <haskellbridge> | <iqubic (she/her)> Right. I see. What happens when XMonad is told to render multiple windows in overlapping locations? |
| 2025-08-13 20:36:07 | <geekosaur> | it does so, and the X server draws whatever is visible based on the reverse order of mapping (so the last one mapped is topmost) |
| 2025-08-13 20:36:41 | <geekosaur> | in essence, you're putting windows on top of each other |
| 2025-08-13 20:38:08 | <haskellbridge> | <iqubic (she/her)> I find it funny that Simplest is actually more code than Full, because Full just seems to be using the default implementations from the LayoutClass class |
| 2025-08-13 20:38:38 | <haskellbridge> | <iqubic (she/her)> Literally the code is just "instance LayoutClass Full a" |
| 2025-08-13 20:38:41 | <haskellbridge> | <iqubic (she/her)> vs |
| 2025-08-13 20:39:16 | <haskellbridge> | <iqubic (she/her)> I love how the default is to only map visible windows. |
| 2025-08-13 20:42:23 | <geekosaur> | well, aside from the fact that it completely breaks screen sharing utilities and a few other similar things that want access to the contents of hidden windows |
| 2025-08-13 20:42:54 | <haskellbridge> | <iqubic (she/her)> Yeah. I get that. |
| 2025-08-13 20:43:10 | <haskellbridge> | <iqubic (she/her)> Simplest is what I want. Let me see if that works. |
| 2025-08-13 20:43:10 | <geekosaur> | and yes, Full is just the default. which is also why if something goes wrong in your layout for some reason (e.g. it throws an exception), xmonad degrades to Full (actually, the default implementation) |
| 2025-08-13 20:47:27 | × | samhh quits (7569f027cf@2a03:6000:1812:100::e4) (Server closed connection) |
| 2025-08-13 20:47:36 | → | samhh_ joins (7569f027cf@2a03:6000:1812:100::e4) |
| 2025-08-13 20:48:21 | <haskellbridge> | <iqubic (she/her)> If workspace 1 is set to Simplest and workspace 2 is set to Tall and workspace 2 is currently focused, will that still unmap the windows on workspace 1? |
| 2025-08-13 20:48:50 | <geekosaur> | if it's not visible (i.e. multi-monitor) |
| 2025-08-13 20:49:05 | <haskellbridge> | <iqubic (she/her)> Like, does setting a workspace to the layout "simplest" prevent the windows from being unmapped when the workspace isn't visible? |
| 2025-08-13 20:49:48 | <geekosaur> | that's the case where other window managers move things offscreen instead so they're still mapped and therefore contents available to other programs |
| 2025-08-13 20:50:16 | <haskellbridge> | <iqubic (she/her)> Ah. I see. I can work with this. |
| 2025-08-13 20:50:25 | <geekosaur> | this is probably something we should consider changing, although I think Full needs to keep its current behavior |
| 2025-08-13 20:51:50 | <haskellbridge> | <iqubic (she/her)> It would be a big change though. |
| 2025-08-13 20:53:07 | <geekosaur> | I don't think it would actually be that big. XMonad.Operations.windows would need to change what it's doing, but that would be invisible to everything but v4l or XImage consumers |
| 2025-08-13 20:55:51 | <geekosaur> | layout modifiers would still go by the windows inbound and rectangles outbound, map state is irrelevant (and must be because it all happens _before_ the result is displayed) |
| 2025-08-13 20:58:51 | <haskellbridge> | <iqubic (she/her)> Interesting. I'm not sure how useful this change would be. |
| 2025-08-13 20:59:21 | <haskellbridge> | <iqubic (she/her)> Simplest works well enough for me. |
| 2025-08-13 21:18:26 | <haskellbridge> | <iqubic (she/her)> Is there a way to modify a layout to never have an boarders? |
| 2025-08-13 21:20:01 | <haskellbridge> | <iqubic (she/her)> I have this: https://github.com/IQubic/nixos-config/blob/master/hm/xmonad/XMonad.hs#L88-L103 |
| 2025-08-13 21:20:20 | <geekosaur> | https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Layout-NoBorders.html https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Layout-VoidBorders.html (different behaviors) |
| 2025-08-13 21:20:29 | <haskellbridge> | <iqubic (she/her)> layoutHook = avoidStruts $ smartBorders $ windowNavigation $ myLayoutHook |
| 2025-08-13 21:21:02 | <haskellbridge> | <iqubic (she/her)> The thing I want to do is make it so that the Simplest Layout doesn't have ever have any boarders. |
| 2025-08-13 21:21:17 | <haskellbridge> | <iqubic (she/her)> But I'm not sure how to modify my layout to do that. |
| 2025-08-13 21:21:37 | <geekosaur> | NoBorders Simplest |
| 2025-08-13 21:21:59 | <haskellbridge> | <iqubic (she/her)> Will there be a conflict with smartBoarders at the bottom of the file? |
| 2025-08-13 21:22:06 | <geekosaur> | sorry, make that noBorders Simplest |
| 2025-08-13 21:23:07 | <geekosaur> | yesit'll override the smartBorders behavior, at the possible price of border "flashing" on changing workspaces |
| 2025-08-13 21:23:17 | <geekosaur> | -yes |
| 2025-08-13 21:23:46 | <haskellbridge> | <iqubic (she/her)> Interesting. That's fine. |
| 2025-08-13 21:29:55 | <haskellbridge> | <iqubic (she/her)> I'm actually not getting any border flashing. |
| 2025-08-14 00:42:57 | → | werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 2025-08-14 01:32:19 | × | ft quits (~ft@p508dbd8e.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2025-08-14 01:54:12 | → | ft joins (~ft@p508dba54.dip0.t-ipconnect.de) |
| 2025-08-14 02:11:07 | × | td_ quits (~td@i5387090d.versanet.de) (Ping timeout: 260 seconds) |
| 2025-08-14 02:13:00 | → | td_ joins (~td@i53870938.versanet.de) |
| 2025-08-14 02:26:25 | × | down200 quits (~down200@shell.lug.mtu.edu) (Ping timeout: 248 seconds) |
| 2025-08-14 02:28:09 | → | down200 joins (~down200@shell.lug.mtu.edu) |
| 2025-08-14 06:48:42 | × | ft quits (~ft@p508dba54.dip0.t-ipconnect.de) (Quit: leaving) |
| 2025-08-14 09:30:58 | × | Miroboru quits (~myrvoll@84.215.249.36) (Ping timeout: 255 seconds) |
| 2025-08-14 09:31:39 | × | vanvik quits (~vanvik@109.108.216.249) (Ping timeout: 260 seconds) |
| 2025-08-14 09:34:20 | → | Miroboru joins (~myrvoll@84.215.249.36) |
| 2025-08-14 09:42:00 | × | Miroboru quits (~myrvoll@84.215.249.36) (Ping timeout: 252 seconds) |
| 2025-08-14 09:49:08 | → | vanvik joins (~vanvik@188.113.66.142) |
| 2025-08-14 09:57:46 | → | tremon joins (~tremon@83.80.159.219) |
| 2025-08-14 10:30:25 | × | redgloboli quits (~redglobol@user/redgloboli) (Quit: ...enter the matrix...) |
| 2025-08-14 10:32:02 | → | redgloboli joins (~redglobol@user/redgloboli) |
| 2025-08-14 12:13:28 | × | catman quits (~catman@user/catman) (Quit: WeeChat 4.7.0) |
| 2025-08-14 12:15:08 | → | catman joins (~catman@user/catman) |
| 2025-08-14 12:23:55 | → | Miroboru joins (~myrvoll@46.249.255.58) |
| 2025-08-14 14:45:35 | → | ft joins (~ft@p508dba54.dip0.t-ipconnect.de) |
| 2025-08-14 15:31:52 | × | werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 255 seconds) |
| 2025-08-14 16:19:27 | → | saltrice joins (~saltrice@mail.hectic-lab.com) |
| 2025-08-14 16:21:49 | × | saltrice quits (~saltrice@mail.hectic-lab.com) (Client Quit) |
| 2025-08-14 20:05:26 | × | smiesner quits (b0cf5acf8c@user/smiesner) (*.net *.split) |
| 2025-08-14 20:05:27 | × | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (*.net *.split) |
| 2025-08-14 20:05:28 | × | dxld quits (a6d27c8ee6@2a03:6000:1812:100::52) (*.net *.split) |
| 2025-08-14 20:05:29 | × | smashgrab quits (~smashgrab@188.166.8.80) (*.net *.split) |
| 2025-08-14 20:05:30 | × | jsoo quits (~jsoo@2600:1f14:1f03:742f:a81:1cea:a0fa:e21) (*.net *.split) |
| 2025-08-14 20:05:30 | × | amenonsen quits (~amenonsen@pitta.toroid.org) (*.net *.split) |
| 2025-08-14 20:05:30 | × | rieper quits (~riepernet@2a03:4000:6:f1d6:6885:6fff:fe5a:8933) (*.net *.split) |
| 2025-08-14 20:05:31 | × | vanvik quits (~vanvik@188.113.66.142) (*.net *.split) |
| 2025-08-14 20:05:31 | × | dsal quits (sid13060@id-13060.lymington.irccloud.com) (*.net *.split) |
| 2025-08-14 20:05:31 | × | berberman quits (~berberman@user/berberman) (*.net *.split) |
| 2025-08-14 20:05:32 | × | Aminautf quits (~Aminautf@167.172.225.175) (*.net *.split) |
| 2025-08-14 20:05:32 | × | mkoskar quits (~mkoskar@user/mkoskar) (*.net *.split) |
| 2025-08-14 20:05:33 | × | wsx quits (055e6b628d@2a03:6000:1812:100::dd6) (*.net *.split) |
| 2025-08-14 20:05:33 | × | raghavgururajan quits (ea769b8000@user/raghavgururajan) (*.net *.split) |
| 2025-08-14 20:05:33 | × | eso quits (a0662dfd5e@2a03:6000:1812:100::1266) (*.net *.split) |
| 2025-08-14 20:05:33 | × | piele quits (~piele@eiseth.creativeserver.net) (*.net *.split) |
| 2025-08-14 20:05:33 | × | gauge quits (~gauge@user/gauge) (*.net *.split) |
| 2025-08-14 20:05:34 | × | jusa quits (~jusa@kraa.fi) (*.net *.split) |
| 2025-08-14 20:05:34 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (*.net *.split) |
| 2025-08-14 20:05:34 | × | dweller quits (~dweller@178.62.146.60) (*.net *.split) |
| 2025-08-14 20:08:00 | → | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 2025-08-14 20:08:00 | → | dxld joins (a6d27c8ee6@2a03:6000:1812:100::52) |
| 2025-08-14 20:08:00 | → | smashgrab joins (~smashgrab@188.166.8.80) |
| 2025-08-14 20:08:00 | → | jsoo joins (~jsoo@2600:1f14:1f03:742f:a81:1cea:a0fa:e21) |
| 2025-08-14 20:08:00 | → | amenonsen joins (~amenonsen@pitta.toroid.org) |
| 2025-08-14 20:08:00 | → | rieper joins (~riepernet@2a03:4000:6:f1d6:6885:6fff:fe5a:8933) |
| 2025-08-14 20:09:10 | → | smiesner joins (b0cf5acf8c@user/smiesner) |
| 2025-08-14 20:09:16 | → | vanvik joins (~vanvik@188.113.66.142) |
| 2025-08-14 20:09:16 | → | dsal joins (sid13060@id-13060.lymington.irccloud.com) |
All times are in UTC.