Logs: liberachat/#xmonad
| 2021-06-22 21:27:19 | <liskin> | perhaps xfc is uninitialized? |
| 2021-06-22 21:27:35 | <liskin> | (I'm assuming XInternAtom can't really return a zero normally, can it?) |
| 2021-06-22 21:27:58 | <dminuoso> | nah, if xfc was uninitialized everything would be crashing left and right |
| 2021-06-22 21:37:26 | <liskin> | yeah, so what do you get if you p all the xfc->_NET_WM_WINDOW_TYPE_DROPDOWN_MENU, xfc->_NET_WM_WINDOW_TYPE_NORMAL, xfc->_NET_WM_WINDOW_TYPE_DIALOG ? |
| 2021-06-22 21:37:38 | <dminuoso> | liskin: Ah I just suck at nix it seems |
| 2021-06-22 21:37:57 | <liskin> | :-D |
| 2021-06-22 21:38:14 | <dminuoso> | nix-shell -p '(pkgs.enableDebugging pkgs.freerdp)' |
| 2021-06-22 21:38:18 | <dminuoso> | Does not do what I think it does |
| 2021-06-22 21:38:24 | <dminuoso> | Bleerg |
| 2021-06-22 21:39:05 | liskin | still knows nothing about nix and after this zurihac, I have even less motivation to learn anything about it then before :-) |
| 2021-06-22 21:39:40 | <dminuoso> | heh, I learned much new stuff today about nixos modules |
| 2021-06-22 21:39:58 | <dminuoso> | its a bit disgusting that you kind of have to understand all the internals in order to not be surprised left and right |
| 2021-06-22 21:40:34 | <liskin> | that's probably true of xmonad too :-) |
| 2021-06-22 21:40:57 | <geekosaur> | true, but a lot less to be understood than of nix |
| 2021-06-22 21:40:57 | <dminuoso> | window_type |
| 2021-06-22 21:41:01 | <dminuoso> | $1 = 393 |
| 2021-06-22 21:41:40 | <dminuoso> | geekosaur: with xmonad you can just use whatever is in contrib and never worry about all the X quirks |
| 2021-06-22 21:41:51 | <dminuoso> | You'll probably survive, until you want to use freerdp.. |
| 2021-06-22 21:41:53 | <dminuoso> | :-P |
| 2021-06-22 21:41:57 | <liskin> | okay fair enough |
| 2021-06-22 21:42:25 | <liskin> | anyway, window_type=393, but you sure that's the one it crashes with? |
| 2021-06-22 21:43:52 | <dminuoso> | Im not sure of anything, this is still an optimized build.. |
| 2021-06-22 21:46:08 | <liskin> | oh |
| 2021-06-22 21:46:39 | <geekosaur> | "If only_if_exists is False, the atom is created if it does not exist. Therefore, XInternAtom() can return None." |
| 2021-06-22 21:47:10 | <liskin> | back when I used to do these things, reading the asm was a good way to tell what the real value might be |
| 2021-06-22 21:47:22 | <liskin> | but gdb would usually tell you if it wasn't sure |
| 2021-06-22 21:47:51 | <liskin> | https://github.com/FreeRDP/FreeRDP/blob/670cf8512ba751054b0e09d5c41e890953fbbb62/client/X11/xf_client.c#L1915 |
| 2021-06-22 21:48:08 | <liskin> | only_if_exists seems to be FALSE, so it should be fine |
| 2021-06-22 21:53:46 | <liskin> | heading to bed, good look with the rest of the debugging, good night :-) |
| 2021-06-22 21:54:24 | <dminuoso> | liskin: thanks! |
| 2021-06-22 21:54:31 | <dminuoso> | Found it |
| 2021-06-22 21:54:33 | <dminuoso> | It was something else |
| 2021-06-22 21:54:41 | <dminuoso> | xf_SetWindowUnlisted(xfc, appWindow->handle); |
| 2021-06-22 21:55:00 | <dminuoso> | If I XSync right before it, everything is fine, XSync after and I get the BadAtom error |
| 2021-06-22 21:55:12 | <dminuoso> | Oh |
| 2021-06-22 21:57:40 | <dminuoso> | That function is optimized away :( |
| 2021-06-22 21:59:29 | <dminuoso> | geekosaur: Thank you too. |
| 2021-06-22 21:59:32 | <dminuoso> | I think I figured it out |
| 2021-06-22 22:35:20 | <dminuoso> | If I read this right, this is a weird memory bug. Should _NET_WM_STATE ever be XA_ATOM? |
| 2021-06-22 22:36:21 | <dminuoso> | https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html |
| 2021-06-22 22:36:28 | <dminuoso> | This suggests it should be an atom list |
| 2021-06-22 22:44:25 | <geekosaur> | there's no difference between a singular value and a list of length 1 |
| 2021-06-22 22:45:54 | <geekosaur> | https://tronche.com/gui/x/xlib/window-information/obtain-properties.html |
| 2021-06-22 22:46:11 | <dminuoso> | geekosaur: https://github.com/FreeRDP/FreeRDP/blob/670cf8512ba751054b0e09d5c41e890953fbbb62/client/X11/xf_window.c#L430-L431 |
| 2021-06-22 22:47:22 | <dminuoso> | Shouldn't that be a None terminated list? |
| 2021-06-22 22:47:42 | × | kajzer quits (~themainma@user/themainman) (Quit: WeeChat 3.1) |
| 2021-06-22 22:48:09 | <geekosaur> | no, there's a length parameter instead |
| 2021-06-22 22:48:44 | <geekosaur> | it's the 2 following the pointer to the values |
| 2021-06-22 22:49:38 | <dminuoso> | Then its completely beyond me. It's specifically that call that generates the BadAtom. |
| 2021-06-22 22:49:48 | <dminuoso> | I managed to narrow it down in an unoptimized build properly |
| 2021-06-22 22:54:23 | <geekosaur> | you can see from all the non-array ones that just use a pointer to the value and a length of 1, things would have exploded well before then if it weren't length delimited |
| 2021-06-22 22:54:50 | <geekosaur> | so I'd check what the atoms are there if possible |
| 2021-06-22 22:57:41 | <geekosaur> | in particular I could see both those atoms not existing if you aren't running a taskbar or pager, so the app would have to create them (!only_if_exists, but I think liskin verified that?) |
| 2021-06-22 22:57:41 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-06-22 22:59:58 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 2021-06-22 23:01:30 | <geekosaur> | yeh, they're all False (except the one that's FALSE but it's not one of these) |
| 2021-06-22 23:01:39 | <dminuoso> | Ive double checked, they all exist |
| 2021-06-22 23:04:17 | <geekosaur> | aha |
| 2021-06-22 23:05:24 | <geekosaur> | they all exist but _NET_WM_STATE is wrapped by get_supported_atom() which checks if it's in _NET_SUPPORTED and returns None if not, and I am pretty sure we don't advertise that one because xmonad itself doesn't care |
| 2021-06-22 23:07:50 | <geekosaur> | confirmed on my own desktop, we don't advertise _NET_WM_STATE |
| 2021-06-22 23:07:52 | <dminuoso> | (gdb) p xfc->_NET_WM_STATE |
| 2021-06-22 23:07:54 | <dminuoso> | $13 = 0 |
| 2021-06-22 23:07:56 | <dminuoso> | Ahhh |
| 2021-06-22 23:08:13 | <dminuoso> | Does xmonad have some hook to advertise this? |
| 2021-06-22 23:08:37 | <geekosaur> | I'm not sure where we currently are on that, there's some stuff in flight for extensible EWMH hooks |
| 2021-06-22 23:08:43 | <dminuoso> | https://hackage.haskell.org/package/xmonad-contrib-0.16/docs/src/XMonad.Hooks.EwmhDesktops.html#setSupported |
| 2021-06-22 23:08:45 | <dminuoso> | Indeed |
| 2021-06-22 23:08:49 | <geekosaur> | which the current iteration of fullscreen windows should use |
| 2021-06-22 23:09:06 | <dminuoso> | Perhaps _NET_WM_STATE even belongs in there |
| 2021-06-22 23:09:46 | <dminuoso> | Though its still a freerdp bug that it checks for supported, and completely ignores the response it gets.. |
| 2021-06-22 23:34:11 | → | henninb joins (~henninb@63.226.174.157) |
| 2021-06-22 23:36:58 | <henninb> | Greetings - with regards to minimizing a window is this how? sendMessage RestoreNextMinimizedWin |
| 2021-06-22 23:37:46 | <henninb> | when I include XMonad.Layout.Minimize, i get an error of Data constructor not in scope |
| 2021-06-23 00:04:37 | <geekosaur> | You send a Minimize message to minimize a window. But see XMonad.Actions.Minimize for more |
| 2021-06-23 00:09:29 | <henninb> | the challenge i am having is compilation, geekosaur. i get an error of Data constructor not in scope |
| 2021-06-23 00:09:41 | <geekosaur> | I don't see RestoreNextMinimizeWin anywhere in the repo, where did you get it? |
| 2021-06-23 00:10:03 | <henninb> | i see people using it in github |
| 2021-06-23 00:10:26 | <geekosaur> | nor do I see anything like it except some similar in concept functions in X.A.Minimize |
| 2021-06-23 00:10:36 | <geekosaur> | can you provide an example? |
| 2021-06-23 00:10:43 | <henninb> | https://github.com/Deepakkoli93/dotfiles-1/blob/cc89434a5f20255d0217918c8fe30c34efa96284/.xmonad/xmonad.hs#L37 |
| 2021-06-23 00:11:24 | <henninb> | maybe this code is depricated. |
| 2021-06-23 00:12:20 | <henninb> | maybe a better question is how can I maximize a window that is minimized? |
| 2021-06-23 00:14:33 | <geekosaur> | which is answered in the current version |
| 2021-06-23 00:15:02 | <henninb> | i will take a look |
| 2021-06-23 00:15:07 | <geekosaur> | RestoreNextMinimizedWin went away some 5 years ago, the replacement is: withLastMinimized maximizeWindow |
| 2021-06-23 00:15:15 | <geekosaur> | which is from XMonad.Actions.Minimize |
| 2021-06-23 00:15:36 | <henninb> | ok, sorry for the dumb question. thanks for pointing that out. |
| 2021-06-23 00:16:18 | <geekosaur> | I had to dig for it myself using git blame |
| 2021-06-23 00:16:43 | <henninb> | :) |
| 2021-06-23 00:16:45 | <geekosaur> | luckily I'm kinda used to xmonad archeology >.> |
| 2021-06-23 00:17:29 | <henninb> | i am loving xmonad. it has helped me slowly learn haskell. |
| 2021-06-23 00:26:03 | <henninb> | thank you geekosaur, have a good day. |
| 2021-06-23 00:31:06 | × | henninb quits (~henninb@63.226.174.157) (Remote host closed the connection) |
| 2021-06-23 02:04:28 | × | banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 252 seconds) |
| 2021-06-23 02:23:24 | → | banc joins (banc@gateway/vpn/airvpn/banc) |
| 2021-06-23 02:55:48 | × | td_ quits (~td@94.134.91.59) (Ping timeout: 252 seconds) |
| 2021-06-23 02:57:42 | → | td_ joins (~td@muedsl-82-207-238-055.citykom.de) |
| 2021-06-23 03:59:49 | → | thunderrd joins (~thunderrd@183.182.114.206) |
| 2021-06-23 05:43:43 | → | backleet joins (~backleet@user/backleet) |
| 2021-06-23 05:53:16 | × | backleet quits (~backleet@user/backleet) (Ping timeout: 252 seconds) |
All times are in UTC.