UNCLUTTER(1X)

πŸ“¦ version 8, in opensuse-leap 16.0

πŸ’– 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 is 5.
  • -keystroke β€” tells unclutter not 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 is 0.
  • -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 β€” stops unclutter from sending a pseudo EnterNotify event to the X client whose cursor has been stolen. sending the event helps programs like emacs think 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 β€” restricts unclutter to the single screen specified as display, or the default screen for the display. normally unclutter will 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 the WM_NAME property 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