Переместить окна между активами KDE
В KDE 4.6 Plasma Workspaces добавлена поддержка управления окнами в Activity, которые являются своего рода комбинацией между виртуальными рабочими столами и управлением сеансами. Но я до сих пор не выяснил некоторые основные функции, и khelpcenter
похоже, не документирует новую функцию действий.
В частности, как вы перемещаете окно в другое действие KDE (например, с помощью сочетания клавиш)?
4 ответа
Если вы нажмете на значок в верхнем левом углу окна, вы откроете меню окна; оттуда, если у вас открыто более одного действия, вы увидите запись подменю, которая позволит вам выбрать, в каких действиях вы хотите видеть текущее окно приложения. Обратите внимание, что любое окно может отображаться в нескольких действиях одновременно, поэтому, если вы хотите переместить его, например, из "действия 1" в "действие 2", вы должны проверить в указанном подменю: " деятельность 2 "и снимите флажок" деятельность 1".
Насколько я знаю, нет сочетаний клавиш, что очень жаль.
Вы можете получить доступ к "рабочему меню" окна (меню, которое открывается при нажатии значка в левом верхнем углу значка), нажав alt+f3. затем перейдите в меню со стрелками.
Мое решение состояло в том, чтобы создать для этого горячие клавиши, которые изменяли свойство X-окна «_KDE_NET_WM_ACTIVITIES».
xprop -f _KDE_NET_WM_ACTIVITIES 8s -id $(xdotool getwindowfocus) -set _KDE_NET_WM_ACTIVITIES $YOUR-ACTIVITY-ID-CSV-LIST
Я разместил здесь скрипт, который создает функцию переключения и управляет дубликатами и т. д.:https://forum.kde.org/viewtopic.php?f=111&t=174102 .
Добавляя к ответу kde-jon3, я сопоставляю их с сочетаниями клавиш (мои действия названы в честь букв на моей клавиатуре).
Это некрасиво, но это работает.
xprop \
-f _KDE_NET_WM_ACTIVITIES 8s \
-id $(xdotool getwindowfocus) \
-set _KDE_NET_WM_ACTIVITIES \
$(dbus-send --session --dest=org.kde.ActivityManager \
--type=method_call \
--print-reply=literal \
/ActivityManager/Activities \
"org.kde.ActivityManager.Activities.ListActivitiesWithInformation" |
\
grep <The name of your destination activity> | \
awk -F ' ' '{ print $1 }'\
)