| 2025-10-11 02:10:45 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out) |
| 2025-10-11 02:13:43 +0000 | <haskellbridge> | <iqubic (she/her)> If I have a Window, is there a way to get its name as a String? |
| 2025-10-11 02:16:26 +0000 | <haskellbridge> | <iqubic (she/her)> Specifically, I got this Window data by starting with a XMonad.StackSet.Stack and extracting the focus. |
| 2025-10-11 02:16:49 +0000 | <haskellbridge> | <iqubic (she/her)> Basically, I want to get the X11 name of the window. |
| 2025-10-11 02:19:35 +0000 | <geekosaur> | withDisplay (\d -> io $ fetchName d w) -- assuming "w" is the window id |
| 2025-10-11 02:20:12 +0000 | <geekosaur> | which is the lazy way and only gets you the simplified name; these days people tend to expect the UTF8_STRING name, which takes more work |
| 2025-10-11 02:22:59 +0000 | <haskellbridge> | <iqubic (she/her)> I see that contrib has XMonad.Util.NamedWindows, which provides "getName :: Window -> X NamedWindow" and "getNameWMClass :: Window -> X NamedWindow" |
| 2025-10-11 02:23:06 +0000 | <geekosaur> | also you probably need to import Graphics.X11.Xlib.Extras to get fetchName |
| 2025-10-11 02:23:06 +0000 | <haskellbridge> | <iqubic (she/her)> https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Util-NamedWindows.html#t:Nam… |
| 2025-10-11 02:24:16 +0000 | <haskellbridge> | <iqubic (she/her)> Or I think I can just use that module, because it looks like someone else has already done the work. But I'm unsure of the difference between "getName" and "getNameWMClass" |
| 2025-10-11 02:24:22 +0000 | <geekosaur> | hm, right, I keep forgetting it actually uses the proper window namew |
| 2025-10-11 02:24:41 +0000 | <haskellbridge> | <iqubic (she/her)> Keep forgetting what does? |
| 2025-10-11 02:25:48 +0000 | <geekosaur> | I keep forgetting that NamedWindow isn't an internal-to-xmonad name, it's actually the window title (or class if you use getNameWMClass, which you usually won't want to do since it's not very useful these days) |
| 2025-10-11 02:26:38 +0000 | <haskellbridge> | <iqubic (she/her)> Oh? How does the normal log hook work? How doos that get the name of the window, to feed to the PP? |
| 2025-10-11 02:28:07 +0000 | <haskellbridge> | <iqubic (she/her)> The standard PP has a "ppTitle :: String -> String" field, but I'm unsure of how the input string is gotten |
| 2025-10-11 02:28:21 +0000 | <geekosaur> | that's part of dynamicLog |
| 2025-10-11 02:29:19 +0000 | <haskellbridge> | <iqubic (she/her)> Looks like that's just using "getName" |
| 2025-10-11 02:29:29 +0000 | <geekosaur> | sorry, these days it's XMonad.Hooks.StatusBar |
| 2025-10-11 02:29:42 +0000 | <haskellbridge> | <iqubic (she/her)> https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/src/XMonad.Hooks.StatusBar.PP.html#… |
| 2025-10-11 02:31:24 +0000 | <geekosaur> | right |
| 2025-10-11 02:33:08 +0000 | <haskellbridge> | <iqubic (she/her)> Unless I'm missing something, XMonad.Hooks.StatusBar uses the "getName" from X.U.NamedWindow |
| 2025-10-11 02:35:41 +0000 | <haskellbridge> | <iqubic (she/her)> Yeah, checking with xprop tells me that the default logger is just querying "_NET_WM_NAME" which is just what "getName" does. |
| 2025-10-11 02:38:55 +0000 | td_ | (~td@i5387093C.versanet.de) (Ping timeout: 240 seconds) |
| 2025-10-11 02:40:54 +0000 | td_ | (~td@i53870926.versanet.de) td_ |
| 2025-10-11 02:45:48 +0000 | terrorjack | (~terrorjac@2a01:4f8:c17:9d11::) terrorjack |
| 2025-10-11 05:59:06 +0000 | Solid | (~slot@xmonad/slotThe) slot |
| 2025-10-11 07:27:14 +0000 | Solid` | (~slot@2001:9e8:e1b4:6a00:9e90:4010:d016:86ca) |
| 2025-10-11 07:28:51 +0000 | Solid | (~slot@xmonad/slotThe) (Ping timeout: 252 seconds) |
| 2025-10-11 07:56:55 +0000 | Solid` | (~slot@2001:9e8:e1b4:6a00:9e90:4010:d016:86ca) (Ping timeout: 265 seconds) |
| 2025-10-11 08:32:23 +0000 | Solid | (~slot@xmonad/slotThe) slot |
| 2025-10-11 08:38:12 +0000 | ximon | (~ximon@user/ximon) ximon |
| 2025-10-11 08:48:25 +0000 | ximon | (~ximon@user/ximon) (Ping timeout: 250 seconds) |
| 2025-10-11 10:51:01 +0000 | Solid` | (~slot@2001:9e8:e1b4:a300:352d:8fbe:6282:2b2b) |
| 2025-10-11 10:52:51 +0000 | Solid | (~slot@xmonad/slotThe) (Ping timeout: 265 seconds) |
| 2025-10-11 10:53:02 +0000 | Solid` | (~slot@2001:9e8:e1b4:a300:352d:8fbe:6282:2b2b) (Client Quit) |
| 2025-10-11 14:10:07 +0000 | MrElendig | (~Urist@archlinux/op/MrElendig) (Quit: telefrag) |
| 2025-10-11 14:11:31 +0000 | MrElendig | (~Urist@archlinux/op/MrElendig) MrElendig |
| 2025-10-11 16:04:44 +0000 | ximon | (~ximon@user/ximon) ximon |
| 2025-10-11 16:16:03 +0000 | ximon | (~ximon@user/ximon) (Ping timeout: 250 seconds) |
| 2025-10-11 16:20:16 +0000 | ximon | (~ximon@user/ximon) ximon |
| 2025-10-11 16:28:28 +0000 | ximon | (~ximon@user/ximon) (Quit: Client closed) |
| 2025-10-11 18:35:18 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-10-11 20:44:41 +0000 | Enrico63 | (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) Enrico63 |
| 2025-10-11 20:53:00 +0000 | <Enrico63> | Hi there. In my xmonad configuration I have mappings like these |
| 2025-10-11 20:53:01 +0000 | <Enrico63> | ``` |
| 2025-10-11 20:53:01 +0000 | <Enrico63> | : ("<XF86AudioRaiseVolume>", spawn "amixer -q -D pulse set Master 1%+ unmute") |
| 2025-10-11 20:53:02 +0000 | <Enrico63> | : ("<XF86AudioLowerVolume>", spawn "amixer -q -D pulse set Master 1%- unmute") |
| 2025-10-11 20:53:02 +0000 | <Enrico63> | ``` |
| 2025-10-11 20:53:03 +0000 | <Enrico63> | and I kinda remember that in the past I've used some program, possibly xev to work out what `XF86<whatever>` corresponded to a key. I'd start the program, press the key, and in the terminal I'd see some output in which I could recognize the XF86* name corresponding to the key I had pressed. Currently, that's not the case, in the sense that I don't |
| 2025-10-11 20:53:03 +0000 | <Enrico63> | see the string XF86 in the output. |
| 2025-10-11 20:54:22 +0000 | <Enrico63> | According to https://wiki.archlinux.org/title/Keyboard_input#Identifying_keycodes_in_Xorg, `xev` seem to be the way. However, I also read that "If you press a key and nothing appears in the terminal, it means that...". |
| 2025-10-11 20:58:26 +0000 | <Enrico63> | Now, as far as scancodes are concerned, the key I'm pressing (actually a combo, namely Fn + F5) does have a scancode, because I can show it via `showkeys --scancodes`, which prints 0x67 0xe7 if I press that combo. Likewise, I can do `showkeys --keycodes`, which prints `keycode 144 press\nkeycode 144 release` for that combo. |
| 2025-10-11 20:59:11 +0000 | <Enrico63> | So it must be that "some other process is capturing the keypress"? In that case, I haven't maneged to run `xinit /usr/bin/xterm -- :1` in a VT :/ |
| 2025-10-11 20:59:13 +0000 | <Enrico63> | Any help^ |
| 2025-10-11 20:59:15 +0000 | <Enrico63> | ? |
| 2025-10-11 21:10:07 +0000 | <haskellbridge> | <geekosaur (@geekosaur:matrix.org)> If xev shows it, it shouldn't be grabbed by anything else |
| 2025-10-11 21:11:15 +0000 | <haskellbridge> | <geekosaur (@geekosaur:matrix.org)> But it sounds like it may not be being handled properly, if it's sending two events/scancodes |
| 2025-10-11 21:21:37 +0000 | <Enrico63> | Mmmm what else can I do to troubleshoot? |
| 2025-10-11 21:23:36 +0000 | <haskellbridge> | <geekosaur (@geekosaur:matrix.org)> First off I would try to figure out what's wrong with the Fn key, since it's being sent separately |
| 2025-10-11 21:24:18 +0000 | <haskellbridge> | <geekosaur (@geekosaur:matrix.org)> (it's the 0x67 code) |
| 2025-10-11 21:49:44 +0000 | <geekosaur> | usually something (ACPI in older machines, EFI BIOS in newer ones) intercepts Fn+key and either handles it itself or passes on a synthetic key; the X server would then produce e.g. XF86AudioRaiseVolume. (this is what happens on both my current and old laptops) |
| 2025-10-11 21:51:04 +0000 | <geekosaur> | very old machines may require a kerbewl module to do this, but I think most of those kernel modules were removed from Linux some years ago |
| 2025-10-11 21:51:08 +0000 | <geekosaur> | *kernel |
| 2025-10-11 22:31:30 +0000 | <geekosaur> | hah, it still exists. thinkpad_acpi.ko |
| 2025-10-11 22:32:00 +0000 | <geekosaur> | (that was the one I was thinking of, I have no idea if you have that or some other model that you'd need to dig up the appropriate kernel module for) |
| 2025-10-11 23:04:00 +0000 | Buliarous | (~gypsydang@46.232.210.139) (Ping timeout: 260 seconds) |
| 2025-10-11 23:04:01 +0000 | tv | (~tv@user/tv) (Ping timeout: 260 seconds) |
| 2025-10-11 23:04:02 +0000 | Buliarou1 | (~gypsydang@46.232.210.139) Buliarous |
| 2025-10-11 23:15:43 +0000 | tv | (~tv@user/tv) tv |
| 2025-10-11 23:17:54 +0000 | Enrico63 | (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed) |
| 2025-10-11 23:27:04 +0000 | lally | (sid388228@id-388228.uxbridge.irccloud.com) (Server closed connection) |
| 2025-10-11 23:27:15 +0000 | lally | (sid388228@id-388228.uxbridge.irccloud.com) lally |