🖱️ Автоматическое скрытие курсора мыши с помощью Unclutter через определенное время

Киоск-устройства работают с одним приложением 24/7 без какого-либо взаимодействия с пользователем.

В большинстве случаев им даже не нужна клавиатура или мышь.

Одна из распространенных проблем в киосках — указатель мыши.

Когда веб-приложение работает в режиме киоска, указатель мыши может отвлекать пользователей или блокировать область, на которую он смотрит.

Даже если вы уберете мышь, вы все равно увидите курсор мыши.

К счастью, мы можем автоматически скрыть указатель мыши с помощью приложения Unclutter через определенный период времени, когда на десктопах Linux нет движения мыши.

Unclutter постоянно работает в фоновом режиме сеанса X11.

Он отслеживает положение указателя мыши каждые несколько секунд.

Когда он обнаруживает, что мышь не перемещается, или никакие кнопки мыши не нажимались, или курсор не находится в корневом окне, он скрывает незанятое изображение курсора.

Это очень полезно в ситуациях когда вы редко используете мышь.

Чтобы вернуть указатель мыши, просто потрогайте мышку или нажмите любую кнопку мыши.

Как работает Unclutter

Технически говоря, приложение unclutter скрывает указатель мыши, создавая небольшое подокно как дочернее по отношению к окну, в котором находится курсор.

В новом окне устанавливается курсор размером 1×1, но с маской всего 0, то есть невидимым курсором.

После создания программа ждет, пока указатель покинет окно, а затем уничтожает его, восстанавливая исходную ситуацию.

События кнопок прозрачно передаются родительскому окну.

Обычно они вызывают повторное появление курсора, потому что активный захват будет выполняться программой, пока кнопка нажата, поэтому курсор, очевидно, покинет окно, даже если его положение x, y не изменится.

Как установить Unclutter на Linux

Приложение Unclutter доступно в репозиториях по умолчанию многих операционных систем Linux и Unix.

Чтобы установить Unclutter в Arch Linux и его вариантах, таких как Manjaro Linux, запустите:

$ sudo pacman -S unclutter

В Fedora вы можете установить unclutter-xfixes через репозиторий copr:

$ sudo dnf copr enable nbeernink/unclutter-xfixes
$ sudo dnf install unclutter-xfixes

unclutter-xfixes также доступен в AUR, поэтому вы можете установить его с помощью любых вспомогательных программ AUR, таких как Yay.

$ yay -S unclutter-xfixes-git

На FreeBSD:

# pkg install unclutter-xfixes

В других дистрибутивах Linux вы можете скомпилировать и установить его из исходного кода.

Убедитесь, что вы установили инструменты разработки на свой Linux.

Чтобы установить Unclutterpxfixes из исходного кода, выполните одну за другой следующие команды:

$ git clone https://github.com/Airblader/unclutter-xfixes
$ cd unclutter-xfixes
$ make
$ sudo make install

Как автоматически убрать курсор мыши с помощью Unclutter через определенное время в Linux

Чтобы автоматически скрыть указатель мыши или курсор через определенный интервал времени, например 10 секунд, запустите:

$ unclutter -idle 10

Или вы можете запустить его в фоновом режиме, как показано ниже:

$ unclutter -idle 10 &

Если курсор мыши не перемещался в течение заданного времени, то есть 10 секунд, приложение Unclutter автоматически скроет курсор с экрана.

Если вы не укажете значение тайм-аута, по умолчанию он автоматически скроет курсор через 5 секунд.

Чтобы вернуть его, просто переместите мышь или нажмите любую кнопку мыши.

Автозапуск Unclutter при старте системы

Вместо того, чтобы вручную запускать Unclutter при каждой перезагрузке, просто добавьте указанную выше команду в свой запуск.

Например, я добавил в свой файл ~/.bashrc следующую строку:

unclutter &

Для получения более подробной информации обратитесь к страницам руководства.

$ man unclutter

 

Sidebar