Logs on 2026-02-17 (liberachat/#xmonad)
| 00:15:38 | × | hightower4 quits (~hightower@dh207-83-96.xnet.hr) (Ping timeout: 252 seconds) |
| 00:19:56 | → | hightower3 joins (~hightower@dh207-83-96.xnet.hr) |
| 01:11:48 | → | beastwick joins (~brian@user/beastwick) |
| 01:13:46 | <beastwick> | hello, not sure if this is a bug, but I am simply swapping screens with XMonad.Actions.CycleWS swapNextScreen. On one monitor I have tabbed layout, so multiple windows with tabs at the top. When I swap, the workspaces correctly switch, but the tab bar appears over the other workspace and can only be removed if I restart xmonad in place. |
| 01:14:06 | → | werneta joins (~werneta@71.83.160.242) |
| 01:15:53 | <beastwick> | oh wait, now it isn't happening not sure why |
| 01:16:04 | <beastwick> | weird |
| 01:23:11 | <geekosaur> | known bug, some layout modifier you're using isn't passing on the Hide message to Tabbed |
| 01:23:34 | <beastwick> | oh :(, can I pass it along, or modify the function? |
| 01:23:36 | <geekosaur> | sadly a lot of layout modifiers don't pass on the Hide or ReleaseResources messages |
| 01:28:51 | <geekosaur> | you'd have to bisect to find the layout modifier that isn't passing them on and make a local copy of it (in ~/.xmonad/lib/XMonad/Layout/whatever.hs) with the handleMessage logic added (see for example https://github.com/xmonad/xmonad-contrib/pull/813/changes#diff-39a8849b1ce55ed5ed86080ca98a422374c884b9691c05f001aa5baa3d453f6aR89) |
| 01:29:14 | <beastwick> | thanks, this is what I am going to do |
| 01:29:20 | <beastwick> | I already have some other modified classes |
| 01:29:36 | <geekosaur> | if a layout modifier uses the XMonad.Layout.LayoutModifier framework, that already handles them for it |
| 01:30:33 | <beastwick> | oh so, cyclews swapNextScreen can't ensure this, I have to fix the layout modifier itself? |
| 01:31:00 | <geekosaur> | (also if you scroll up on that link, you'll find the old version which actually has the bug in question; note that its handleMess deals only with its own message. I should probably fix that before liskin gets around to reviewing the whole thing) |
| 01:34:14 | <geekosaur> | swapNextScreen itself doesn't process messages, but xmonad sends Hide to the workspace being swapped and then when it's redrawn on its new screen the tabs are recreated |
| 01:34:26 | <geekosaur> | something in the layout stack isn't passing on Hide to Tabbed |
| 01:34:40 | <geekosaur> | so the tabs stay where they were drawn on the old screen |
| 01:35:16 | <geekosaur> | Tabbed itself handles these correctly (well, Decoration handles them for it) but it has to receive them |
| 01:36:26 | <geekosaur> | so you need to take a look at your layoutHook and in particular any modifiers before the actual layouts; usually these are modifier1 $ modifier 2 $ … $ (layout ||| layout ||| …) |
| 01:42:11 | <geekosaur> | sorry, it actually sends ReleaseResources so the windows are removed and later recreated |
| 01:42:30 | <geekosaur> | but generally people don't handle either in layout modifiers 😦 |
| 01:56:02 | <beastwick> | much thanks, so is it an issue in the library itself, or perhaps something I can pass via my layout modifier hook? |
| 01:56:24 | <beastwick> | or well, you are saying that tabbed layout might not handle messages? |
| 02:13:34 | <geekosaur> | you can't pass it via your layoutHook, and Tabbed is already doing the right thing. something *leading to* Tabbed isn't doing the right thing, and you can't just wire around it without losing that layout modifier completely |
| 02:14:28 | <geekosaur> | you meed to find out which layout modifier is swallowing the message and make a local copy modified to pass the message on, and file an issue about it so we can fix it here (or open a PR with your modified copy) |
| 02:15:55 | <geekosaur> | https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/PerScreen.hs#L70-L72 this is a layout modifier that swallows messages instead of passing them on (for which I already have a fix in a PR) |
| 02:21:20 | × | werneta quits (~werneta@71.83.160.242) (Quit: Lost terminal) |
| 02:28:26 | <geekosaur> | one of the things I would really like to do but don't see a good way to do with the way we currently do layout messages is message tracing |
| 02:35:09 | × | freedrul1 quits (~deploy@167.99.155.33) (Server closed connection) |
| 02:50:25 | → | freedrull joins (~deploy@167.99.155.33) |
| 03:10:46 | × | td_ quits (~td@i5387093C.versanet.de) (Ping timeout: 244 seconds) |
| 03:12:46 | → | td_ joins (~td@i53870928.versanet.de) |
| 03:41:48 | → | werneta joins (~werneta@71.83.160.242) |
| 03:47:09 | × | FatBoyXPC quits (~FatBoyXPC@user/fatboyxpc) (Server closed connection) |
| 03:48:21 | → | FatBoyXPC joins (~FatBoyXPC@user/fatboyxpc) |
| 04:59:54 | → | werneta_ joins (~werneta@71.83.160.242) |
| 05:03:15 | × | Forkk13 quits (~forkk@li926-228.members.linode.com) (Ping timeout: 245 seconds) |
| 05:15:10 | × | werneta quits (~werneta@71.83.160.242) (Quit: Lost terminal) |
| 05:19:55 | × | sajenim quits (~sajenim@user/sajenim) (Ping timeout: 245 seconds) |
| 05:20:58 | × | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Read error: Connection reset by peer) |
| 05:20:58 | → | sajenim joins (~sajenim@user/sajenim) |
| 05:25:36 | → | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 06:36:36 | × | werneta_ quits (~werneta@71.83.160.242) (Quit: Lost terminal) |
| 07:09:28 | × | ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 244 seconds) |
| 07:23:50 | → | ml| joins (~ml|@user/ml/x-5298235) |
| 09:13:02 | × | ft quits (~ft@p4fc2afab.dip0.t-ipconnect.de) (Quit: leaving) |
| 12:32:09 | × | smashgrab quits (~smashgrab@188.166.8.80) (Server closed connection) |
| 12:32:52 | → | smashgrab joins (~smashgrab@188.166.8.80) |
| 13:03:43 | × | T_X quits (~T_X@diktynna.open-mesh.org) (Read error: Connection reset by peer) |
| 13:04:20 | → | T_X joins (~T_X@diktynna.open-mesh.org) |
| 13:51:01 | → | Enrico63 joins (~Enrico63@host-79-56-90-180.retail.telecomitalia.it) |
| 13:51:40 | → | hightower4 joins (~hightower@dh207-83-96.xnet.hr) |
| 13:54:13 | × | hightower3 quits (~hightower@dh207-83-96.xnet.hr) (Ping timeout: 255 seconds) |
| 14:01:41 | → | hightower3 joins (~hightower@cpe-94-253-236-205.st.cable.xnet.hr) |
| 14:03:32 | × | hightower4 quits (~hightower@dh207-83-96.xnet.hr) (Ping timeout: 265 seconds) |
| 14:05:48 | × | hightower3 quits (~hightower@cpe-94-253-236-205.st.cable.xnet.hr) (Read error: Connection reset by peer) |
| 14:05:58 | → | hightower3 joins (~hightower@cpe-94-253-236-205.st.cable.xnet.hr) |
| 14:07:22 | → | T_X_ joins (~T_X@diktynna.open-mesh.org) |
| 14:07:28 | × | T_X quits (~T_X@diktynna.open-mesh.org) (Read error: Connection reset by peer) |
| 14:32:22 | → | rekahsoft joins (~rekahsoft@76.67.111.168) |
| 14:38:12 | × | hightower3 quits (~hightower@cpe-94-253-236-205.st.cable.xnet.hr) (Ping timeout: 264 seconds) |
| 16:40:41 | × | Enrico63 quits (~Enrico63@host-79-56-90-180.retail.telecomitalia.it) (Ping timeout: 272 seconds) |
| 16:57:05 | → | Enrico63 joins (~Enrico63@host-79-56-90-180.retail.telecomitalia.it) |
| 16:58:00 | × | Enrico63 quits (~Enrico63@host-79-56-90-180.retail.telecomitalia.it) (Client Quit) |
| 18:04:10 | → | ChubaDuba joins (~ChubaDuba@5.167.118.198) |
| 18:47:33 | × | ChubaDuba quits (~ChubaDuba@5.167.118.198) (Quit: WeeChat 4.8.1) |
| 18:47:50 | → | ChubaDuba joins (~ChubaDuba@5.167.118.198) |
| 18:54:11 | × | ChubaDuba quits (~ChubaDuba@5.167.118.198) (Quit: WeeChat 4.8.1) |
| 18:54:24 | → | ChubaDuba joins (~ChubaDuba@5.167.118.198) |
| 18:58:44 | × | ChubaDuba quits (~ChubaDuba@5.167.118.198) (Ping timeout: 252 seconds) |
| 19:06:59 | × | de-vri-es quits (~de-vri-es@voyager.de-vri.es) (Server closed connection) |
| 19:07:21 | → | de-vri-es joins (~de-vri-es@voyager.de-vri.es) |
| 19:52:08 | → | ChubaDuba joins (~ChubaDuba@5.167.118.198) |
| 19:56:29 | × | ChubaDuba quits (~ChubaDuba@5.167.118.198) (Ping timeout: 252 seconds) |
| 20:57:24 | → | ChubaDuba joins (~ChubaDuba@5.167.118.198) |
| 21:04:51 | × | Digit quits (~user@user/digit) (Read error: Connection reset by peer) |
| 21:06:56 | → | Digit joins (~user@user/digit) |
| 21:34:27 | × | ChubaDuba quits (~ChubaDuba@5.167.118.198) (Quit: WeeChat 4.8.1) |
| 21:34:44 | → | ChubaDuba joins (~ChubaDuba@5.167.118.198) |
| 22:23:01 | × | ectospasm quits (~ectospasm@user/ectospasm) (Quit: WeeChat 4.8.1) |
| 22:23:45 | × | ChubaDuba quits (~ChubaDuba@5.167.118.198) (Quit: WeeChat 4.8.1) |
| 23:25:36 | × | ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 264 seconds) |
| 23:39:01 | → | ml| joins (~ml|@user/ml/x-5298235) |
All times are in UTC on 2026-02-17.