implement delayed urgency hint reset

If there is a client with an urgency hint on another workspace and
switching to this workspace would cause the urgency to be reset (by
moving the focusing to the client), delay the reset by some time. This
gives the user the chance to see it.

This commit adds the possibility to configure the urgency delay timer
duration using the 'force_display_urgency_hint' directive. Also,
documentation and a testcase was added to allow for automated checks of
the intended behavior.

fixes #482
This commit is contained in:
Simon Elsbrock
2012-09-22 13:48:22 +02:00
committed by Michael Stapelberg
parent e15e37f922
commit 28104a480c
10 changed files with 221 additions and 5 deletions

View File

@ -874,6 +874,30 @@ workspace_auto_back_and_forth <yes|no>
workspace_auto_back_and_forth yes
---------------------------------
=== Delaying urgency hint reset on workspace change
If an application on another workspace sets an urgency hint, switching to this
workspace may lead to immediate focus of the application, which also means the
window decoration color would be immediately resetted to +client.focused+. This
may make it unnecessarily hard to tell which window originally raised the
event.
In order to prevent this, you can tell i3 to delay resetting the urgency state
by a certain time using the +force_display_urgency_hint+ directive. Setting the
value to 0 disables this feature.
The default is 500ms.
*Syntax*:
---------------------------------------
force_display_urgency_hint <timeout> ms
---------------------------------------
*Example*:
---------------------------------
force_display_urgency_hint 500 ms
---------------------------------
== Configuring i3bar
The bar at the bottom of your monitor is drawn by a separate process called