Как заблокировать экран, когда мышь перемещена в правильный нижний угол?

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

Существует ли compiz-конфигурация для той задачи?

Я ничего не мог найти в compizconfig-settings-manager и параметрах настройки системы.

4
задан 2 September 2014 в 14:05

2 ответа

Простые инструменты для получения положения мыши xdotool просто установите сначала и выполните шаги:

sudo apt-get install xdotool

затем мы - useing xdotool getmouselocation --shell видеть текущую позицию мыши: результат будет чем-то вроде этого:

X=845
Y=447
SCREEN=0

или путем выполнения eval $(xdotool getmouselocation --shell) поместит положение в переменные оболочки X, Y и SCREEN. После этого мы можем получить доступ к этим переменным с этим:

echo $X $Y $SCREEN

Хорошо теперь нам нужен некоторое время цикл для проверки положения мыши на каждом разе:

while true
  do
    [get mouse position]
    [if position =bottom-right corner then lock screen]
  done

хорошо, таким образом, наши сценарии были бы похожи на это:

#! /bin/sh
while true
  do
    eval $(xdotool getmouselocation --shell)
    if [ $X -ge 1919 -a  $Y -ge 1079 ]; then
        gnome-screensaver-command -l
    fi
  done

сохраните сценарий, названный "lock.sh" в Вашем корневом каталоге, и выполните его sh lock.sh и переместите свою мышь в нижний правый угол и посмотрите результат.круто!

объясните:

Мы комбинируем условия при помощи определенных операторов. Для синтаксиса одиночной скобки, который мы использовали до сих пор, “-a” используемый для и. и “-o” для или. Пример:

if [ $foo -ge 3 -a $bar -ge 10 ]; then

Вышеупомянутое условие возвратит true если $foo содержит целое число g reater, чем или e квалификацию к 3 (-ge 3) и также $bar содержит целое число g reater, чем или e квалификацию к 10. затем выполненная экранная команда экранной заставки гнома командной строки блокировки-l

2
ответ дан 17 November 2019 в 15:03

Я не мог найти настройки в менеджере Compiz, ни в настройках Unity Tweak (который использует то же), но если Вы добавите сценарий ниже к Вашим Приложениям Запуска, то это проверит Ваше разрешение экрана и Ваше положение мыши. Если мышь будет в marge от угла (набор в заголовке сценария), то это заблокирует экран.

Как использовать

  1. Установка xdotool:

    sudo apt-get install xdotool
    
  2. Вставьте сценарий ниже в пустом файле, установите marge (пиксели), в которых Вы хотели бы, чтобы hotcorner действовал, сохранил его как screenlock.py, сделал его исполняемым файлом по причинам удобства и добавил его к Вашим приложениям запуска (Тире>, Приложения Запуска> Добавляют). Добавьте добавляет команда:

    /path/to/screenlock.py
    

Сценарий:

#!/usr/bin/env python3

import time
import subprocess

marge = 3 # (pixels) increase to increase sensitivity

output = subprocess.check_output(["xrandr"]).decode('utf-8').strip().split()
idf = output.index("current")
res = (int(output[idf+1]), int(output[idf+3].replace(",", "")))

command = "gnome-screensaver-command -l"

while True:
    get_pos = subprocess.check_output(["xdotool", "getmouselocation", "--shell"]).decode('utf-8').strip().split("\n")
    pos = (int(get_pos[0][2:]), int(get_pos[1][2:]))
    if res[0] - pos[0] < marge and res[1] - pos[1] < marge:
        subprocess.Popen(["/bin/bash", "-c", command])
    time.sleep(1)
1
ответ дан 17 November 2019 в 15:03

Другие вопросы по тегам:

Похожие вопросы: