Logs: liberachat/#xmonad
| 2022-10-14 18:25:47 | <geekosaur> | (yes, X11 supports remote windows. usually this is disabled for security reasons but Stoppable still checks for it and refuses to operate if the window might be remote) |
| 2022-10-14 18:27:05 | <T_X> | geekosaur: ah, yes, seems like quasselclient does not have $HOST set: cat /proc/4786/environ | grep HOST -> empty, exit 1 |
| 2022-10-14 18:27:23 | <T_X> | hm, in my zsh I have $HOST set though |
| 2022-10-14 18:28:00 | <geekosaur> | well, it's xmonad that needs HOST set, and it has to be set when X11 starts not merely in a terminal (only Fedora reads your dotfiles when setting up an X session) |
| 2022-10-14 18:28:36 | <geekosaur> | so check environ for the xmonad-x86_64-linux (or etc.) process |
| 2022-10-14 18:29:04 | <geekosaur> | also check `xprop WM_CLIENT_MACHINE` for quasselclient the same way I showed for _NET_WMPID |
| 2022-10-14 18:30:31 | <geekosaur> | fwiw on debian/ubuntu I now use https://github.com/geekosaur/xmonad.hs/blob/skkukuk/10profile in /etc/X11/Xsession.d; something similar might work for other systems |
| 2022-10-14 18:31:21 | <T_X> | ps -Af | grep xmonad | grep -v "grep" -> "myuser 3743 3712 0 Sep28 ? 00:15:57 /home/linus/.xmonad/xmonad-x86_64-linux"; cat /proc/3743/environ| grep HOST -> empty/exit1 |
| 2022-10-14 18:32:16 | <T_X> | xprop WM_CLIENT_MACHINE [on quasselclient window] -> WM_CLIENT_MACHINE(STRING) = "myuser-work"; same as in /etc/hostname |
| 2022-10-14 18:32:27 | justHaunted | is now known as ffffffradiofree |
| 2022-10-14 18:32:48 | ffffffradiofree | is now known as jusFffffffradiof |
| 2022-10-14 18:32:52 | <geekosaur> | okay, so you need to either set $HOST where it'll be found by X11 startup, or use manageRemote hook I pointed to earlier to look up the hostname dynamically |
| 2022-10-14 18:33:46 | <geekosaur> | (getHostName as shown in the example requires Network.BSD import) |
| 2022-10-14 18:36:43 | geekosaur | wonders if it should just assume local host if host etc. isn't set, since nobody much uses remote any more |
| 2022-10-14 18:40:49 | <T_X> | I've added this diff: https://gist.github.com/T-X/c0b4834f55c0ee870b0e9650750befc5. installed the libghc-network-bsd-dev package. and recompiled+restarted xmonad. would I need to restart even more things? |
| 2022-10-14 18:42:17 | <geekosaur> | the quassel client probably since it needs to go through the manageHook for the window to be registered as local |
| 2022-10-14 18:42:31 | <geekosaur> | I would hope it then does the right thing |
| 2022-10-14 18:47:34 | <T_X> | hm, $ ps aux | grep quassel | grep -v grep -> myuser 3275793 0.3 1.1 1789296 182228 pts/7 SNl 20:43 0:00 quasselclient |
| 2022-10-14 18:47:41 | <T_X> | still an "S" instead of a "T" |
| 2022-10-14 18:48:14 | <geekosaur> | you should be able to check that by looking at the XMONAD_REMOTE property of the quasselclient same way you looked at the other two props |
| 2022-10-14 18:48:29 | <geekosaur> | hm |
| 2022-10-14 18:49:09 | <geekosaur> | I didn't see anything obviously wrong with either Stoppable or RemoteWindows |
| 2022-10-14 18:50:24 | <T_X> | sleep 3; xprop XMONAD_REMOTE [on quasselclient window] -> XMONAD_REMOTE(CARDINAL) = 0 |
| 2022-10-14 18:50:57 | <T_X> | maybe xmonad --restart is not enough? do I need to restart the whole X11? |
| 2022-10-14 18:53:04 | <geekosaur> | you shouldn't |
| 2022-10-14 18:53:13 | <geekosaur> | and that is the result you should have gotten |
| 2022-10-14 18:53:29 | <geekosaur> | I wonder if something broke X.U.Timer |
| 2022-10-14 18:54:31 | <Solid> | ShowWName also uses X.U.Timer and AFAIR that's still working fine, so unlikely |
| 2022-10-14 18:56:32 | geekosaur | waiting for weekly backup to finish before testing locally |
| 2022-10-14 19:05:51 | → | Guest93 joins (~Guest93@23-123-16-69.lightspeed.cicril.sbcglobal.net) |
| 2022-10-14 19:06:13 | × | Guest93 quits (~Guest93@23-123-16-69.lightspeed.cicril.sbcglobal.net) (Client Quit) |
| 2022-10-14 19:06:25 | → | Guest93 joins (~Guest93@23-123-16-69.lightspeed.cicril.sbcglobal.net) |
| 2022-10-14 19:09:03 | <Guest93> | Hi everybody. |
| 2022-10-14 19:09:21 | → | kora9 joins (~kora@h-98-128-228-57.NA.cust.bahnhof.se) |
| 2022-10-14 19:10:51 | <geekosaur> | it's bugged |
| 2022-10-14 19:11:03 | <geekosaur> | not timer, but Stoppable |
| 2022-10-14 19:11:16 | → | chomwitt joins (~chomwitt@80.106.160.196) |
| 2022-10-14 19:11:34 | <geekosaur> | I switched away to a different workspace, 15 seconds later the focused window in the new workspace stopped responding 😞 |
| 2022-10-14 19:11:52 | <geekosaur> | hi, Guest93 |
| 2022-10-14 19:12:55 | <T_X> | oh, well, that at least does something :D |
| 2022-10-14 19:14:17 | <Guest93> | Anyone here have any problems with xmobar? For some reason, only a black bar shows up on the top. trayer seems to be working just fine though. |
| 2022-10-14 19:15:56 | <kora9> | I only have problems with it when it's not configured right :) |
| 2022-10-14 19:16:30 | <kora9> | Have you provided it with a config? |
| 2022-10-14 19:17:14 | × | Guest93 quits (~Guest93@23-123-16-69.lightspeed.cicril.sbcglobal.net) (Quit: Client closed) |
| 2022-10-14 19:17:53 | jusFffffffradiof | is now known as justThumbs |
| 2022-10-14 19:20:09 | justThumbs | is now known as justVain |
| 2022-10-14 19:20:49 | × | kora9 quits (~kora@h-98-128-228-57.NA.cust.bahnhof.se) (Quit: WeeChat 3.5) |
| 2022-10-14 19:22:49 | <geekosaur[m]> | It has a built-in configuration if none is provided |
| 2022-10-14 19:27:46 | <geekosaur[m]> | Hm, maybe it's not buggy, I had a terminal open so it may have stopped all of them |
| 2022-10-14 19:28:38 | <geekosaur[m]> | Terminal factories are weird |
| 2022-10-14 19:35:18 | <T_X> | but in theory I should see something wtih "xprop XMONAD_REMOTE" on the quasselclient window? |
| 2022-10-14 19:35:37 | <T_X> | or is there another application I should test which is available on Debian (Sid)? |
| 2022-10-14 19:36:36 | <geekosaur> | it'll be 0 (false) or 1 (true), should be 0 since you're unlikely to be running anything remotely |
| 2022-10-14 19:36:50 | <geekosaur> | you'd have to restart X with TCP socket support enabled |
| 2022-10-14 19:37:32 | → | wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130) |
| 2022-10-14 19:38:32 | <geekosaur> | interestingly, the process I tried (sxiv, image viewer from apt install) shows state S but I know it's stopping stuff because it stopped my terminal earlier |
| 2022-10-14 19:40:02 | <T_X> | geekosaur: ah, right, I tried "ssh -X someserver xmessage "foobar"; and then did a xprop XMONAD_REMOTE on it and I got a XMONAD_REMOTE(CARDINAL) = 1 indeed |
| 2022-10-14 19:40:14 | <geekosaur> | no, it's accruing cpu time |
| 2022-10-14 19:40:20 | <geekosaur> | so it's not opening |
| 2022-10-14 19:40:25 | <geekosaur> | er, not stopping |
| 2022-10-14 19:40:54 | <geekosaur> | oh wait, I tried glxgears to have something that would be active, but it's old style so probably doesn't set _NET_WM_PID |
| 2022-10-14 19:41:25 | <T_X> | right, I also tried glxgears, and no, it has no _NET_WM_PID |
| 2022-10-14 19:41:45 | <geekosaur> | right, just verified that |
| 2022-10-14 19:42:06 | <T_X> | I also checked with "kill -s SIGSTOP" to the quasselclient pid and it indeed switches to "T". so it's not some signal handler overwrites within the client itself |
| 2022-10-14 19:42:16 | <geekosaur> | (I have a bunch of debugging things in my config, I can ctrl-meta-shift-6 a window to see its props for example) |
| 2022-10-14 19:42:58 | <geekosaur> | so Stoppable isn't doing its thing |
| 2022-10-14 19:43:53 | <geekosaur> | the code still looks correct to me, sadly |
| 2022-10-14 19:44:07 | <geekosaur> | file a bug report, maybe someone else can see something I missed |
| 2022-10-14 19:44:24 | <geekosaur> | https://github.com/xmonad/xmonad-contrib/issues/new |
| 2022-10-14 19:45:11 | <T_X> | ok, will do that later. thanks for looking into it though and clarifying regarding how it's supposed to work |
| 2022-10-14 19:53:59 | <geekosaur> | okay, tested again with a different terminal program so I didn't lose one to check in. 15 seconds after switching workspaces, it reported suspended |
| 2022-10-14 19:54:17 | → | noex joins (~null@user/noex) |
| 2022-10-14 19:54:20 | <geekosaur> | "zsh: suspended (signal) xfce4-terminal" |
| 2022-10-14 19:54:32 | <geekosaur> | so it *is* working here |
| 2022-10-14 20:00:00 | <geekosaur> | so now I have no idea why you're having issues with it |
| 2022-10-14 20:06:29 | <geekosaur> | maybe paste your whole xmonad.hs so we can check it |
| 2022-10-14 20:06:32 | <geekosaur> | @where paste |
| 2022-10-14 20:06:32 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 2022-10-14 20:20:38 | → | Guest93 joins (~Guest93@2602:301:77b1:450:d2b5:cb42:c9ba:35fd) |
| 2022-10-14 20:29:25 | <T_X> | geekosaur: https://github.com/T-X/xmonad-config/blob/main-stoppable-test/xmonad.hs |
| 2022-10-14 20:30:14 | <T_X> | ah, maybe I have an idea now. maybe I misread the example |
| 2022-10-14 20:31:46 | <T_X> | ha, yes, of course, I need to switch the layout first with Alt+Space... |
| 2022-10-14 20:32:34 | <T_X> | that works for quasselclient now :D. now need to check this for Firefox too, give me a second |
| 2022-10-14 20:34:39 | <geekosaur> | was just about to ask if you'd alt-spaced 🙂 |
| 2022-10-14 20:35:48 | × | wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 264 seconds) |
| 2022-10-14 20:43:00 | <T_X> | for a dedicated Firefox profile / window this does not seem to work yet though. the xprop _NET_WM_PID seems to return the PID of the initial Firefox process and it is stopped correctly, switches to T. however it's child processes which do the actual work keep on running |
| 2022-10-14 20:43:19 | <T_X> | who would have thought that a shady web bitcoin mining site could turn useful for testing :D |
| 2022-10-14 20:43:41 | <geekosaur> | heh |
| 2022-10-14 20:43:52 | <geekosaur> | yeh, I figured it would do that |
| 2022-10-14 20:44:18 | <geekosaur> | the Stoppable doc warns about chromium which works that way, but was written before firefox started doing the same |
| 2022-10-14 20:44:29 | <geekosaur> | I warned you about that earlier |
| 2022-10-14 20:44:42 | <T_X> | yes, I know :-) |
| 2022-10-14 20:44:56 | <geekosaur> | [14 15:59:09] <geekosaur> I don't know that that layout has been tested with recent versions of firefox, since they do similar things to chromium these days and it says it doesn't work with chromium |
| 2022-10-14 20:47:25 | <T_X> | maybe I need to implement something like a "killall -s SIGSTOP firefox; killall -s SIGSTOP /usr/lib/firefox/firefox" somewhere then when I switch away from my workspaces with Firefox. and somehow start a firefox with a different process names (or use another browser) for the webchat stuff then |
| 2022-10-14 20:47:55 | <T_X> | the killall -s SIGSTOP /usr/lib/firefox/firefox seems to be the call which tames these workers |
| 2022-10-14 20:48:16 | <geekosaur> | the real trick would be to find a programmatic way to access its taks manager so you could suspend the process corresponding to the no-longer-active window |
| 2022-10-14 20:48:38 | <geekosaur> | *task |
| 2022-10-14 20:51:06 | <geekosaur> | or tab as appropriate |
| 2022-10-14 20:53:10 | <T_X> | yeah. though I don't quite trust the Firefox task manager. after a while Firefox seems to need more and more CPU cycles. and even stopping all active tabs via "about:performance" then usually does not lead to low CPU usage of firefox |
| 2022-10-14 20:53:56 | <T_X> | hm, I'm wondering if those child processes are shared between different windows. if so would be annoying to properly stop things on a process base |
All times are in UTC.