На этот вопрос уже есть ответ здесь:
wmctrl -s
можно использовать для переключения между виртуальными рабочими столами. Есть ли команда, которая показывает рабочий стол? это команда, которая будет переключаться между сворачиванием всех окон и их восстановлением?
Чтобы показать на рабочем столе команду:
wmctrl -k on
Чтобы отключить ее, используйте
wmctrl -k off
Это адаптация ответа virtualxtc с поддержкой переключения.
#!/bin/bash
current_mode="$(wmctrl -m | grep 'showing the desktop')"
if [[ "${current_mode##* }" == ON ]]; then
wmctrl -k off
else
wmctrl -k on
fi
Для использования сохраните вышесказанное в файл, а затем отметьте его как исполняемый.
#!/bin/bash
Это комментарий Шебанга.
current_mode="$(wmctrl -m | grep 'showing the desktop')"
Это захватывает вывод wmctrl -m
по трубопроводу через grep 'showing the desktop'
в переменную $current_mode
.
if [[ "${current_mode##* }" == ON ]]; then
wmctrl -k off
else
wmctrl -k on
fi
if...else...
заявление в Bash. ${current_mode##* }
возвращает $current_mode
с самым длинным соответствием из всех, пока не будет удален пробел в начале строки. Если возвращается ON
, рабочий стол выключается; еще включает рабочий стол.