Home liberachat/#xmonad: Logs Calendar

Logs on 2024-06-11 (liberachat/#xmonad)

00:37:41 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca)
01:34:47 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> test
01:38:16 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca) (Remote host closed the connection)
02:14:06 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca)
02:48:25 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-11-184-148-4-136.dsl.bell.ca) (Ping timeout: 268 seconds)
02:56:24 × td_ quits (~td@i5387090D.versanet.de) (Ping timeout: 255 seconds)
02:58:19 td_ joins (~td@i53870920.versanet.de)
03:51:11 ChubaDuba joins (~ChubaDuba@5.167.117.22)
03:59:39 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> https://kf8nh.com/_matrix/media/v3/download/matrix.org/ztKTEjgxVhtRoSqgFMFYZHPY/clipboard.png
04:02:06 <geekosaur> sorry for annoyance, I'm done for now
04:02:15 <geekosaur> I think matrix needs a better way to do this
07:34:56 × vrs quits (~vrs@user/vrs) (*.net *.split)
07:34:56 × Solid quits (~slot@xmonad/slotThe) (*.net *.split)
07:35:14 vrs joins (~vrs@user/vrs)
07:35:18 Solid joins (~slot@xmonad/slotThe)
08:06:18 cfricke joins (~cfricke@user/cfricke)
08:43:01 × ElKowar quits (~ElKowar@srv-fin.xware-gmbh.de) (Ping timeout: 246 seconds)
09:21:51 ElKowar joins (~ElKowar@srv-fin.xware-gmbh.de)
09:23:45 × gauge quits (~gauge@user/gauge) (Read error: Connection reset by peer)
09:25:06 gauge joins (~gauge@user/gauge)
09:30:35 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
09:40:40 × gauge quits (~gauge@user/gauge) (Ping timeout: 268 seconds)
09:41:22 gauge joins (~gauge@user/gauge)
09:46:06 cfricke joins (~cfricke@user/cfricke)
10:11:34 × thaumavorio quits (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
10:15:56 thaumavorio joins (~thaumavor@thaumavor.io)
10:27:31 × ChubaDuba quits (~ChubaDuba@5.167.117.22) (Remote host closed the connection)
10:35:25 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 255 seconds)
11:03:40 cfricke joins (~cfricke@user/cfricke)
11:37:31 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 268 seconds)
11:51:04 cfricke joins (~cfricke@user/cfricke)
12:53:00 ghormoon joins (~ghormoon@ghorland.net)
13:38:17 ft joins (~ft@p508db8fc.dip0.t-ipconnect.de)
13:44:55 × gauge quits (~gauge@user/gauge) (Read error: Connection reset by peer)
13:45:29 gauge joins (~gauge@user/gauge)
13:48:01 × gauge quits (~gauge@user/gauge) (Client Quit)
13:49:24 gauge joins (~gauge@user/gauge)
14:44:59 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 264 seconds)
15:02:28 thunderrd joins (~thunderrd@118.175.249.2)
19:16:27 Nixkernal joins (~Nixkernal@240.17.194.178.dynamic.cust.swisscom.net)
19:29:35 <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.
19:29:40 <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.
19:31:10 <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.
20:10:46 <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.
20:10:52 <haskellbridge> <iqubic (she/her)> * a
20:11:21 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Layout-Combo.html
20:11:38 <geekosaur> your layout is their example usage 🙂
20:12:05 <haskellbridge> <iqubic (she/her)> Oh. Nice!
20:13:21 <geekosaur> (there are several other ways to do this as well: ComboP and the combinators in LayoutHelpers, for example)
20:14:00 <haskellbridge> <iqubic (she/her)> What's the difference between TwoPane and TwoPanePersistant?
20:16:04 <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
20:16:35 <geekosaur> you _probably_ want `TwoPanePersistent`
20:16:44 <haskellbridge> <iqubic (she/her)> I see.
20:17:16 <haskellbridge> <iqubic (she/her)> Also, what are the "move U", "move D", etc... messages for?
20:17:43 <haskellbridge> <iqubic (she/her)> "Move Direction2D" is what I'm asking about.
20:22:50 <haskellbridge> <iqubic (she/her)> Also, what is a "DragPane"?
20:28:03 <geekosaur> draggable separator between the tabbed panes
20:28:14 <geekosaur> (normally you'd use mod-h / mod-l to move it)
20:28:47 <geekosaur> the move messages are to move windows between the panes, I think
20:29:26 <haskellbridge> <iqubic (she/her)> I see.
20:29:39 <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
20:30:52 <geekosaur> sorry for delays, scheduling medical appointments and such (just got back from orthopedics, needed to schedule a follow-up + PT)
20:31:29 <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."
20:31:41 <haskellbridge> <iqubic (she/her)> It doesn't even mention mouse control.
20:47:08 <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
20:48:16 <haskellbridge> <iqubic (she/her)> What do you mean by "separator" here?
20:50:22 <haskellbridge> <iqubic (she/her)> Is there a difference between Tabbed and DragPane?
21:00:12 <geekosaur> DragPane is TwoPane (or Mirror TwoPane) where the separator between the panes has a mouse-dragging handle on it
21:00:59 <geekosaur> It's not related to Tabbed at all
21:01:07 <haskellbridge> <iqubic (she/her)> Ah... I see.
21:01:54 <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.
21:03:54 <geekosaur> it's not up to that layout, it's up to Combo
21:05:10 <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
21:05:30 <geekosaur> TwoPane, DragPane, or etc never see that message, nor do the sublayouts; Combo handles it
21:06:54 <haskellbridge> <iqubic (she/her)> I see. Makes sense.
21:14:47 <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
21:17:17 <geekosaur> it does, it's just not obvious. `MoveWindowToWindow` is the internal constructor from `WindowNavigation` implementing the `Move` message
21:23:51 <geekosaur> https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/WindowNavigation.hs#L184-L189
21:31:11 <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?
21:34:55 <geekosaur> I believe combineTwo does windowNavigation for you
21:35:02 <geekosaur> CombineTwo is the raw version
21:35:11 <geekosaur> (note uppercase)
21:36:05 <geekosaur> oh, no, the docs say you need to indeed wrap it in windowNavigation or configurableWindowNavigation
21:37:04 <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):"
21:37:07 <haskellbridge> <iqubic (she/her)> Yeah... and the source code of Combo has this import: "import XMonad.Layout.WindowNavigation (MoveWindowToWindow (..))"
21:37:37 <geekosaur> right, because it intercepts that message which is generated by WindowNavigation's Move message
21:37:58 <haskellbridge> <iqubic (she/her)> Yep.
21:38:18 <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?
21:39:18 <geekosaur> switches between windows
21:40:02 <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
21:40:23 <haskellbridge> <iqubic (she/her)> Yeah... That's fine.
21:40:40 <haskellbridge> <iqubic (she/her)> Do you know if the Tabbed layout supports mouse control?
21:40:47 <geekosaur> it does
21:41:25 <geekosaur> it's based on Decoration which has mouse support. left-clicking a tab focuses it, right-clicking closes it iirc
21:42:39 <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."
21:45:24 <haskellbridge> <iqubic (she/her)> I guess that explains that.
21:45:30 <haskellbridge> <iqubic (she/her)> Thanks for helping me with all of this.
21:45:48 <geekosaur> middle click, not right click
21:45:53 <geekosaur> yeh
21:48:18 <haskellbridge> <iqubic (she/her)> Actually, according to the code, both left and right click switch focus to that window, and middle click closes it.
21:49:47 <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.
21:50:26 <haskellbridge> <iqubic (she/her)> https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/Tabbed.hs#L206
21:52:41 <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.
21:53:05 <haskellbridge> <iqubic (she/her)> I want a single master pane on the left and a tabbed pane on the right.
21:56:06 <haskellbridge> <iqubic (she/her)> I know enough about how XMonad works now that I can make these changes myself. Thanks for the help!
22:54:47 hightower3 joins (~hightower@160-196.dsl.iskon.hr)
22:57:01 × hightower2 quits (~hightower@189-43.dsl.iskon.hr) (Ping timeout: 255 seconds)

All times are in UTC on 2024-06-11.