2024/06/11

2024-06-11 01:01:18 +0200ft(~ft@mue-88-130-105-242.dsl.tropolys.de) (Quit: leaving)
2024-06-11 02:37:41 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca)
2024-06-11 03:34:47 +0200 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> test
2024-06-11 03:38:16 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca) (Remote host closed the connection)
2024-06-11 04:14:06 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca)
2024-06-11 04:48:25 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca) (Ping timeout: 268 seconds)
2024-06-11 04:56:24 +0200td_(~td@i5387090D.versanet.de) (Ping timeout: 255 seconds)
2024-06-11 04:58:19 +0200td_(~td@i53870920.versanet.de)
2024-06-11 05:51:11 +0200ChubaDuba(~ChubaDuba@5.167.117.22)
2024-06-11 05:59:39 +0200 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> https://kf8nh.com/_matrix/media/v3/download/matrix.org/ztKTEjgxVhtRoSqgFMFYZHPY/clipboard.png
2024-06-11 06:02:06 +0200 <geekosaur> sorry for annoyance, I'm done for now
2024-06-11 06:02:15 +0200 <geekosaur> I think matrix needs a better way to do this
2024-06-11 09:34:56 +0200vrs(~vrs@user/vrs) (*.net *.split)
2024-06-11 09:34:56 +0200Solid(~slot@xmonad/slotThe) (*.net *.split)
2024-06-11 09:35:14 +0200vrs(~vrs@user/vrs)
2024-06-11 09:35:18 +0200Solid(~slot@xmonad/slotThe)
2024-06-11 10:06:18 +0200cfricke(~cfricke@user/cfricke)
2024-06-11 10:43:01 +0200ElKowar(~ElKowar@srv-fin.xware-gmbh.de) (Ping timeout: 246 seconds)
2024-06-11 11:21:51 +0200ElKowar(~ElKowar@srv-fin.xware-gmbh.de)
2024-06-11 11:23:45 +0200gauge(~gauge@user/gauge) (Read error: Connection reset by peer)
2024-06-11 11:25:06 +0200gauge(~gauge@user/gauge)
2024-06-11 11:30:35 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
2024-06-11 11:40:40 +0200gauge(~gauge@user/gauge) (Ping timeout: 268 seconds)
2024-06-11 11:41:22 +0200gauge(~gauge@user/gauge)
2024-06-11 11:46:06 +0200cfricke(~cfricke@user/cfricke)
2024-06-11 12:11:34 +0200thaumavorio(~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-11 12:15:56 +0200thaumavorio(~thaumavor@thaumavor.io)
2024-06-11 12:27:31 +0200ChubaDuba(~ChubaDuba@5.167.117.22) (Remote host closed the connection)
2024-06-11 12:35:25 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 255 seconds)
2024-06-11 13:03:40 +0200cfricke(~cfricke@user/cfricke)
2024-06-11 13:37:31 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 268 seconds)
2024-06-11 13:51:04 +0200cfricke(~cfricke@user/cfricke)
2024-06-11 14:53:00 +0200ghormoon(~ghormoon@ghorland.net)
2024-06-11 15:38:17 +0200ft(~ft@p508db8fc.dip0.t-ipconnect.de)
2024-06-11 15:44:55 +0200gauge(~gauge@user/gauge) (Read error: Connection reset by peer)
2024-06-11 15:45:29 +0200gauge(~gauge@user/gauge)
2024-06-11 15:48:01 +0200gauge(~gauge@user/gauge) (Client Quit)
2024-06-11 15:49:24 +0200gauge(~gauge@user/gauge)
2024-06-11 16:44:59 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 264 seconds)
2024-06-11 17:02:28 +0200thunderrd(~thunderrd@118.175.249.2)
2024-06-11 21:16:27 +0200Nixkernal(~Nixkernal@240.17.194.178.dynamic.cust.swisscom.net)
2024-06-11 21:29:35 +0200 <haskellbridge> <iqubic (she/her)> I'm looking for a way to get a specific layout that I don't directly see in the contrib library. Maybe there's a way to get a ModifiedLayout that does what I want, I'm not sure.
2024-06-11 21:29:40 +0200 <haskellbridge> <iqubic (she/her)> I'm looking for a way to have a layout that combines TwoPane and Tabbed. Basically I want to have two panes open side by side, and I want each pane to have its own set of open applications, with tabs displayed at the top, if possible.
2024-06-11 21:31:10 +0200 <haskellbridge> <iqubic (she/her)> If this is something that I'd need to write myself, I'm fine with that, but I'd need some pointers on where to look in the docs for relevant functions.
2024-06-11 22:10:46 +0200 <haskellbridge> <iqubic (she/her)> Basically, I want a vertical split, like Tall with 2 windows open, but I want each of the two panes to have their own set of tabs so I can have more than two windows open on that layout, but only have two visible at that time.
2024-06-11 22:10:52 +0200 <haskellbridge> <iqubic (she/her)> * a
2024-06-11 22:11:21 +0200 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Layout-Combo.html
2024-06-11 22:11:38 +0200 <geekosaur> your layout is their example usage 🙂
2024-06-11 22:12:05 +0200 <haskellbridge> <iqubic (she/her)> Oh. Nice!
2024-06-11 22:13:21 +0200 <geekosaur> (there are several other ways to do this as well: ComboP and the combinators in LayoutHelpers, for example)
2024-06-11 22:14:00 +0200 <haskellbridge> <iqubic (she/her)> What's the difference between TwoPane and TwoPanePersistant?
2024-06-11 22:16:04 +0200 <geekosaur> the nested layouts thing is a bit of a hack that the StackSet doesn't know about, so it may rearrange which windows are topmost in the sublayout you aren't using when you change focus in the one you are using. `TwoPanePersistent` tries to work around this
2024-06-11 22:16:35 +0200 <geekosaur> you _probably_ want `TwoPanePersistent`
2024-06-11 22:16:44 +0200 <haskellbridge> <iqubic (she/her)> I see.
2024-06-11 22:17:16 +0200 <haskellbridge> <iqubic (she/her)> Also, what are the "move U", "move D", etc... messages for?
2024-06-11 22:17:43 +0200 <haskellbridge> <iqubic (she/her)> "Move Direction2D" is what I'm asking about.
2024-06-11 22:22:50 +0200 <haskellbridge> <iqubic (she/her)> Also, what is a "DragPane"?
2024-06-11 22:28:03 +0200 <geekosaur> draggable separator between the tabbed panes
2024-06-11 22:28:14 +0200 <geekosaur> (normally you'd use mod-h / mod-l to move it)
2024-06-11 22:28:47 +0200 <geekosaur> the move messages are to move windows between the panes, I think
2024-06-11 22:29:26 +0200 <haskellbridge> <iqubic (she/her)> I see.
2024-06-11 22:29:39 +0200 <geekosaur> if you use ComboP, you can specify what amounts to a ManageHook to specify which pane windows are placed in; otherwise they appear in the focused pane and you can move them by sending those messages
2024-06-11 22:30:52 +0200 <geekosaur> sorry for delays, scheduling medical appointments and such (just got back from orthopedics, needed to schedule a follow-up + PT)
2024-06-11 22:31:29 +0200 <haskellbridge> <iqubic (she/her)> The description of DragPane seems a little weird: "Layouts that splits the screen either horizontally or vertically and shows two windows. The first window is always the master window, and the other is either the currently focused window or the second window in layout order."
2024-06-11 22:31:41 +0200 <haskellbridge> <iqubic (she/her)> It doesn't even mention mouse control.
2024-06-11 22:47:08 +0200 <geekosaur> yeh, the description needs work. the code is clearer, it watches for mouse events in the drag window to allow you to move the separator
2024-06-11 22:48:16 +0200 <haskellbridge> <iqubic (she/her)> What do you mean by "separator" here?
2024-06-11 22:50:22 +0200 <haskellbridge> <iqubic (she/her)> Is there a difference between Tabbed and DragPane?
2024-06-11 23:00:12 +0200 <geekosaur> DragPane is TwoPane (or Mirror TwoPane) where the separator between the panes has a mouse-dragging handle on it
2024-06-11 23:00:59 +0200 <geekosaur> It's not related to Tabbed at all
2024-06-11 23:01:07 +0200 <haskellbridge> <iqubic (she/her)> Ah... I see.
2024-06-11 23:01:54 +0200 <haskellbridge> <iqubic (she/her)> Now, all I need to know is how to send windows from one pane to the other in the TwoPanePersistant layout.
2024-06-11 23:03:54 +0200 <geekosaur> it's not up to that layout, it's up to Combo
2024-06-11 23:05:10 +0200 <geekosaur> Combo takes a layout to use to divide up the screen between two other layouts, plus a layout to run in each pane of the dividing layout. It accepts the Move Direction2D messages to move windows between the sublayouts
2024-06-11 23:05:30 +0200 <geekosaur> TwoPane, DragPane, or etc never see that message, nor do the sublayouts; Combo handles it
2024-06-11 23:06:54 +0200 <haskellbridge> <iqubic (she/her)> I see. Makes sense.
2024-06-11 23:14:47 +0200 <haskellbridge> <iqubic (she/her)> According to the docs of Combo, it should be able to handle messages of the type "Move Direction2D" but nothing in Combo's "handleMessage" function explicitly manages that case. So, how does this actually work? https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/src/XMonad.Layout.Combo.html#line-80
2024-06-11 23:17:17 +0200 <geekosaur> it does, it's just not obvious. `MoveWindowToWindow` is the internal constructor from `WindowNavigation` implementing the `Move` message
2024-06-11 23:23:51 +0200 <geekosaur> https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/WindowNavigation.hs#L184-L189
2024-06-11 23:31:11 +0200 <haskellbridge> <iqubic (she/her)> Oh... so I need to do something like "windowNavigation (combineTwo (TwoPane 0.03 0.5) (tabbed shrinkText def) (tabbed shrinkText def))" to get the Move messages to work?
2024-06-11 23:34:55 +0200 <geekosaur> I believe combineTwo does windowNavigation for you
2024-06-11 23:35:02 +0200 <geekosaur> CombineTwo is the raw version
2024-06-11 23:35:11 +0200 <geekosaur> (note uppercase)
2024-06-11 23:36:05 +0200 <geekosaur> oh, no, the docs say you need to indeed wrap it in windowNavigation or configurableWindowNavigation
2024-06-11 23:37:04 +0200 <geekosaur> "st the layout, in terms of the number of windows in each sublayout. To do this, use "XMonad.Layout.WindowNavigation", and add the following key bindings (or something similar):"
2024-06-11 23:37:07 +0200 <haskellbridge> <iqubic (she/her)> Yeah... and the source code of Combo has this import: "import XMonad.Layout.WindowNavigation (MoveWindowToWindow (..))"
2024-06-11 23:37:37 +0200 <geekosaur> right, because it intercepts that message which is generated by WindowNavigation's Move message
2024-06-11 23:37:58 +0200 <haskellbridge> <iqubic (she/her)> Yep.
2024-06-11 23:38:18 +0200 <haskellbridge> <iqubic (she/her)> What does "Note that there is some weirdness in combineTwo, in that the mod-tab focus order is not very closely related to the layout order." mean? What does "mod-tab" do by default?
2024-06-11 23:39:18 +0200 <geekosaur> switches between windows
2024-06-11 23:40:02 +0200 <geekosaur> but because the StackSet which tracks the window stack order doesn't know that Combo has split the stack up, mod-tab (or mod-j / mod-k) may jump between panes
2024-06-11 23:40:23 +0200 <haskellbridge> <iqubic (she/her)> Yeah... That's fine.
2024-06-11 23:40:40 +0200 <haskellbridge> <iqubic (she/her)> Do you know if the Tabbed layout supports mouse control?
2024-06-11 23:40:47 +0200 <geekosaur> it does
2024-06-11 23:41:25 +0200 <geekosaur> it's based on Decoration which has mouse support. left-clicking a tab focuses it, right-clicking closes it iirc
2024-06-11 23:42:39 +0200 <haskellbridge> <iqubic (she/her)> The docs say this: "This layout has hardcoded behaviour for mouse clicks on tab decorations: Left click on the tab switches focus to that window. Middle click on the tab closes the window."
2024-06-11 23:45:24 +0200 <haskellbridge> <iqubic (she/her)> I guess that explains that.
2024-06-11 23:45:30 +0200 <haskellbridge> <iqubic (she/her)> Thanks for helping me with all of this.
2024-06-11 23:45:48 +0200 <geekosaur> middle click, not right click
2024-06-11 23:45:53 +0200 <geekosaur> yeh
2024-06-11 23:48:18 +0200 <haskellbridge> <iqubic (she/her)> Actually, according to the code, both left and right click switch focus to that window, and middle click closes it.
2024-06-11 23:49:47 +0200 <haskellbridge> <iqubic (she/her)> Once the Tabbed Layout has identified that a tab has been clicked, it checks to see if it was a middle click. If it was a middle click, it closes the window. Otherwise it focuses it.
2024-06-11 23:50:26 +0200 <haskellbridge> <iqubic (she/her)> https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/Tabbed.hs#L206
2024-06-11 23:52:41 +0200 <haskellbridge> <iqubic (she/her)> Actually, I just realized that https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Layout-TallMastersCombo.html will work even better for me.
2024-06-11 23:53:05 +0200 <haskellbridge> <iqubic (she/her)> I want a single master pane on the left and a tabbed pane on the right.
2024-06-11 23:56:06 +0200 <haskellbridge> <iqubic (she/her)> I know enough about how XMonad works now that I can make these changes myself. Thanks for the help!