Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam beta - all Header and Subheader items cannot be clicked/entered #9376

Open
hjpaul7 opened this issue Apr 28, 2023 · 73 comments · Fixed by xmonad/xmonad-contrib#886
Open

Comments

@hjpaul7
Copy link

hjpaul7 commented Apr 28, 2023

Your system information

  • Steam client version (build number or date): 4/27/2023 (I can't click on header to get build number)
  • Distribution (e.g. Ubuntu): Arch 6.2.12
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Every item in the header/toolbar in the new beta client cannot be clicked (any form of dropdown). The dropdown appears for a split second and then disappears. Cannot access any menu, such as settings to revert beta. This includes these items in the header:

  • Steam
  • View
  • Friends
  • Games
  • Help
  • Notifications icon
  • Username (to right of notification icon)

Subheader (can be clicked, but same behavior for dropdowns):

  • Store
  • Library
  • Community
  • Username

Steps for reproducing this issue:

  1. Opt into new 4/27/2023 steam beta
  2. Click literally anything in the header or subheader
  3. Check for system updates
2023-04-27.23-21-47.mp4

Edit: During recording the screencast some of the dropdowns started working, no idea why. Soon as I stopped though they went back to never showing up.

@notpentadactyl
Copy link

I can confirm this issue on XMonad. #9392

@hjpaul7
Copy link
Author

hjpaul7 commented Apr 28, 2023

I should have mentioned: I'm also on XMonad.

@PapaBones
Copy link

On Gnome it also doesn't seem to work, Arch Linux here.
It's likely a continuation of the already mentioned issue. You can click stuff if you hold something like a 4th or 5th mouse button but otherwise you cannot click any submenus, not even right click. For me they don't disappear but I just cannot click them without holding an extra mouse button.

@Valmar33
Copy link

Subheaders always appear clickable in the Library header and any of its subheaders.

But in any of the others, its seemingly random whether they're appear or not.

@NGStaph
Copy link

NGStaph commented May 23, 2023

only works in KDE; clicks may/may not register on gnome

@notpentadactyl
Copy link

the new update seems to have done something.
clicking / mouseover works now for a split second, but still unusable.

@DanMan
Copy link

DanMan commented May 25, 2023

The dropdown in the shop navi itself ("your store", …) is unusable, too. The moment I move the mouse off the top-level navigation item, the dropdown vanishes again.

@notpentadactyl
Copy link

the new update (1686092969) improved it again, it is still a bit busted, but also usable!

@hjpaul7
Copy link
Author

hjpaul7 commented Jun 13, 2023

On latest beta update, not usable for me on XMonad. Whole top two rows are unclickable.

@DanMan
Copy link

DanMan commented Jun 15, 2023

The dropdown in the shop navi itself ("your store", …) is unusable, too. The moment I move the mouse off the top-level navigation item, the dropdown vanishes again.

That's been fixed for me now. 👍

I don't have any issues with the "subheader" or "menu items" on Fedora 38, Gnome with X.org on Nvidia.

@vyuuui
Copy link

vyuuui commented Jun 16, 2023

When hovering any of the subheaders or clicking the menu items. They appear for a split second then disappear. Same with right click context menus.
OS: arch 6.3.4
WM: Xmonad 0.17.2

@notpentadactyl
Copy link

When hovering any of the subheaders or clicking the menu items. They appear for a split second then disappear. Same with right click context menus. OS: arch 6.3.4 WM: Xmonad 0.17.2

with a lot of clicking I can get them to appear (xmonad 0.17.2.9).

@hjpaul7
Copy link
Author

hjpaul7 commented Jun 17, 2023

@kisak-valve This is now in stable and completely broken, can't even enter steam settings. Control + click does not work. Can we get an update on this?

@hjpaul7
Copy link
Author

hjpaul7 commented Jun 20, 2023

I don't see anything in the beta notes, but after the update 10 minutes ago all the popup menus are working perfectly fine now.

@Solitary
Copy link

I don't see anything in the beta notes, but after the update 10 minutes ago all the popup menus are working perfectly fine now.

I am fairly sure that popup menus started working few days ago, I think it was one of those "frontend update" that get applied automatically, all you needed to do was to restart client.

There are still broken right-click context menus all over the place though (even Friends/Chat), but that probably doesn't belong in this issue.

@vyuuui
Copy link

vyuuui commented Jun 20, 2023

I can confirm that everything except right click context menus are working on the beta.

@notpentadactyl
Copy link

I can confirm all header and subheader working on Xmonad for me right now (Steam 1687306661).

@Solitary
Copy link

Solitary commented Jul 2, 2023

The top row menu (Steam View Friends Games Help) stopped recently working again. Context menus just quickly pop up and disappears again, with no chance to click anything.

@hjpaul7
Copy link
Author

hjpaul7 commented Jul 2, 2023

The top row menu (Steam View Friends Games Help) stopped recently working again. Context menus just quickly pop up and disappears again, with no chance to click anything.

Can confirm, latest beta just the top row stopped working again.

@notpentadactyl
Copy link

The top row menu (Steam View Friends Games Help) stopped recently working again. Context menus just quickly pop up and disappears again, with no chance to click anything.

Can confirm, latest beta just the top row stopped working again.

can confirm as well

@Managor
Copy link

Managor commented Jul 4, 2023

Can attest to this being an issue

@ADcorpo
Copy link

ADcorpo commented Jul 11, 2023

Ran into this exact issue while trying to ignore a game from the store. Dropdown on the right of the "ignore" button does appear, but I can't click on any of the two options.

This means I can't ignore games I played on other platforms.

I use archlinux, latest nvidia drivers, on Xorg with i3 window manager.

@chylex
Copy link

chylex commented Jul 11, 2023

openSUSE with KDE, cannot click any menu items. I don't know which version it is, and I cannot opt into any beta client because that apparently requires clicking the "Steam" menu item which does nothing.

@zackattackz
Copy link

Issue for me on xmonad 0.18 as well.

@paboum
Copy link

paboum commented Mar 30, 2024

Is it possible to opt out from the new UI and keep the stable one.

liskin added a commit to liskin/xmonad-contrib that referenced this issue Apr 27, 2024
More specifically, ignore ClientMessageEvents for unmanaged windows.
Steam likes to send _NET_ACTIVE_WINDOW requests for all its windows,
including override-redirect ones, which used to result in an invocation
of `windows` with a no-op Endo—equivalent to a call to `refresh`. But
this refresh makes Steam close its menus immediately.

Fixes: ValveSoftware/steam-for-linux#9376
Related: xmonad/xmonad#451
@liskin
Copy link

liskin commented Apr 27, 2024

Here's an xmonad-contrib pull request that fixes the menu issue and also provides a workaround (needs to be explicitly added to xmonad.hs) for all the annoying flickering that slows down xmonad to a crawl: xmonad/xmonad-contrib#886

Can some people who're affected test this please?

@vifon
Copy link

vifon commented Apr 28, 2024

@liskin I've just tried your patch. It seems to be working, though I didn't check too hard for any undesirable side-effects. The flickering and the resulting slowdowns are both gone. The menus are working too!

I'll keep the patched build running for the foreseeable future and report back any regressions I might notice.

@zackattackz
Copy link

@liskin Seems to work for me as well! I noticed random lagginess in games since I switched to xmonad, I hope this patch also fixes that! Thank you!

liskin added a commit to liskin/xmonad-contrib that referenced this issue Apr 28, 2024
More specifically, ignore ClientMessageEvents for unmanaged windows.
Steam likes to send _NET_ACTIVE_WINDOW requests for all its windows,
including override-redirect ones, which used to result in an invocation
of `windows` with a no-op Endo—equivalent to a call to `refresh`. But
this refresh makes Steam close its menus immediately.

Fixes: ValveSoftware/steam-for-linux#9376
Fixes: xmonad/xmonad#451
@notpentadactyl
Copy link

@liskin thank you, this worked for me too!

@mmarx
Copy link

mmarx commented Apr 29, 2024

Works for me as well, and I have not noticed any regressions so far.

@hjpaul7
Copy link
Author

hjpaul7 commented Apr 29, 2024

Can someone share their xmonad.hs changes for the patch?

@vifon
Copy link

vifon commented Apr 29, 2024

@hjpaul7 Just to be clear, you need to apply the linked patch to your xmonad-contrib package first. Modifying xmonad.hs isn't enough. Once you do that, these are the steps:

  1. Add this import:
import XMonad.Util.Hacks (fixSteamFlicker)
  1. Add fixSteamFlicker to your handleEventHook. In my case I've changed this line:
handleEventHook = handleEventHook baseConfig

…into:

handleEventHook = fixSteamFlicker <+> handleEventHook baseConfig

@zackattackz
Copy link

zackattackz commented Apr 29, 2024

@liskin Hello, not sure if the patch was meant to fix this issue as well, but I am still getting some flickering specifically when steam toasts slide away (the "someone is online" notifications). I probably will just disable these, but I wanted to let you know in case your patch was meant as a fix for this flickering. It is strange because I thought I noticed this was fixed at first, but it seems to come back in certain situations. Will try to reproduce specifically (unless your patch wasn't meant to fix this)
EDIT: to be clear this issue was present before the patch as well, so it's not a regression

@hjpaul7
Copy link
Author

hjpaul7 commented Apr 30, 2024

@hjpaul7 Just to be clear, you need to apply the linked patch to your xmonad-contrib package first. Modifying xmonad.hs isn't enough. Once you do that, these are the steps:

Yup I just wanted to make sure I had the import and eventHook correct.

Wow, that works so well and makes Steam actually usable.

@liskin
Copy link

liskin commented Apr 30, 2024

@liskin Hello, not sure if the patch was meant to fix this issue as well, but I am still getting some flickering specifically when steam toasts slide away (the "someone is online" notifications). I probably will just disable these, but I wanted to let you know in case your patch was meant as a fix for this flickering. It is strange because I thought I noticed this was fixed at first, but it seems to come back in certain situations. Will try to reproduce specifically (unless your patch wasn't meant to fix this)

It's something that I'd expect to be fixed provided you have fixSteamFlicker in your handleEventHook (or some equivalent). If it's not, that probably means those toast windows aren't being matched by this query:

map toLower `fmap` className =? "steam"

You can try https://xmonad.github.io/xmonad-docs/xmonad-contrib-0.18.0.9/XMonad-Hooks-DebugEvents.html#v:debugEventsHook in your config and then you'll be looking for suspicious (large amounts of, due to the sliding effect) ConfigureRequest events. We might need to add another query for these toast windows, or perhaps Steam fails to mark them as override-redirect and then we'd need a ManageHook that matches these and does doIgnore to make them unmanaged.

(Personally I do disable all these notifications but if nobody else figures it out I might try turning them on temporarily and see what happens. It's not a priority, though, to be entirely honest.)

@mmarx
Copy link

mmarx commented May 2, 2024

This seems to be the debugEventsHook output for one of these toasts:

Configure !08800083 "notificationtoasts_1_desktop" 283x70@4837,1402 steamwebhelper/steam (356011)@korenchkin (utility; above skip_taskbar skip_pager)
  above [!08800058 306x61@2026,54 steamwebhelper/steam (356011)@korenchkin (popup_menu)]
Configure !08800083 "notificationtoasts_1_desktop" 283x70@4837,1406 steamwebhelper/steam (356011)@korenchkin (utility; above skip_taskbar skip_pager)
  above [!08800058 306x61@2026,54 steamwebhelper/steam (356011)@korenchkin (popup_menu)]
[…]
Configure !08800083 "notificationtoasts_1_desktop" 283x70@4837,1504 steamwebhelper/steam (356011)@korenchkin (utility; above skip_taskbar skip_pager)
  above [!08800058 306x61@2026,54 steamwebhelper/steam (356011)@korenchkin (popup_menu)]

If I read this correctly, then it seems steam doesn't send a ConfigureRequest, but rather a Configure.

@liskin
Copy link

liskin commented May 2, 2024

If I read this correctly, then it seems steam doesn't send a ConfigureRequest, but rather a Configure.

xmonad doesn't react to ConfigureEvents at all, unless those are from the root window. And the ! means it is indeed override-redirect, so xmonad isn't managing that window at all. Looks like steam just likes to slide its toasts?

But… if that's all that's happening, I wouldn't expect any flickering. Can you confirm those notification toasts have no borders? And elaborate where exactly you're seeing the flicker?

@mmarx
Copy link

mmarx commented May 2, 2024

I have looked a bit further into this, and indeed it seems that these notification toasts don't cause flickering. I was sure I had encountered some flickering after applying the patch, but so far, I have not been able to observe it anymore after enabling the debug logging.

Edit: Now that I've taken out the debugEventsHook again, it took not even 12 minutes to see the flicker again …

@mmarx
Copy link

mmarx commented May 7, 2024

I have finally managed to capture the debug output of a flicker-triggering notification. The notification toasts do not have borders (they never had, as far as I can remember). What flickers is the foreground window (in this case, emacs), over which the notification toast was drawn.

Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 95%
Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%
Property on [03a00002 "zsh /mnt/…" 2558x1414+1@0,24 Alacritty/Alacritty (3121)@korenchkin (normal)]
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%
Configure [!07a00088 "SteamWebhelper" 283x70@3728,715 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)]
  above [07a00071 "Friends List" 2558x1414+1@2560,24 steamwebhelper/steam (2350489)@korenchkin (normal)]
Configure !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1510 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
  above [07a00071 "Friends List" 2558x1414+1@2560,24 steamwebhelper/steam (2350489)@korenchkin (normal)]
MapNotify !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1510 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
ClientMessage on !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1510 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
  message _NET_WM_STATE (_NET_WM_STATE) = (action = Clear,atom1 = _NET_WM_STATE_MAXIMIZED_VERT,atom2 = _NET_WM_STATE_MAXIMIZED_HORZ) and remainder (12/20)[0,0,0,0,0,0,0,0]
ClientMessage on !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1510 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
user error (Pattern match failure in 'do' block at XMonad/Hooks/DebugEvents.hs:1262:16-28)
Configure !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1506 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
  above [07a00071 "Friends List" 2558x1414+1@2560,24 steamwebhelper/steam (2350489)@korenchkin (normal)]
[...]
Configure !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1404 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
ClientMessage on 08800757 "" 200x52@41,755 emacs/Emacs (2798)@korenchkin (normal)
xmonad: X11 error: BadAtom (invalid Atom parameter), request code=17, error code=5
  message _NET_WM_STATE (_NET_WM_STATE) = (action = Clear,atom1 = _NET_WM_STATE_HIDDEN,atom2 = (unknown atom 0)) and remainder (12/20)[1,0,0,0,0,0,0,0]
Unmap [08800757 "" 200x52@41,755 emacs/Emacs (2798)@korenchkin (normal)]
Configure !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1374 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
  above [07a00071 "Friends List" 2558x1414+1@2560,24 steamwebhelper/steam (2350489)@korenchkin (normal)]
[…]
Configure !07a00088 "notificationtoasts_3_desktop" 283x70@4837,1508 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)
  above [07a00071 "Friends List" 2558x1414+1@2560,24 steamwebhelper/steam (2350489)@korenchkin (normal)]
Unmap [!07a00088 "notificationtoasts_3_desktop" 283x70@4837,1508 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)]
Unmap [!07a00088 "notificationtoasts_3_desktop" 283x70@4837,1508 steamwebhelper/steam (2350489)@korenchkin (utility; above skip_taskbar skip_pager)]
MapNotify !07e00065 283x70@0,0 (2350489)@korenchkin (notification; skip_taskbar)
MapRequest [07e00063 283x70@0,0 (2350489)@korenchkin]
  parent 000001e0 7680x1440@0,0
user error (Error in function getWindowAttributes)
DestroyWindow (deleted window 07a00088)
Unmap (deleted window 07e00065)
Unmap (deleted window 07e00065)
DestroyWindow (deleted window 07e00065)
DestroyWindow (deleted window 07e00063)
Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 95%
Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%
Property on [03a00002 "zsh /mnt/…" 2558x1414+1@0,24 Alacritty/Alacritty (3121)@korenchkin (normal)]
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%
Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 95%
Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%
Property on [03a00002 "zsh /mnt/…" 2558x1414+1@0,24 Alacritty/Alacritty (3121)@korenchkin (normal)]
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%
Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_STATE (ATOM) = []
Property on 088000ad "….tex - GNU Emacs at korenchkin" 2558x1414+1@2560,24 emacs/Emacs (2798)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 95%
Property on 07200006 "….pdf " 2558x1414+1@0,24 okular/okular (3234240)@korenchkin (normal)
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%
Property on [03a00002 "zsh /mnt/…" 2558x1414+1@0,24 Alacritty/Alacritty (3121)@korenchkin (normal)]
  atom _NET_WM_WINDOW_OPACITY (CARDINAL) = 75%

@liskin
Copy link

liskin commented May 7, 2024

@mmarx Hm, nothing in there looks suspicious at a glance. Can you perhaps elaborate on which parts of this are repeating while the flicker is going on? Or is this whole thing repeating in the logs?

(Also, which part of emacs flickers? The border or just the inside of the window?)

@mmarx
Copy link

mmarx commented May 7, 2024

The only repeating parts are the Configures, most of which I have cut out. The emacs is on a Full layout, so it doesn't have any borders; the insides definitely flicker.

@liskin
Copy link

liskin commented May 7, 2024

Hm, flickering of emacs' insides shouldn't be related to xmonad…

It could just be that the notification toasts are moving around and emacs struggles to keep up redrawing. Are you running a compositor (xcompmgr, compton, picom, something like that)? I'm only seeing Expose events (those cause the insides of a window to get redrawn) if I disable compositing, otherwise windows have backing stores and don't need to be redrawn when windows above them get moved around.

@mmarx
Copy link

mmarx commented May 7, 2024

I do run picom. Since it's been so hard to reproduce the flickering, this might indeed be related to emacs. I'm not sure how to debug this further, though.

geekosaur pushed a commit to geekosaur/xmonad-contrib that referenced this issue May 30, 2024
More specifically, ignore ClientMessageEvents for unmanaged windows.
Steam likes to send _NET_ACTIVE_WINDOW requests for all its windows,
including override-redirect ones, which used to result in an invocation
of `windows` with a no-op Endo—equivalent to a call to `refresh`. But
this refresh makes Steam close its menus immediately.

Fixes: ValveSoftware/steam-for-linux#9376
Fixes: xmonad/xmonad#451
@Managor
Copy link

Managor commented Nov 20, 2024

Is this still an issue?

@justinpombrio
Copy link

Yes, I still have this issue. Clicking on a menu at the top of the screen (Steam or View) briefly shows the menu, but then it disappears. Holding down the mouse button doesn't help, nor does holding Ctrl. So I have no means to select anything from any of the top menus. I'm on:

  • Linux Mint 20.3
  • Using XMonad
  • Steam just updated, so it's presumably the latest version

@liskin
Copy link

liskin commented Nov 20, 2024

Yes, I still have this issue. Clicking on a menu at the top of the screen (Steam or View) briefly shows the menu, but then it disappears. Holding down the mouse button doesn't help, nor does holding Ctrl. So I have no means to select anything from any of the top menus. I'm on:

  • Linux Mint 20.3
  • Using XMonad
  • Steam just updated, so it's presumably the latest version

What version of xmonad? We fixed worked around this in xmonad-contrib 0.18.1 — xmonad/xmonad-contrib@700507f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.