창을 타일링하는 방법에 대한 기본적인 kwin 스크립트를 작성했습니다.
// Main reference: http://techbase.kde.org/Development/Tutorials/KWin/Scripting
// Top-level parameters. Adjust these as suitable for your desktop.
var width = 3840;
var third = Math.round(width / 3);
var clients = workspace.clientList();
for (var i=0; i<clients.length; i++) {
var client = clients[i];
var cap = client.caption.toLowerCase();
var g = client.geometry;
if (cap.indexOf("firefox") != -1) {
g.x = 0;
g.width = third;
} else if (cap.indexOf("vim") != -1) {
g.x = third;
g.width = third;
} else if (cap.indexOf("konsole") != -1) {
g.x = third * 2;
g.width = third;
}
client.geometry = g;
}
스크립팅 콘솔 사용 ( qdbus org.kde.plasma-desktop /MainApplication showInteractiveKWinConsole
, 또는 wm console
krunner에서).
이것을 핫키에 바인딩하고 싶습니다.
난 단지 내가 일을 못 했어 플라즈마 패키지를 구축하는 방법에 대해 리소스를 찾을 수있었습니다 (나는이 metadata.desktop
그 년대의 것들과 유사 /usr/share/kde4/apps/kwin/scripts
하고, 유사한 디렉토리 내용을하지만 말한다 plasmapkg(3980)/libplasma Plasma::Package::installPackage: Could not register package as service (this is not necessarily fatal): "kwin-script-tilewindows"
).
나는 플라즈마 포장으로 조금 피곤해합니다. 명령 줄에서 JavaScript 기반 kwin 스크립트를 어떻게 호출합니까?
편집 / 참고
익숙하지 않은 경우 KDE에서 핫키에 명령을 바인딩하는 것이 쉽습니다. 응용 프로그램 실행기를 마우스 오른쪽 버튼으로 클릭하고 “응용 프로그램 편집”으로 이동하여 새 항목을 추가 한 다음 “명령”상자에 쉘 명령을 입력하십시오. 그런 다음 “고급”탭에서 바로 가기 키를 설정하십시오.
답변
here의 힌트로 다음을 작동시킬 수있었습니다.
script=/path/to/script
num=$(dbus-send --print-reply --dest=org.kde.kwin.Scripting \
/Scripting \
org.kde.kwin.Scripting.loadScript \
string:"$script" |
awk 'END {print $2}' )
dbus-send --print-reply --dest=org.kde.kwin.Scripting \
/$num \
org.kde.kwin.Scripting.run
답변
업데이트 : 이것이 2019 년에해야 할 일입니다.
# don't use ~/ in this path:
script="/path/to/script"
num=$(dbus-send --print-reply --dest=org.kde.KWin \
/Scripting org.kde.kwin.Scripting.loadScript \
string:"$script" | awk 'END {print $2}' )
dbus-send --print-reply --dest=org.kde.KWin /$num \
org.kde.kwin.Scripting.run