2025/10/11

2025-10-11 02:10:45 +0000L29Ah(~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 +0000td_(~td@i5387093C.versanet.de) (Ping timeout: 240 seconds)
2025-10-11 02:40:54 +0000td_(~td@i53870926.versanet.de) td_
2025-10-11 02:45:48 +0000terrorjack(~terrorjac@2a01:4f8:c17:9d11::) terrorjack
2025-10-11 05:59:06 +0000Solid(~slot@xmonad/slotThe) slot
2025-10-11 07:27:14 +0000Solid`(~slot@2001:9e8:e1b4:6a00:9e90:4010:d016:86ca)
2025-10-11 07:28:51 +0000Solid(~slot@xmonad/slotThe) (Ping timeout: 252 seconds)
2025-10-11 07:56:55 +0000Solid`(~slot@2001:9e8:e1b4:6a00:9e90:4010:d016:86ca) (Ping timeout: 265 seconds)
2025-10-11 08:32:23 +0000Solid(~slot@xmonad/slotThe) slot
2025-10-11 08:38:12 +0000ximon(~ximon@user/ximon) ximon
2025-10-11 08:48:25 +0000ximon(~ximon@user/ximon) (Ping timeout: 250 seconds)
2025-10-11 10:51:01 +0000Solid`(~slot@2001:9e8:e1b4:a300:352d:8fbe:6282:2b2b)
2025-10-11 10:52:51 +0000Solid(~slot@xmonad/slotThe) (Ping timeout: 265 seconds)
2025-10-11 10:53:02 +0000Solid`(~slot@2001:9e8:e1b4:a300:352d:8fbe:6282:2b2b) (Client Quit)
2025-10-11 14:10:07 +0000MrElendig(~Urist@archlinux/op/MrElendig) (Quit: telefrag)
2025-10-11 14:11:31 +0000MrElendig(~Urist@archlinux/op/MrElendig) MrElendig
2025-10-11 16:04:44 +0000ximon(~ximon@user/ximon) ximon
2025-10-11 16:16:03 +0000ximon(~ximon@user/ximon) (Ping timeout: 250 seconds)
2025-10-11 16:20:16 +0000ximon(~ximon@user/ximon) ximon
2025-10-11 16:28:28 +0000ximon(~ximon@user/ximon) (Quit: Client closed)
2025-10-11 18:35:18 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-11 20:44:41 +0000Enrico63(~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 +0000Buliarous(~gypsydang@46.232.210.139) (Ping timeout: 260 seconds)
2025-10-11 23:04:01 +0000tv(~tv@user/tv) (Ping timeout: 260 seconds)
2025-10-11 23:04:02 +0000Buliarou1(~gypsydang@46.232.210.139) Buliarous
2025-10-11 23:15:43 +0000tv(~tv@user/tv) tv
2025-10-11 23:17:54 +0000Enrico63(~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-10-11 23:27:04 +0000lally(sid388228@id-388228.uxbridge.irccloud.com) (Server closed connection)
2025-10-11 23:27:15 +0000lally(sid388228@id-388228.uxbridge.irccloud.com) lally