Home liberachat/#xmonad: Logs Calendar

Logs on 2023-03-19 (liberachat/#xmonad)

00:10:23 × noex quits (~null@user/noex) (Quit: :q!)
00:55:09 × chomwitt quits (~chomwitt@ppp-94-67-217-45.home.otenet.gr) (Ping timeout: 250 seconds)
01:16:03 Guest18 joins (~Guest18@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net)
03:03:28 × banc quits (~banc@154.47.24.197) (Ping timeout: 246 seconds)
03:05:50 × kora9 quits (uid591798@user/Kora9) (Quit: Connection closed for inactivity)
03:17:28 × td_ quits (~td@i5387093F.versanet.de) (Ping timeout: 246 seconds)
03:19:34 td_ joins (~td@i5387093A.versanet.de)
03:22:59 banc joins (~banc@154.47.24.197)
03:41:59 hightower4 joins (~hightower@13-222.dsl.iskon.hr)
03:45:16 × hightower3 quits (~hightower@166-57.dsl.iskon.hr) (Ping timeout: 276 seconds)
04:17:22 catman joins (~catman@user/catman)
04:24:35 × catman quits (~catman@user/catman) (Ping timeout: 246 seconds)
06:28:50 × scardinal quits (~supreme@customer-212-237-101-39.ip4.gigabit.dk) (Quit: leaving)
06:32:27 scardinal joins (~supreme@customer-212-237-101-39.ip4.gigabit.dk)
07:46:44 dge joins (~jeromelan@221-22-190-109.dsl.ovh.fr)
07:53:55 <dge> Hi, can someone explain me or sent to me a link that show me how to test XMonad config (maybe with Xephyr or anything else) ? I would like to try XMonad and Haskell language to replace maybe my AWesome WM. I did install xmonad from his git repo and compil with a xmonad.hs config file very basic. When i start a session from SDDM, i have an "ok" button in the middle and everything seems to be like frozen (have to reboot next). So i want to test
07:53:55 <dge> it before to apply a config and be able to read some error log or something helpfull to fix my first problem.
07:56:47 <dge> (also, just tell me if you can read my message, because i testing also my irc connection)
08:09:19 <[Leary]> dge: Have you tried the default keybinds? Mod+? to show help with xmessage, Mod+Shift+Enter for an xterm, etc.
08:20:30 <dge> yes, i did try all of them. I also used the mod4 key instead of Alt key to access the default one. At run time, i tryed both Alt and mod4 ones with many combi (like terminal start, help message, and so on). No one worked, but looks like freeze at start. No error message from compil config file.
08:25:02 <[Leary]> And you're sure you have xmessage and xterm on your system?
08:33:11 <dge> i use alacritty and did config terminal to be alacritty at terminal call key binding. i don't have "xmessage" installed, and not find any in kind of ubuntu repos (pop_os the same).
08:33:39 <dge> but my question was on "how to test xmonad" (like... with Xephyr maybe) ?
08:33:56 <dge> and get error message back to be able to fix things myself maybe.
08:39:13 <[Leary]> Yes, and there are ways, but it's usually easier to test in action. It's a long time since I've used Xephyr for this and I don't recall the details. They might be in the xmonad-test repo if it still exists, but it's almost certainly out of date. In any case, it looks like x11-utils will give you xmessage, which should show you the errors.
08:52:14 <dge> "easier" ? To reboot at each freeze time and get no error message ? You are thinkingit is easier to practice tests this way ? Or is it esier for YOU only due to no help time for Xephyr ? I ay prefer to wait for someone that can help me to install and use a real test process than to reboot all the time with nothing to look at for error.
08:53:05 <dge> but, thank you for your ppurpose and your time, i do appreciate it.
08:54:30 <[Leary]> Normally you should be able to just exit to your login/display manager instead, so it shouldn't be such a hassle.
08:55:43 <[Leary]> I suspect an issue with whatever script is trying to start xmonad, but the other possibility is that your config does compile to a loop. If so, you may be able to kill it via tty.
08:56:14 <[Leary]> Though it would be best to just erase the config and try the defaults first.
09:00:00 <[Leary]> Your session logs may also have something to say, though I couldn't tell you where to look for them; it's different on every distro.
09:18:11 <dge> So, each time i will increase my config file, line by line i will reboot... that is, for you, not a hassle loosing tie instead of runing test from a xephyr session ? Ok. have a good day man, i have no time for that.
10:11:27 <liskin> dge: instead of rebooting, you should be able to use Ctrl-Alt-F1/F2/… to switch to another console and kill the nonresponsive session
10:11:46 <liskin> actually you can run multiple X sessions this way as well and switch between them
10:12:01 <liskin> it might be easier (admittedly not as convenient) than running Xephyr
10:12:44 <liskin> using Xephyr involves some xauth hassle that I don't remember (it's in bash history on my other laptop, but I won't have time to open that one until tomorrow)
10:14:39 <liskin> also, you might want to disable DontZap temporarily and use Ctrl-Alt-Backspace to kill the X: https://unix.stackexchange.com/questions/375/how-to-enable-killing-xorg-with-ctrlaltbackspace
10:15:14 <liskin> (it's a bad idea to leave that on as then pranksters can come and kill your session, but then if they have physical access you've lost anyway, so… meh)
10:42:06 chomwitt joins (~chomwitt@2a02:587:7a12:e700:1ac0:4dff:fedb:a3f1)
11:59:45 thunderrd joins (~thunderrd@183.182.111.130)
12:23:08 <dge> Why no tjust make it simple and use Xephyr ? Ask yourself why...
12:23:32 <dge> What is the most simple and clean ?
12:23:48 <dge> please... let's be factual.
12:49:40 <geekosaur> xephyr doesn't seem that hard for me? is this a fedora thing? or just that I use `startx -- :1` with a `.xserverrc` to launch it?
12:50:23 <Solid[m]> Yes, I just have something like
12:50:23 <Solid[m]> Xephyr -br -ac -noreset -screen 800x600 :1 &
12:50:23 <Solid[m]> DISPLAY=:1 xmonad
12:50:23 <Solid[m]> in a script
12:51:12 <Solid[m]> but dge do note that compilation errors will not trash your xmonad executable, you will still be running the old version
12:51:17 <geekosaur> but I have a full sandboxing setup so I can test user configs
12:51:43 <Solid[m]> so this kind of stuff might not be as useful as you think it will
12:51:50 <geekosaur> (that's how I debugged the join point bug and the windowNavigation thing among others)
14:31:24 × VarikValefor[m] quits (~varikvale@2001:470:69fc:105::a5d) (Ping timeout: 265 seconds)
14:31:53 × geekosaur[m] quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 265 seconds)
14:33:04 lisk1n joins (~liskin@xmonad/liskin)
14:34:17 × liskin quits (~liskin@xmonad/liskin) (Ping timeout: 265 seconds)
14:43:33 VarikValefor[m] joins (~varikvale@2001:470:69fc:105::a5d)
14:48:01 geekosaur[m] joins (~geekosaur@xmonad/geekosaur)
15:09:07 qbt joins (~qbt@user/edun)
15:50:00 × chomwitt quits (~chomwitt@2a02:587:7a12:e700:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds)
16:03:06 × qbt quits (~qbt@user/edun) (Quit: WeeChat 3.5)
16:41:13 <geekosaur> dge, re xmessage on debian
16:41:16 <geekosaur> skkukuk «xmonad:skkukuk» ⁅xmonad-bsa⁆ Z$ dpkg -S /usr/bin/xmessage
16:41:16 <geekosaur> x11-utils: /usr/bin/xmessage
16:41:39 <geekosaur> should be able to get that from apt-cache as well
16:42:10 <geekosaur> debian/ubuntu/probably popos
16:50:16 <geekosaur> also there are certainly ways for an xmonad config to break things completely; the simplest is to set the `handleEventHook` to `return (All False)` or equivalent
17:32:36 × jabuxas quits (~jabuxas@user/jabuxas) (Ping timeout: 255 seconds)
17:34:20 jabuxas joins (~jabuxas@user/jabuxas)
18:15:23 <dge> i was afk... Xephyr is new to me, but i was thinking (and it seems i'm wrong) that XMonad lovers used it for test XMonad config, as AwesomeWM users use awmtt, who is a kind of Xephyr helper to test rc.lua config file for Awesome).
18:15:55 <dge> I'm under Pop!_OS who is an Ubuntu-22.04 distro.
18:16:32 <dge> I was using GDM3 but just installed and use now SDDM (lighter and good enaugh to me).
18:16:58 <dge> @Solid[m], thank you, i'm going to try this.
18:16:59 <lambdabot> Unknown command, try @list
18:18:06 <geekosaur> I think xmonad users just mod-q and hope for the best 🙂
18:18:27 <geekosaur> I mean, usually if it compiles it works
18:18:34 <dge> Solid[m], yes, thank you. Sure, i dio use ~/.cache/xmonad/xmonad-x86_64-linux compiled version
18:18:55 <geekosaur> not guaranteed but the compiler really does catch most mistakes
18:19:49 <dge> geekosaur, i was thinking the same but... i'm very newby with that and also Haskell. So... i'm trying to win a bit of time by increase my capacity of testing faster because i know i will make a lot of error but still will customize and learn from them.
18:20:35 <dge> I also failed to find any Google best Haskell lovers users practice to config and test XMonad.
18:22:12 <dge> geekosaur, about xmessage, yes, it is inside my x11-utils package. So i have it installed.
18:31:22 <dge> sandboxing setup is something that should be a very good idea. I arrived to start xmonad on Xephyr (thanks geekosaur) but yeah... no error and Awesome still get my key bindings and not Xephyr, so untestable this way ! Maybe also a VM to run can be nice...
19:38:46 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
19:47:29 <dge> even through a VM, and following the official install method with default config, and default session, it failed with no error printed and it run the Gnome session. even from startx or from default xsession or what ever...
19:48:35 <geekosaur> if it's running the gnome session then it's not even attempting xmonad
19:48:49 <geekosaur> there's no fallback mechanism in X11 startup
19:58:27 <dge> not from startx, but from sddm
19:59:08 <dge> it looks like i missed something on xmonad.hs config file maybe
19:59:23 <geekosaur> @where paste
19:59:23 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
20:03:51 <dge> ok, i get a compilation error after to try from stack recompile.... due to version between ghc and stack (8.10 for ghc and 9.2.7 from stack) that is bad. I have to upgrade stack, but missing space on VM disk (crying)...
20:33:23 × dge quits (~jeromelan@221-22-190-109.dsl.ovh.fr) (Ping timeout: 246 seconds)
21:35:51 Guest1886 joins (~Guest18@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net)
21:43:10 <Guest1886> Having trouble with an app stealing keyboard focus. Reproduced this with a minimal xmonad config (i.e. just `import XMonad; main = xmonad def`). Repro: with the minimal config launch Godot4 (stable), and switch to a terminal with `modmask+j` then resize window with `modmap+h` and observe that keystrokes go to the Godot4 window even though the
21:43:11 <Guest1886> terminal's borders are highlighted. I'm running latest ArchLinux:
21:43:58 <Guest1886> libx11 1.8.4-1
21:43:59 <Guest1886> xmonad 0.17.1-87
21:43:59 <Guest1886> xmonad-contrib 0.17.1-86
21:44:00 lisk1n is now known as liskin
21:44:23 <geekosaur> you're saying the xmonad keys are going to the app?
21:44:34 <Guest1886> all keys are going to the app
21:44:43 <geekosaur> that requires it to have done a key grab, which we can't prevent
21:44:50 <Guest1886> xmonad keys still work
21:44:54 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
21:45:00 <geekosaur> oh
21:45:31 <Guest1886> It doesn't happen in e.g. Ubuntu 22.04 (with alt-tab)
21:46:28 <Guest1886> i.e. with Ubuntu's stock window mgr and desktop
21:47:02 <geekosaur> have you tried it with xmonad on ubuntu? or with a different window manager on arch?
21:47:36 <geekosaur> we've had problems with arch's packaging of Haskell stuff (and in particular xmonad) but this would be somewhat weird
21:48:45 <Guest1886> I tried xfce and lxde on arch and saw the issue randomly on lxde (alt-tabbing) but not on xfce. I'm trying xmonad in Ubuntu next
21:50:54 <Guest1886> This is a related issue for Godot https://github.com/godotengine/godot/issues/74587 but it isn't really getting any attention leading me to think that not many people are seeing it. So I'm not sure what software has the issue.
21:53:02 <Guest1886> As above, I reproduced with min config but I noticed that the problem is much more aggressive with my full config, notably with bluetile (i.e. grabs keyboard more often and much harder/nearly impossible to get keyboard focus back even when clicking mouse on intended window)
21:53:11 <geekosaur> sounds like that's actually two issues, an earlier Windows-specific one and a more recent one that repros in lxde and i3
21:53:18 <geekosaur> and, apparently, xmonad
21:53:55 <geekosaur> the i3 reproduction is 3 days old
21:54:18 <geekosaur> which means just before the weekend so probably nobody sees it until tomorrow 🙂
21:55:17 <Guest1886> yes, I was thinking more of a general issue originally with the windows problem but since it didn't show up in Ubuntu (stock WM) or Arch XFCE it seems like the windows issue might be unrelated and that the i3 and xmonad issues *might* be caused by similar implementations (??)
21:55:56 <geekosaur> well, we're both tiling, but that doesn
21:55:59 <geekosaur> 't explain LXDE
21:56:30 <geekosaur> I'd be curious as to whether it also happens with LXQt (same environment different implementation)
21:57:12 <Guest1886> I'll test LXQt in Arch too
21:57:15 <geekosaur> in any case it sounds like it's stealing focus
21:59:09 <Guest1886> So I don't know much about X11 implementation but it sounds like client windows can choose to steal focus, overriding any focus controls implemented in window managers?
21:59:23 <geekosaur> (LXDE is Gtk based, LXQt is part of a long term move from Gtk to Qt)
21:59:30 <geekosaur> yes
21:59:42 <geekosaur> it's strongly frowned upon
21:59:51 <Guest1886> gotcha
22:00:43 <geekosaur> but the same API is used for a program to set focus to an internal widget so they can't simply remove it
22:07:45 <Guest1886> btw I found running `watch -n0.1 xdotool getwindowfocus getwindowname` useful for debugging this
22:08:50 <Guest1886> just prints the currently focused window and the bug can be seen when it prints the Godot window name while xmonad is highlighting a different window
22:09:36 × Guest1886 quits (~Guest18@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net) (Quit: Client closed)
22:09:36 × Guest18 quits (~Guest18@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net) (Quit: Client closed)
22:27:25 Guest1886 joins (~Guest1886@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net)
22:28:11 <Guest1886> LXQt on Arch behaved the same as LXDE did
22:30:20 <Guest1886> However there is a difference between what LXDE/Qt are doing and what XMonad is doing. LXDE/Qt keep correct window highlighting but XMonad doesn't
22:32:15 <Guest1886> i.e. in the video ( https://github.com/godotengine/godot/issues/74587#issuecomment-1466538062 ) at 15 seconds you can see alt-tab to terminal fails but the Godot window keeps the highlighting. But when in XMonad the terminal I wan't to type in gets highlighted but the keystrokes keep going to Godot
22:33:20 <geekosaur> hm. normally xmonad should get the focus change event and update the borders
22:35:23 <Guest1886> Yes that's what's making think that at least part of the prob is in XMonad
22:45:39 <geekosaur> https://paste.tomsmeding.com/Cx907lfH
22:46:21 <geekosaur> then check the session log when this is happening. it should show either or both of FocusChangeEvent or CrossingEvent happening
22:46:38 <geekosaur> (probably FocusChangeEvent since the mouse isn't causing it_
22:46:41 <geekosaur> )
22:48:02 <Guest1886> Will do
22:48:43 <Guest1886> Also just confirmed bug occurs in Ubuntu 22.04.2
22:49:07 <Guest1886> xmonad 0.15
22:49:11 <Guest1886> totally default
22:51:25 <geekosaur> the other alternative is you'll see a whole bunch of them, which would mean xmonad is indeed trying to track it but it's fighting with godot4 and you can't see the focus changes because they're happening too quickly
22:52:04 <geekosaur> although in that case this might slow things down just enough to make them visible
22:57:03 <geekosaur> one other thing to try is to enable EwmhDesktops and see if it still happens. for backward compatibility reasons we don't support EWMH by default, only ICCCM
22:57:17 <Guest1886> xmonad.hs:6:30: error:
22:57:18 <Guest1886>     • Data constructor not in scope:
22:57:18 <Guest1886>         All :: Bool -> base-4.15.1.0:Data.Semigroup.Internal.All
22:57:19 <Guest1886>     • Perhaps you meant variable ‘all’ (imported from Prelude)
22:57:19 <Guest1886>   |
22:57:20 <Guest1886> 6 | debugFocusEvents _ = return (All True)
22:57:20 <Guest1886>   | ^^^
22:57:21 <Guest1886> Please check the file for errors.
22:57:31 <Guest1886> Tried `import Data.Semigroup.Internal` also
22:57:38 <geekosaur> but this breaks a number of modern programs (for example, LibreOffice will get into a focus loop without EWMH)
22:57:48 <geekosaur> oh, sorry, need to import Data.Monoid, forgot that
22:58:00 <Guest1886> yeah I normally use EWMH and still saw the bug
22:58:15 <geekosaur> https://paste.tomsmeding.com/cmdAN7aB
23:00:37 <geekosaur> (…Data.Semigroup.Internal? It doesn't make any sense as a semigroup, it needs `mempty`)
23:01:00 <geekosaur> guess they have weird organization for those modules
23:07:54 <Guest1886> Which log should I look at? ~/.local/share/xorg/Xorg.0.log and /var/log/Xorg.0.log don't seem to have anything
23:08:36 <Guest1886> I don't see anything under .xmonad/
23:08:52 <geekosaur> session log
23:09:03 <geekosaur> for startx it'll be the text console
23:09:17 <geekosaur> for display managers other than sddm it's ~/.xsession (usually)
23:10:06 <geekosaur> for sddm it's ~/.local/share/sddm/xorg-session.log
23:10:30 <geekosaur> sorry that was ~/.xsession-errors
23:11:15 <geekosaur> for display managers other than sddm that is
23:11:48 <Guest1886> ok I use startx... trying to find the magic ctrl-alt-f# key...
23:12:04 <geekosaur> should be ctrl-alt-f1
23:12:47 <Guest1886> yeah I expected that but only >1 are working (new logins only)
23:13:03 <geekosaur> although for some reason I've never understood that doesn't work on ubuntu, I always have to ctrl-alt-f2 and then alt-f1
23:15:22 × Guest1886 quits (~Guest1886@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net) (Quit: Client closed)
23:15:30 <geekosaur> oops?
23:27:52 Guest1886 joins (~Guest1886@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net)
23:31:44 <Guest1886> https://pastebin.com/GFm11sne
23:31:48 <geekosaur> did you survive?
23:34:12 <geekosaur> odd, looks like you killed it with ^C?
23:34:26 <geekosaur> no focus changes logged, at least
23:34:57 <Guest1886> yeah... startx wouldn't work while `script` was running so I just did `startx &> log`
23:34:58 <geekosaur> so whatever godot is doing, xmonad isn't being informed of it by the server 😞
23:38:39 <Guest1886> Also, I had to start xmonad/startx with my usual config then reload to your debug config in-session. When I started with the debug config I had no input at all and had to `killall xorg` from another console.
23:39:16 <Guest1886> I didn't see any obvious xmonad debug output in my pastebin, just the usual reload stuff
23:39:43 <geekosaur> it should only have been logging focus change related events
23:40:07 <geekosaur> I could have had you run debugEventsHook unconditionally but that would produce a lot of spam
23:40:34 <geekosaur> that thing about the debug config sounds very wrong
23:43:25 × Guest1886 quits (~Guest1886@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net) (Quit: Client closed)
23:43:37 <geekosaur> no, I had `return (All True)`. but it sounds as if it got `False` instead
23:43:39 <geekosaur> sigh
23:47:46 Guest1886 joins (~Guest1886@node-1w7jr9yaj7srjfo5i42ldx870.ipv6.telus.net)
23:50:03 <Guest1886> ok I tried again and everything worked with the debug script at session start, it just took longer than expected for alt+p to bring up dmenu
23:52:29 <Guest1886> output looks similar, no focus change events. But I don't see any focus change events for `arandr` or the terminals I ran either. Is that expected?
23:53:02 <geekosaur> arandr uses an override-redirect window, which can't be focused
23:54:23 <geekosaur> the terminals won't show one on startup because that's a MapNotify event that includes focus. but switching focus from godot to the terminal should I think have included one
23:54:33 <geekosaur> (although the fact that we do it might suppress it)
23:55:05 <geekosaur> in any case the important but missing one is where godot is stealing focus back
23:57:14 <geekosaur> I don't know what it's doing but the fact that xmonad doesn't receive an event from the server makes it impossible for xmonad to show it
23:59:49 <geekosaur> but then, how does e.g. LXDE know?

All times are in UTC on 2023-03-19.