UNCLUTTER(1X)
π UNCLUTTER(1X) π
okay bestie, welcome to the UNCLUTTER(1X) manual page β yes that's the whole manual name, it's an X11 situation, we move π¦
β¨ NAME β¨
unclutter β yeets the idle cursor image off your screen π±οΈπ¨
π SYNOPSIS π
unclutter [-display|-d display] [-idle seconds] [-keystroke] [-jitter
pixels] [-grab] [-noevents] [-reset] [-root] [-onescreen] [-not] name
...
like, that's the whole vibe. flags first, then your -not names at the very end, iykyk π
πΈ DESCRIPTION πΈ
so unclutter literally removes the cursor image from your screen so it stops obstructing the area you're looking at β but only after it hasn't moved for a given time. main character behavior honestly β¨
it does not do this if the cursor is in the root window, or if a button is down. respect the boundaries π
and it tries to ignore jitter (those lil tiny movements that are just noise) if you've got a mouse that twitches. she's understanding like that π«Ά
π OPTIONS π
-displayβ is followed by the display to open.-idleβ is followed by the number of seconds between polls for idleness. the default is5.-keystrokeβ tellsunclutternot to use a timeout to figure out when to remove the cursor, but to instead wait until a key has been pressed (released, really). keyup girlies rise π-jitterβ is followed by the amount of movement of the pointer that's to be ignored and considered as random noise. the default is0.-grabβ means use the original method of grabbing the pointer in order to remove the cursor. this often doesn't interoperate too well with some window managers π-noeventsβ stopsunclutterfrom sending a pseudoEnterNotifyevent to the X client whose cursor has been stolen. sending the event helps programs likeemacsthink they haven't lost the pointer focus. this option is provided for backwards compatibility, in case some clients get upset π-resetβ resets the timeout for idleness after the cursor is restored for some reason (like a window being pushed or popped), even though the x y coordinates of the cursor haven't changed. normally the cursor would immediately be removed again.-rootβ means remove the cursor even if it's on the root background, where in principle it shouldn't be obscuring anything useful.-onescreenβ restrictsunclutterto the single screen specified as display, or the default screen for the display. normallyunclutterwill unclutter all the screens on a display. multitasking icon π§-notβ is followed by a list of window names where the cursor should not be removed. the first few characters of theWM_NAMEproperty on the window need to match one of the listed names. this argument must be the last on the command line. periodt. π₯
π¦ LIMITATIONS π¦
ngl, the -keystroke option may not work (like, the cursor will not disappear) with clients that request KeyRelease events. games and Xt applications using KeyUp in their translation tables are most likely to suffer from this problem π the most feasible solution is to extend unclutter to use the XTest extension to get all keyboard and mouse events, though this of course requires XTest to be in the server too.
also the -keystroke option does not distinguish modifier keys from keys which actually generate characters. if desired, this could be implemented in a simple way by using XLookupString to see if any characters are returned. not her fault, she's doing her best π
π DIAGNOSTICS π
if you ever see this message:
someone created a sub-window to my sub-window!
it means unclutter thinks a second unclutter is running, and tried to steal the cursor by creating a sub-window to the sub-window already used to steal the cursor π this situation quickly deteriorates into a fight no one can win, so it's detected when possible and the program gives up. iconic dramatic exit honestly.
π AUTHOR π
Mark M Martin. cetia 7feb1994. mmm@cetia.fr
and that's the whole page bestie β this was the UNCLUTTER(1X) manual page, from the UNCLUTTER(1X) corner of the manual set, and that's genuinely all the footer had to say πβ mwah, go forth and unclutter π
π¦ where this page comes from
- opensuse-leap 16.0: unclutter 8-bp160.1.11 Β· SUSE-Public-Domain
- opensuse-leap 16.0: unclutter 8-bp160.1.11 Β· SUSE-Public-Domain
- opensuse-leap 16.0: unclutter 8-bp160.1.11 Β· SUSE-Public-Domain
- opensuse-leap 16.0: unclutter 8-bp160.1.11 Β· SUSE-Public-Domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms