Logs on 2025-08-15 (liberachat/#xmonad)
| 00:12:19 | × | tv quits (~tv@user/tv) (Read error: Connection reset by peer) |
| 00:16:10 | → | tremon joins (~tremon@83.80.159.219) |
| 01:01:57 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 260 seconds) |
| 01:03:11 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 01:32:17 | × | ft quits (~ft@p508dba54.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 01:33:52 | → | ft joins (~ft@p508db692.dip0.t-ipconnect.de) |
| 02:11:04 | × | td_ quits (~td@i53870938.versanet.de) (Ping timeout: 260 seconds) |
| 02:12:46 | → | td_ joins (~td@i53870931.versanet.de) |
| 02:21:55 | × | tremon quits (~tremon@83.80.159.219) (Remote host closed the connection) |
| 02:28:13 | → | weitcis joins (~quassel@syn-172-091-071-027.res.spectrum.com) |
| 02:28:51 | × | gauge quits (~gauge@user/gauge) (Read error: Connection reset by peer) |
| 02:32:34 | → | gauge joins (~gauge@user/gauge) |
| 03:02:43 | → | dpn joins (~dpn@121-44-66-107.tpgi.com.au) |
| 03:04:56 | <dpn> | moin - for the life of me I can't figure out why my manageHook is not working with xfce4-notifyd notifications https://gist.github.com/dpnova/b03c7dbb536ddaf731d7bd6d141fdca3 |
| 03:06:02 | <geekosaur> | classNames are usually uppercase initial. you could also try XMonad.Hooks.ManageDebug to see what the manageHook actually sees |
| 03:06:50 | <dpn> | ah - xprop had both listed... it doesn't work with either |
| 03:07:00 | <dpn> | TIL about managedebug, thanks |
| 03:07:27 | <geekosaur> | right, the property contains appName and className in that order |
| 03:07:46 | <dpn> | i noticed I'm not explicitly starting notifyd myself in my xmonad session rc or my config... I dont think startup order would impact this though |
| 03:07:57 | <dpn> | ahh... another TIL thanks! |
| 03:08:26 | <haskellbridge> | <iqubic (she/her)> What does XMonad.Action.CopyWindow do? Surely you can't tell XOrg to draw the same window in multiple places on the screen. |
| 03:09:02 | <dpn> | and now it's working... i swear it was capitalised when i started trying to figure this out earlier... either way, this explains weirdness with manageHook i've had in the past haha. Thanks heaps for the help! |
| 03:09:25 | <geekosaur> | no, it'll only place it at the last place it's told to. but it makes a window "sticky" in the sense that it will be displayed on all workspaces |
| 03:10:08 | <geekosaur> | or to specific workspaces (copyWindow copies to a specific workspace, copyToAll copies to all workspaces) |
| 03:10:22 | <haskellbridge> | <iqubic (she/her)> That's neat! |
| 03:12:43 | <haskellbridge> | <iqubic (she/her)> One thing I still need to do is figure out if it's possible to create a manageHook for Firefox's Picture-In-Picture popout. I want that to float and be in the lower corner and a few other things. I guess the way to handle that would be to xprop the window and check for a property that's different from the main firefox window's properties to isolate that window. |
| 03:12:52 | <haskellbridge> | <iqubic (she/her)> I can do that on my own. I have the skills. |
| 03:15:11 | <geekosaur> | or you could use debugManageHookOn and press the key sequence you selected before popping it out |
| 03:15:23 | <geekosaur> | which is the main reason I wrote ManageDebug |
| 03:15:26 | <haskellbridge> | <iqubic (she/her)> Oh, I didn't know about that. |
| 03:15:40 | <haskellbridge> | <iqubic (she/her)> dpn: You are importing CopyWindows twice. |
| 03:15:55 | <haskellbridge> | <iqubic (she/her)> I'm not sure that's a problem, but it is something with an easy fix. |
| 03:17:40 | <dpn> | sorry using catgirl and didn't realise the brige messages were a portal - where's the other end? |
| 03:17:50 | <geekosaur> | it's not a problem, and both hlint and I think ghc (with -Wall) will warn you |
| 03:18:21 | <haskellbridge> | <iqubic (she/her)> I'm using matrix via Element's Web client. |
| 03:18:54 | <dpn> | ahh cool - I really want to use matrix more... usually an up hill battle trying to convince other people to |
| 03:19:04 | <haskellbridge> | <iqubic (she/her)> When I use things like debugManageNextWindow, where do the messages get put? Does XMonad have a log file? |
| 03:19:05 | <geekosaur> | yes, haskellbridge bridges a number of Haskell IRC channels to matrix.org rooms |
| 03:19:29 | <geekosaur> | if you /whois haskellbridge you'll get a list (well, a URL containing a list) |
| 03:19:49 | <dpn> | i basically only use irc to come here now - might be more convenient to use matrix. cheers |
| 03:21:03 | <haskellbridge> | <iqubic (she/her)> Looking at the code, I see you're just using "trace". But won't that write so stdout? How would I view those messages while xmonad is running? |
| 03:22:52 | <geekosaur> | you look at wherever stderr (not stdout; it actually uses the RTS's debugBelch internally iirc) is going. |
| 03:23:12 | <haskellbridge> | <iqubic (she/her)> Ah. I se. |
| 03:23:33 | <geekosaur> | I've been thinking about how to capture output to a window without having to plumb I/O through the pure parts of a manageHook |
| 03:29:08 | <dpn> | being able to summon a window for the log would be pretty amazing |
| 03:30:03 | <haskellbridge> | <iqubic (she/her)> geekosaur: Isn't calling "trace" technically doing I/O? |
| 03:30:31 | <dpn> | *grabs popcorn* |
| 03:30:45 | <haskellbridge> | <iqubic (she/her)> Or is that a different because "trace" is "MonadIO" action and not an "X Monad" action? |
| 03:31:58 | <geekosaur> | trace uses unsafePerformIO |
| 03:32:16 | <geekosaur> | which is why it has to use debugBelch: you run into problems with locked Handles otherwise |
| 03:32:49 | <haskellbridge> | <iqubic (she/her)> Oh.. So that's not actually "real" I/O. Got it. I see now why opening a window for debug output would be hard. |
| 03:35:49 | <haskellbridge> | <iqubic (she/her)> I was viewing the source code on the Hackage site and the mouse hover info was showing me the signature for this "trace" https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Config-Prime.html#v:trace |
| 03:36:04 | <haskellbridge> | <iqubic (she/her)> I think that's not the same "trace" as DebugManage uses. |
| 03:37:21 | <geekosaur> | that's a bug in how we have things set up. X.C.Prime is an ancient experiment that went nowhere |
| 03:37:37 | <geekosaur> | but haddock insists on linking to everything it exports |
| 03:38:16 | <geekosaur> | I think if you use (and can find) the live docs it's been fixed and will go live with the next release |
| 03:38:25 | <geekosaur> | I can never remember where they live |
| 03:38:37 | <haskellbridge> | <iqubic (she/her)> Is there a new release planned? |
| 03:40:25 | <geekosaur> | not currently |
| 03:41:48 | <haskellbridge> | <iqubic (she/her)> Not sure if this is the live docs, or just a different domain showing the same haddocks. |
| 03:41:53 | <haskellbridge> | <iqubic (she/her)> But I found this: https://xmonad.github.io/xmonad-docs/xmonad-contrib/ |
| 03:42:50 | <geekosaur> | that should be it, maybe we do have a different trace in scope |
| 03:43:28 | <haskellbridge> | <iqubic (she/her)> https://xmonad.github.io/xmonad-docs/xmonad-contrib/src/XMonad.Hooks.ManageDebug.html#debugManageHook |
| 03:44:08 | <haskellbridge> | <iqubic (she/her)> Hovering my mouse over "trace" there shows me "MonadIO m => m ()" as the signature. |
| 03:44:16 | <geekosaur> | yeh, I just saw that |
| 03:44:52 | <haskellbridge> | <iqubic (she/her)> I'm going to assume this is some weirdness related to X.C.Prime and just not worry about this. |
| 03:45:23 | <geekosaur> | hah. it's from XMonad.Core |
| 03:46:07 | <geekosaur> | I guess that means I can get away with plumbing a Handle to an xmessage through there after all |
| 03:46:36 | <haskellbridge> | <iqubic (she/her)> https://xmonad.github.io/xmonad-docs/xmonad/src/XMonad.Core.html#trace |
| 03:47:17 | <haskellbridge> | <iqubic (she/her)> Wait... is that still running unsafePerformIO? I can't tell. |
| 03:48:34 | <geekosaur> | "io" is short for liftIO |
| 03:48:42 | <geekosaur> | which is why the type has a MonadIO constraint |
| 03:51:04 | <haskellbridge> | <iqubic (she/her)> Anyways, what exists now works for me. You don't need to worry about spawning a new window for ManageDebug output unless you want to. |
| 03:51:17 | <geekosaur> | I want to |
| 03:52:07 | <geekosaur> | I've never been very happy about people having to figure out where their session output is (if it's there at all: some systems cap it via cgroups) to use it |
| 03:53:29 | <haskellbridge> | <iqubic (she/her)> I know Haskell well enough to understand the XMonad code, but actually learning all the library functions and types involved to make this work will take me a long while. I've figured out where NixOS put its session output, so I can use this module as it currently is. |
| 04:17:10 | × | haskellbridge quits (~hackager@syn-096-028-224-214.res.spectrum.com) (Remote host closed the connection) |
| 04:17:53 | → | haskellbridge joins (~hackager@syn-096-028-224-214.res.spectrum.com) |
| 06:21:19 | × | ft quits (~ft@p508db692.dip0.t-ipconnect.de) (Quit: leaving) |
| 08:39:27 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 252 seconds) |
| 10:29:36 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 11:31:26 | → | ft joins (~ft@p508db692.dip0.t-ipconnect.de) |
| 12:34:12 | <liskin> | Hm, the "live" docs probably use old ghc. I should fix that. |
| 12:34:26 | <liskin> | Well there's so many things I should do |
| 13:24:44 | → | tv joins (~tv@user/tv) |
| 16:04:39 | × | Digit quits (~user@user/digit) (Read error: Connection reset by peer) |
| 16:05:43 | → | Digit joins (~user@user/digit) |
| 18:05:12 | → | werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 20:34:12 | × | haskellbridge quits (~hackager@syn-096-028-224-214.res.spectrum.com) (Remote host closed the connection) |
| 20:36:31 | → | haskellbridge joins (~hackager@syn-096-028-224-214.res.spectrum.com) |
| 20:39:23 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 21:09:17 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
All times are in UTC on 2025-08-15.