Git Product home page Git Product logo

Comments (24)

gijsbers avatar gijsbers commented on August 28, 2024

The video doesn't show properly. Can you make a screencast?

What focus model do you use? Does it work with Quiet Sloppy?

This is with TaskBarShowAllWindows=1? Can you try with the default preferences?

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

Hello.

TaksBarShowAllWindows has default value 0.
Below is the preferences file I use. Let me know, what you want to change for retest.

ManualPlacement=1
UseMouseWheel=1
Win95Keys = 0
ModSuperIsCtrlAlt = 0
ClickToFocus = 0
FocusOnAppRaise = 1
RequestFocusOnAppRaise = 1
RaiseOnFocus = 1
RaiseOnClickClient = 1
PassFirstClickToClient = 0 # 0/1
FocusChangesWorkspace = 1
FocusOnMap = 1
FocusOnMapTransient = 1
FocusOnMapTransientActive = 1
MapInactiveOnTop = 1
PointerFocusDelay = 500
AutoRaiseDelay = 400
FocusRequestFlashTime=10 # [0-86400]

TaskBarAutoHide = 0
TaskBarShowMailboxStatus = 0
TimeFormat = "%a %d %b %R"
TaskBarShowCPUStatus = 0
TaskBarShowNetStatus = 0
TaskBarShowMEMStatus = 0

TerminalCommand = xterm.moj
LockCommand='xlock -nice 19 -mode blank'
ClockCommand = 'xclock -digital -padding 2 -twentyfour -strftime "%a %d %b %Y %H:%M" -face "*-8"'
SuspendCommand= 'test -e /run/systemd/system && syssuspend || loginctl suspend'
HibernateCommand= 'test -e /run/systemd/system && syshibernate || loginctl hibernate'

In addition, the focus_mode file:
#Focus mode (0=custom, 1=click, 2=sloppy, 3=explicit, 4=strict, 5=quiet)

FocusMode=0
#FocusMode=2
#FocusMode=0
#FocusMode=2
#FocusMode=0
#FocusMode=2

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

Using all your settings, I can't reproduce it! Nothing ever flashes...

You can set the ignoreUrgentHint winoption for xterm and lxterminal.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

Hello.

It is strange. But you can see on video, that it is happening. And for me, every time when I restart icewm.

I added
lxterminal.Lxterminal.ignoreUrgentHint: 1

to the winoptions file in ~/.icewm and restarted icewm, but no change. The same behavior as before. I tried also icesh winoptions, but the same result.

Update: There is a change. Now I cannot use icesh urgent command to stop flashing. I'm going to revert this option back, as it makes issue worse. :(

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

I can create MS Teams meeting for debugging the issue if you give me e-mail address to invite.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

Try icesh restore instead of icesh urgent. The former turns it off, the latter on.

Check FocusRequestFlashInterval and FocusRequestFlashTime.
icewm -p | grep RequestFlash. Set the latter to 0.

Run xprop WM_HINTS on the window that flashes.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

Also set FocusOnAppRaise = 0.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

Hello.

The FlashTime is set 10 seconds as you can see from the preferences file I shared.
The FlashInterval is 250.

I set FlashTime to zero and result is that flashing is now indefinite and cannot be stopped with icesh restore|urgent.

xprop WM_HINTS
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0x1a00007
bitmap id # of mask for icon: 0x1a00012
window id # of group leader: 0x1a00001
The urgency hint bit is set

icesh restore cannot stop flashing, only urgent works.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

With FocusOnAppRaise=0 no change.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

Can you start from the default configuration?
If you use ~/.icewm, then just rename it to ~/icewm-backup.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

The urgency hint bit is set

What sets that bit?

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

This is good question. These terminals are open for approximately 2-3 days. I just tried to open the new one and it is without urgency bit set. And also does not flash after icewm restart. This is reason, why you cannot reproduce the issue.

So the question is how it happened, that these 3 terminals have this bit set? And how to clear it?

So it looks, that flashing after restart is only secondary reaction. The root cause is somewhere else.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

And why only terminals? Why I have not observed this with firefox, thunderbird or pavucontrol, which are permanently running on my desktop?

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

Maybe I have an idea. Lxterminal has an option for visual bell. This is used in case, that PC does not have beeper. With lxterminal, the visual bell is translated to flashing of icon in task bar. Here is a proof. The new lxterminal window:

xprop WM_HINTS
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0x1a59a2e
bitmap id # of mask for icon: 0x1a59a34
window id # of group leader: 0x1a00001

The same lxterminal window, after visual bell was used:

xprop WM_HINTS
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0x1a59a2e
bitmap id # of mask for icon: 0x1a59a34
window id # of group leader: 0x1a00001
The urgency hint bit is set

So it looks, that urgency flag is not cleared after it is used for visual bell. Is clearing of urgent flag responsibility of WM or application?

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

It is the responsibility of the application according to section 4.1.2.4 of http://www.x.org/docs/ICCCM/icccm.pdf:
Clients must provide some means by which the user can cause the UrgencyHint flag to be set to zero or the window to be withdrawn. The user’s action can either mitigate the actual condition that made the window urgent, or it can merely shut off the alarm.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

Lxterminal never turns the urgency flag off. That is clearly a bug in lxterminal.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

Changes 2dadb9b and f59682c let icesh and icewm increase control of the urgency flag.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

Hello.

I can confirm, that after applying patches, icesh urgent and restore commands clear urgency hint.
After the visual bell is used in lxterminal window, the urgency hint stays set on this window.
After restart of the icewm, the urgency bit is cleared from the lxterminals after they flash.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

The question now is, is this a desirable feature or not? Nowhere in the ICCCM spec does it say that a WM should clear this flag. Lxterminal may be the only application which has this bug. If you want all WMs to support this erratic behavior, you have to inform all 367 WMs out there and update the spec. We may just as well remove this new code from IceWM and let lxterminal users suffer a bit until they report the bug to the lxterminal developers.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

Hello.

I have created a ticket for lxterminal. Let us wait for lxde developers reaction.
https://sourceforge.net/p/lxde/bugs/969/

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

Thanks! Urxvt has this cool option, which is spot on!

   urgentOnBell: boolean
       True: set the urgency hint for the wm on receipt of a bell
       character.  False: do not set the urgency hint [default].

       urxvt resets the urgency hint on every focus change.

Sakura and XTerm also work correctly. So does xfce4-terminal.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

I tried Sakura, it works in the same way as lxterminal.
New Sakura window:

xprop WM_HINTS
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
window id # of group leader: 0x1200001

The same window after visual bell (called urgency bell in Sakura):

xprop WM_HINTS
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
window id # of group leader: 0x1200001
The urgency hint bit is set

It does not help, when I change focus, the urgency hint is still active.

And after icewm restart, also the Sakura icon blinks, until icewm clears the urgency hint.

from icewm.

gijsbers avatar gijsbers commented on August 28, 2024

What version of sakura is that?
My tests went fine and the source code of sakura looks good too.

from icewm.

JanD1234 avatar JanD1234 commented on August 28, 2024

This one:

Information for package sakura:

Repository : openSUSE-Leap-15.4-1
Name : sakura
Version : 3.8.2-bp154.1.77
Arch : x86_64

from icewm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.