2025/08/13

Newest at the top

2025-08-13 23:29:55 +0200 <haskellbridge> <iqubic (she/her)> I'm actually not getting any border flashing.
2025-08-13 23:23:46 +0200 <haskellbridge> <iqubic (she/her)> Interesting. That's fine.
2025-08-13 23:23:17 +0200 <geekosaur> -yes
2025-08-13 23:23:07 +0200 <geekosaur> yesit'll override the smartBorders behavior, at the possible price of border "flashing" on changing workspaces
2025-08-13 23:22:06 +0200 <geekosaur> sorry, make that noBorders Simplest
2025-08-13 23:21:59 +0200 <haskellbridge> <iqubic (she/her)> Will there be a conflict with smartBoarders at the bottom of the file?
2025-08-13 23:21:37 +0200 <geekosaur> NoBorders Simplest
2025-08-13 23:21:17 +0200 <haskellbridge> <iqubic (she/her)> But I'm not sure how to modify my layout to do that.
2025-08-13 23:21:02 +0200 <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 23:20:29 +0200 <haskellbridge> <iqubic (she/her)> layoutHook = avoidStruts $ smartBorders $ windowNavigation $ myLayoutHook
2025-08-13 23:20:20 +0200 <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 23:20:01 +0200 <haskellbridge> <iqubic (she/her)> I have this: https://github.com/IQubic/nixos-config/blob/master/hm/xmonad/XMonad.hs#L88-L103
2025-08-13 23:18:26 +0200 <haskellbridge> <iqubic (she/her)> Is there a way to modify a layout to never have an boarders?
2025-08-13 22:59:21 +0200 <haskellbridge> <iqubic (she/her)> Simplest works well enough for me.
2025-08-13 22:58:51 +0200 <haskellbridge> <iqubic (she/her)> Interesting. I'm not sure how useful this change would be.
2025-08-13 22:55:51 +0200 <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 22:53:07 +0200 <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 22:51:50 +0200 <haskellbridge> <iqubic (she/her)> It would be a big change though.
2025-08-13 22:50:25 +0200 <geekosaur> this is probably something we should consider changing, although I think Full needs to keep its current behavior
2025-08-13 22:50:16 +0200 <haskellbridge> <iqubic (she/her)> Ah. I see. I can work with this.
2025-08-13 22:49:48 +0200 <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 22:49:05 +0200 <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 22:48:50 +0200 <geekosaur> if it's not visible (i.e. multi-monitor)
2025-08-13 22:48:21 +0200 <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 22:47:36 +0200samhh_(7569f027cf@2a03:6000:1812:100::e4) samhh
2025-08-13 22:47:27 +0200samhh(7569f027cf@2a03:6000:1812:100::e4) (Server closed connection)
2025-08-13 22:43:10 +0200 <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 22:43:10 +0200 <haskellbridge> <iqubic (she/her)> Simplest is what I want. Let me see if that works.
2025-08-13 22:42:54 +0200 <haskellbridge> <iqubic (she/her)> Yeah. I get that.
2025-08-13 22:42:23 +0200 <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 22:39:16 +0200 <haskellbridge> <iqubic (she/her)> I love how the default is to only map visible windows.
2025-08-13 22:38:41 +0200 <haskellbridge> <iqubic (she/her)> vs
2025-08-13 22:38:38 +0200 <haskellbridge> <iqubic (she/her)> Literally the code is just "instance LayoutClass Full a"
2025-08-13 22:38:08 +0200 <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 22:36:41 +0200 <geekosaur> in essence, you're putting windows on top of each other
2025-08-13 22:36:07 +0200 <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 22:34:24 +0200 <haskellbridge> <iqubic (she/her)> Right. I see. What happens when XMonad is told to render multiple windows in overlapping locations?
2025-08-13 22:32:53 +0200 <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 22:31:58 +0200 <geekosaur> correct, by only returning a rectangle for that window
2025-08-13 22:31:52 +0200 <haskellbridge> <iqubic (she/her)> That's the main difference when compared with Simplest?
2025-08-13 22:31:37 +0200 <haskellbridge> <iqubic (she/her)> Got it. And Full only maps the top window in the stack?
2025-08-13 22:30:38 +0200 <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 22:29:16 +0200 <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 22:28:10 +0200 <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 22:27:40 +0200 <haskellbridge> <iqubic (she/her)> Also will using Simplest break NamedScratchpads?
2025-08-13 22:27:23 +0200 <haskellbridge> <iqubic (she/her)> Is there any downside to using Simplest everywhere instead of Full?
2025-08-13 22:26:58 +0200 <geekosaur> specifically, you would get a tab only for the topmost window with Tabbed Full
2025-08-13 22:26:25 +0200 <geekosaur> this also breaks some extensions (notably the tabbed family), which is why Simplest exists
2025-08-13 22:25:13 +0200 <haskellbridge> <iqubic (she/her)> Oh, I see.
2025-08-13 22:24:52 +0200 <geekosaur> Full only provides a rectangle for the topmost window, so the others get unmapped. Simplest provides rectangles for all windows on the current workspace, so they're mapped but hidden under the topmost window