В аргументе, что окно далеко от окна, для людей, которые держат свои окна максимально, это не имеет значения. Больше окон у вас открыто, кажется, что немного больше места тратится впустую, когда не используется глобальное меню, поэтому мне нравится выбор дизайна Mac OS.
Кроме того, я не думаю, что многие люди идут перетаскивать их окна в нижнюю часть экрана или даже на полпути вниз по экрану. Я предполагаю, что они держат его наверху и изменят размеры нижних границ, чтобы увидеть как можно больше в окне.
Это не просто вопрос эффективности. Это выбор дизайна. Приятно видеть, что кто-то другой, кроме Apple, адаптирует глобальные меню.
Потратьте время, чтобы попробовать и насладиться выбором дизайна, прежде чем предположить, что он не будет работать ни для кого.
Это рабочий сценарий того, что вы хотите сделать:
#!/bin/bash
while true; do
sleep 59m
zenity --question --text "Are you using the pc (click anything)?"&
zenity_id=$!
#the user has 1 minute to answer, otherwise PC will shut down
sleep 1m
if kill $zenity_id 2> /dev/null; then
#zenity was still running, shutdown the pc
dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestShutdown
fi
done
Каждый раз в час появляется всплывающее окно с вопросом: «Вы все еще здесь?», если пользователь нажимает на что-то, то он не выключается еще на один час (через час появляется всплывающее окно), но если более 1 минуты проходит без взаимодействия с диалоговым окном, компьютер автоматически отключается. Чтобы запустить это при запуске, создайте файл с указанным выше кодом и сделайте его выполнимым (щелкните правой кнопкой мыши-> свойства-> разрешения-> разрешить выполнение файла как программы) и нажмите кнопку питания в правом верхнем углу экрана, выберите запускающие приложения и добавьте этот скрипт.
Один из способов сделать это - эмулировать нажатие кнопки питания. Затем появится следующее диалоговое окно и выключение компьютера через 60 секунд.
Для этого используйте acpi_fakekey 116, который «нажмет» кнопку выключения (номер 116). (По крайней мере, 116 - это моя кнопка останова. Если на вашем компьютере это не удается, попробуйте установить evtest и запустите его, пока вы нажимаете кнопку)
Чтобы автоматизировать это каждый час, добавьте его в корни crontab, как это :
sudo crontab -e и добавьте следующую строку:
0 * * * * /usr/bin/acpi_fakekey 116
Это нажмет кнопку на 0-й минуте каждого часа каждого дня каждую неделю каждого месяца.
Вы можете написать простой скрипт с помощью команды shutdown 0 после подсказки.
Я должен добавить, вы можете использовать записать простой скрипт в цикле для реализации ожидание.
Кажется утомительным, чтобы кто-то нажал кнопку на каждом заданном интервале.
Вы можете позволить gnome-screensaver работать для вас и проверить, как долго он работает.
В сценарии , вы можете сделать что-то вроде следующего:
#!/bin/bash
pidof X || exit #not running X!
export DISPLAY=":0" # use current display
DURATION="`gnome-screensaver-command -t | awk '{print $7}'`"
if [ $DURATION -gt 3600 ]; then #idle for an hour
shutdown -h now
fi
Это ОЧЕНЬ простой пример, который может расширить каждый. Поместите его в задание cron или запустите его в режиме демона с помощью вызовов / сна.
Я бы не использовал его точно как есть, а просто для иллюстрации метода. Это делает предположение, что мы используем gnome-screensaver. xscreensaver имеет аналогичные вызовы.