| 2024-08-15 00:18:46 +0000 | <Leary> | user42: I think maintaining on-top status means we can't /truly/ ignore it. You'd likely need to write an extension that doesn't actually ignore the window, but just skips focus over it. The best way to do that would be post-<https://github.com/xmonad/xmonad/pull/433>, but I guess you could still do it now. |
| 2024-08-15 00:20:26 +0000 | <Leary> | That said, you might just want to make it a strut? If it's small, you can put it on the edge of the screen and reserve that space for it. |
| 2024-08-15 00:23:11 +0000 | <geekosaur> | I think a handleEventHook could do it but you would need to stash the window ID in XS and possibly select for structureNotifyMask |
| 2024-08-15 00:24:55 +0000 | <geekosaur> | hm, no, structureNotifyMask is the wrong one and I don't think there's a right one for z-position. you'd have to unconditionally raiseWindow |
| 2024-08-15 00:31:38 +0000 | <Leary> | Oh, yeah, just ignore me. XS + raiseWindow in (current) logHook sounds like it would suffice. I actually think 433 would break that. |
| 2024-08-15 00:46:00 +0000 | <geekosaur> | I was suggesting handleEventHook, because if it's not managed (and therefore doesn't take focus) then logHook won't fire |
| 2024-08-15 00:46:11 +0000 | <geekosaur> | with or without 433 |
| 2024-08-15 00:51:22 +0000 | <user42> | geekosaur: Thank you for your replay. So I should keep the `doIgnore` and then do a `raiseWindow` in an handleEventHook, is that correct? |
| 2024-08-15 00:51:52 +0000 | <user42> | On which events would I need to do the raiseWindow? |
| 2024-08-15 00:54:20 +0000 | <user42> | I haven't looked at it yet, but from what I understand from your reply I would also need to save the window ID in some custom state, presumably because I will not have access to it in the `handleEventHook`. |
| 2024-08-15 00:54:52 +0000 | <user42> | At which point would I need to save the window ID? In the `manageHook` when I do the `doIgnore`? |
| 2024-08-15 01:01:13 +0000 | <geekosaur> | all events, since the X server doesn't send any event related to z-order (indicating that the window would need to be raised) |
| 2024-08-15 01:04:16 +0000 | <geekosaur> | it'd be the manageHook, yes. (className =? "Workrave" --> doIgnore <+> (ask >>= liftX (XS.put . KeepRaised) >> idHook)) or some such, given a type with a constructor KeepRaised (see https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Util-ExtensibleState.html) |
| 2024-08-15 01:05:24 +0000 | <Leary> | logHook will fire after any window z-reordering; isn't that enough? |
| 2024-08-15 01:05:43 +0000 | <geekosaur> | then the handleEventHook would extract ev_window from the event, compare it to the one in KeepRaised (which you receive with XS.get), and withDisplay (\d -> raiseWindow d w) |
| 2024-08-15 01:05:56 +0000 | <geekosaur> | only if it's managed |
| 2024-08-15 01:06:26 +0000 | <Leary> | It doesn't need to be managed, so long as the window that would overlap it is. |
| 2024-08-15 01:06:50 +0000 | <geekosaur> | right, that _may_ be enough |
| 2024-08-15 01:07:29 +0000 | <geekosaur> | hm, right, you don't need to check ev_window either since we can't receive events for that window |
| 2024-08-15 01:08:42 +0000 | <geekosaur> | just unconditionally https://paste.tomsmeding.com/U6qazUdJ, in handleEventHook or logHook |
| 2024-08-15 01:22:20 +0000 | dysthesis | (~dysthesis@user/dysthesis) |
| 2024-08-15 01:23:42 +0000 | <user42> | geekosaur: Thanks a lot, I'll give this a try. |
| 2024-08-15 02:22:19 +0000 | td_ | (~td@i53870918.versanet.de) (Ping timeout: 260 seconds) |
| 2024-08-15 02:23:49 +0000 | td_ | (~td@i53870931.versanet.de) |
| 2024-08-15 03:12:27 +0000 | user42 | (~user42@49.228.56.230) (Quit: Client closed) |
| 2024-08-15 03:21:05 +0000 | user42 | (~user42@49.228.56.230) |
| 2024-08-15 03:22:39 +0000 | user42 | (~user42@49.228.56.230) (Client Quit) |
| 2024-08-15 05:49:56 +0000 | dysthesis | (~dysthesis@user/dysthesis) (Ping timeout: 260 seconds) |
| 2024-08-15 05:56:50 +0000 | dysthesis | (~dysthesis@user/dysthesis) |
| 2024-08-15 05:58:31 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) |
| 2024-08-15 06:01:28 +0000 | dysthesis | (~dysthesis@user/dysthesis) (Remote host closed the connection) |
| 2024-08-15 06:08:30 +0000 | user42 | (~user42@49.228.56.230) |
| 2024-08-15 06:46:52 +0000 | user42 | (~user42@49.228.56.230) (Quit: Client closed) |
| 2024-08-15 06:55:23 +0000 | ft | (~ft@p4fc2aa15.dip0.t-ipconnect.de) (Quit: leaving) |
| 2024-08-15 07:30:30 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection) |
| 2024-08-15 08:12:46 +0000 | Digitteknohippie | (~user@user/digit) |
| 2024-08-15 08:13:22 +0000 | Digit | (~user@user/digit) (Ping timeout: 252 seconds) |
| 2024-08-15 08:19:48 +0000 | Digitteknohippie | Digit |
| 2024-08-15 08:41:42 +0000 | kalj | (~kalj@h-158-174-207-174.NA.cust.bahnhof.se) |
| 2024-08-15 10:08:30 +0000 | kalj | (~kalj@h-158-174-207-174.NA.cust.bahnhof.se) (Quit: Client closed) |
| 2024-08-15 10:58:34 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2024-08-15 11:05:35 +0000 | wlhn | (~wlhn@dl6-5j8gfh1n484fp87pt-3.rev.dnainternet.fi) |
| 2024-08-15 15:50:57 +0000 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 252 seconds) |
| 2024-08-15 16:12:56 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2024-08-15 16:17:07 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2024-08-15 17:10:37 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
| 2024-08-15 17:15:14 +0000 | ChubaDuba | (~ChubaDuba@176.212.42.92) |
| 2024-08-15 18:08:38 +0000 | ft | (~ft@p4fc2aa15.dip0.t-ipconnect.de) |
| 2024-08-15 18:52:26 +0000 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
| 2024-08-15 18:54:18 +0000 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) |
| 2024-08-15 20:12:43 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
| 2024-08-15 20:30:03 +0000 | alethkit | kitaleth |
| 2024-08-15 20:57:53 +0000 | ChubaDuba | (~ChubaDuba@176.212.42.92) (Read error: Connection reset by peer) |
| 2024-08-15 21:22:16 +0000 | Solitary | (~Solitary@user/solitary) (Read error: Connection reset by peer) |
| 2024-08-15 21:24:58 +0000 | wlhn | (~wlhn@dl6-5j8gfh1n484fp87pt-3.rev.dnainternet.fi) (Remote host closed the connection) |
| 2024-08-15 21:25:15 +0000 | wlhn | (~wlhn@dl6-5j8gfh1n484fp87pt-3.rev.dnainternet.fi) |
| 2024-08-15 21:25:21 +0000 | Solitary | (~Solitary@user/solitary) |
| 2024-08-15 21:37:58 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2024-08-15 22:17:26 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) |