в KDE 5 как заставить приложение с графическим интерфейсом показывать/скрывать с помощью ярлыка, подобного to Tilda/guake/yakuake

Работа с навесного привода

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

Пусть система X будет вашей рабочей системой, а система Y — другой системой, которой вы управляете

  1. Смонтировать каталог из Y как диск в X
  2. Настройте права таким образом, чтобы пользователь root X имел права на все на этом подключенном диске, за некоторыми исключениями

Теперь у вас есть «рабочий корень», который может делать почти все, и у вас есть «суперкорень», фактическая корневая учетная запись системы Y, которая действительно может делать все.

4
20.08.2018, 08:18
1 ответ

Я также задавал этот вопрос на emacs.stackexchange по этой ссылке . Я скопирую ответ здесь для справки. Он полагался на X11 для работы и требует установки xdotool и wmctrl.

#!/bin/bash
######################################################################################################
# This script will toggle minimize/activate first window with specified class
# If window not found program will be launched
#
# window class can be found with next programs:
#   wmctrl -x -l
#   xprop
# No credit taken.......... Cannot read the original.....
# Found on http://blog.sokolov.me/2014/06/20/linuxx11-toggle-window-minimizemaximize/
# in Russian :) but works when adjusting the wrapping.
######################################################################################################
NEEDED_WINDOW_CLASS="emacs.Emacs"
LAUNCH_PROGRAM="emacs"
######################################################################################################
NEEDED_WINDOW_WINDOW_ID_HEX=`wmctrl -x -l | grep ${NEEDED_WINDOW_CLASS} | awk '{print $1}' | head -n 1`
NEEDED_WINDOW_WINDOW_ID_DEC=$((${NEEDED_WINDOW_WINDOW_ID_HEX}))
if [ -z "${NEEDED_WINDOW_WINDOW_ID_HEX}" ]; then
${LAUNCH_PROGRAM}
else
echo "Found window ID:${NEEDED_WINDOW_WINDOW_ID_DEC}(0x${NEEDED_WINDOW_WINDOW_ID_HEX})"
ACIVE_WINDOW_DEC=`xdotool getactivewindow`
if [ "${ACIVE_WINDOW_DEC}" == "${NEEDED_WINDOW_WINDOW_ID_DEC}" ]; then
    xdotool windowminimize ${NEEDED_WINDOW_WINDOW_ID_DEC}
else
    xdotool windowactivate ${NEEDED_WINDOW_WINDOW_ID_DEC}
    fi
fi
0
19.10.2021, 07:33

Теги

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