bbidulock / icewm

A window manager designed for speed, usability, and consistency
Other
597 stars 99 forks source link

Strange window activation problem. #755

Closed gensenio closed 7 months ago

gensenio commented 1 year ago

I have a strange annoying window activation problem:

It happens with some application like Intellij Idea, DBeaver (that are java apps) but also with kde krdc app. After a while it happens that when i switch back to one of this windows using the taskbar the window is shown but is not activated. If I click on the window content i don't get the cursor and i cannot write text.

Sometimes after clicking multiple times on the window title bar or content the window get activated.

If i click on another window and then back the window is always activated correctly and also if i restart icewm.

Any suggestion on how debug this to give you more info?

Thanks in advance.

gijsbers commented 1 year ago

Give versions of your java, icewm. Do DBeaver and krdc need to be connected or can i just start them and repeat your problem?

gensenio commented 1 year ago

Version of Icewm is: IceWM 3.4.4, Copyright 1997-2012 Marko Macek, 2001 Mathias Hasselmann.)

Im running on Gentoo linux x86-64 with kernel 6.1.57-gento and Nvidia Quandro T2000 with proprietary drivers.

Intellij IDEA use and embedded version of java: IMPLEMENTOR="JetBrains s.r.o." IMPLEMENTOR_VERSION="JBR-17.0.9+7-1000.46-jcef" JAVA_VERSION="17.0.9" JAVA_RUNTIME_VERSION="17.0.9+7-b1000.46" LIBC="gnu" OS_ARCH="x86_64" OS_NAME="Linux"

The version of intellij is: IntelliJ IDEA 2023.2.5 (Ultimate Edition).

DBeaver also use an embedded jre: JAVA_VERSION="17.0.6"

For DBeaver maybe it's enough to open a SQL editor without a connection to reproduce the issue.

For KRDC i experiment the issue when i'm connected to a windows server using rpc. In this case the issue is very strange: I usually keep open a terminal on the remote server and, when i switch to the KRDC window i cannot focus anymore on it. instead if i click a window context menu opens like if some mod key is pressed.

But to be honest i didn't understood the steps to reproduce this behavior.... it happens after some time. The next time it happens again maybe i can try to record the screen.

Thanks again for the quick reply.

gijsbers commented 1 year ago

Are these all icesh -a focusmodel: Globally? Does it help to open and close a terminal?

gensenio commented 1 year ago

if i run the comman now (that i have several windows onpen (and one is DBeaver and another is Intellij) i get this: 0x2e0001b focusmodel Passive 0x2e0001c focusmodel Passive 0x44000f5 focusmodel Globally 0x3e00006 focusmodel Locally 0x600004f focusmodel Locally 0x2e00059 focusmodel Passive 0x580000e focusmodel Locally 0x4200006 focusmodel Locally 0x2e00067 focusmodel Passive 0x6200007 focusmodel Locally

When shoud i run the comman exactly?

gensenio commented 1 year ago

Does it help to open and close a terminal? I will try when the issue happens again.

gijsbers commented 1 year ago

When it happens, run just icesh focusmodel and click on the window which doesn't focus. Or run icesh -a list focusmodel and keep only the ones that are of interest. Otherwise it is unclear which applies to what.

gensenio commented 1 year ago

Every 2,0s: icesh -a list focusmodel linux-giovanni: Wed Nov 22 15:52:16 2023

0x44128e9 0 5112 "vsm-portal-git – PortalRole.java [vsm-portal-dom": (jetbrains-idea.jetbrains-idea) 2560x1397+1920+17 0x2e00007 0 9452 "Mine" : (konsole.konsole) 937x1101+263+17 0x3000003 0 10432 "Strange window activation problem. · Issue #755 ": (google-chrome.Google-chrome) 1920x1135+2271+60 0x3000014 0 10432 "web.whatsapp.com" : (web.whatsapp.com.Google-chrome) 1265x1394+1931+20 0x420004f 0 11662 "DBeaver 23.2.5 - postgres 4 ": (DBeaver.DBeaver) 2560x1397+1920+17 0x300001a 0 10432 "Re: [bbidulock/icewm] Strange window activation pr": (google-chrome.Google-chrome) 1920x1183+0+17 0x5800006 0 12063 "" : (krdc.krdc) 1206x661+2593+269 0x2e0002b 0 9452 "Mine" : (konsole.konsole) 937x1101+3098+223 0x44128e9 focusmodel Globally 0x2e00007 focusmodel Locally 0x3000003 focusmodel Passive 0x3000014 focusmodel Passive 0x420004f focusmodel Locally 0x300001a focusmodel Passive 0x5800006 focusmodel Locally 0x2e0002b focusmodel Locally

Intellij (the first one) is using focusmode Globally DBeaver and krdc Locally

gijsbers commented 1 year ago

When those application windows are active and functional, by what exact control event do you get away from them?

gijsbers commented 1 year ago

The IntelliJ problem was reported before elsewhere: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360001411659-Lose-Focus-after-Switching-Workspace-in-i3wm You list it as 0x44128e9 focusmodel Globally and for that kind of applications the focus is managed not by the window manager, but by the application.

gensenio commented 1 year ago

When those application windows are active and functional, by what exact control event do you get away from them?

usually i use the taskbar or quickswitch and when i go back to idea sometime i dont get the window activated.

gensenio commented 1 year ago

i tried also to use other wm : mutter kwin or sawfish or openbox and they don't seem to have this problem. But i really like IceWM and i want to stick with it.

gensenio commented 1 year ago

https://youtrack.jetbrains.com/issue/IDEA-194124?_ga=2.179285030.302672660.1700677436-1805309740.1700677436#focus=streamItem-27-3088912-0-0

i will try to use the workaround propsed in this issue. CopyQ is also mentioned here and i use it.

gijsbers commented 1 year ago

When you switch away from dbeaver or krdc, do you use the keyboard or the mouse? Do you go to another workspace or not?

The fact that other WMs this problem doesn't occur doesn't prove anything. Using the same logic, we could say that thousands of users using thousands of applications don't experience this problem. In fact, I used krbc to try to repeat your problem but couldn't.

gijsbers commented 1 year ago

What icewm focus setting do you use?

gensenio commented 1 year ago

What icewm focus setting do you use? Click to Focus

gensenio commented 1 year ago

When you switch away from dbeaver or krdc, do you use the keyboard or the mouse? Do you go to another workspace or not?

The fact that other WMs this problem doesn't occur doesn't prove anything. Using the same logic, we could say that thousands of users using thousands of applications don't experience this problem. In fact, I used krbc to try to repeat your problem but couldn't.

normally i switch alt-tabbing with the keyboard and i don't use workspaces

gijsbers commented 1 year ago

Second attempt at reproducing it with krdc using Click-to-Focus also failed. I'll try dbeaver. Quote DBeaver needs Java to run. [Open JDK 17] is included in all DBeaver distributions. Do you use OpenJDK or the Solaris one?

gensenio commented 1 year ago

openjdk

gijsbers commented 12 months ago

Also with dbeaver 23.2.5 I can't reproduce the problem. All works fine, even with the default settings. Sorry.

gensenio commented 11 months ago

thanks anyway for the effort. i will try to reproduce it and do a video.

gensenio commented 11 months ago

https://github.com/bbidulock/icewm/assets/3276068/a4054c1a-7078-4fa3-a3c5-3c21d19661c6

i recorded this video to show the problem: if you open a database table and in the filter bar you start typing and then you hit tab to autocomplete you cannot focus anymore the filter bar. To get focus again you have to click the titlebar. I tried other wm like openbox and xfwm4 and this is not happening.

gijsbers commented 11 months ago

I set ClickToFocus like you and can now repeat your movie and see you are right, but if I analyze the events that occur in dbeaver and icewm then I see nothing wrong with icewm. According to this analysis, all the time the focus remains with dbeaver. So it must be a bug in either dbeaver or in java.

gensenio commented 11 months ago

But if i try openbox or other window managers it's not happening. I have attached a video demonstrating it with Openbox. I only happens with icewm. https://github.com/bbidulock/icewm/assets/3276068/4b0098a7-dd61-4b48-b640-2e942b0a8211

gijsbers commented 11 months ago

But if I use xterm or firefox or whatever, then it is also not happening. See my comment of November 23. I have analysed the internal events and cannot see anything wrong with icewm.

gensenio commented 11 months ago

ok now i changed from ClickToFocus to Custom and it works as expected. What exactly is doing Custom? i cannot find any reference in the handbook

gijsbers commented 11 months ago

https://ice-wm.org/man/icewm

Code7R commented 10 months ago

I am also observing strange activation problems, but it is hard to reproduce. When it starts happening, the situation is: you have two Firefox windows on two different monitors. You press Alt-Tab and the focus switches (seemingly) to the other Firefox window. But when you start typing, the key-presses go into another (seemingly inactive) window.