KDE:パッケージウィンドウ - >エッジ/中央のショートカットキーを設定する方法

KDE:パッケージウィンドウ - >エッジ/中央のショートカットキーを設定する方法

私はKDEで利用可能な「Pack Window」ショートカットがあり、うまく動作することを発見しました:

現在のショートカット

ウィンドウを画面の隅に直接移動するショートカットを追加したいです。現在のウィンドウを左下に移動するには、Pack Window Left (Ctrl+Num4)+などの操作を実行する必要があります。Pack Window Down (Ctrl+Num2)

Pack Window Bottom-Left (Ctrl+Num1)たとえば、ショートカットを使用してウィンドウをこのように移動したいと思います。そして決定的にいいえウィンドウサイズを変更します。

Pack Window Center (Ctrl+Num5)また、ショートカットを使ってウィンドウを中央に合わせたいです。いいえPack Window Center - Large (Ctrl+Shift+Num5)ウィンドウサイズの変更 - ウィンドウを中央に配置して事前定義されたサイズに設定する2番目のショートカットも、90%最大化ウィンドウなどの中央揃えウィンドウのようなものを持つことができるという点で本当に良いです。

私のニーズに合ったいくつかのkwinスクリプトを見つけました。ここそしてここしかし、私はプログラミングの初心者であり、これはJavaScriptで書かれているようです。私はカスタムショートカットを生成する簡単なGUI /テンプレートベースの方法があることを望みましたが、カスタムを掘り下げるか、これらのスクリプトを生成する前に見逃しました。

私は現在Manjaro KDEのバージョンを使用しています。

ベストアンサー1

これはおそらくあなたが言及したKWinスクリプトよりも理解するのは簡単ではありません。しかし、私は数値キーパッドキーをxdotoolマッピングする設定に依存するBashスクリプトを使用しています。xbindkeys

スクリプト:

#!/bin/bash
#
# Move a window to a certain location.
#
# Examples:
#   move-window.sh 'search --onlyvisible --name SpeedCrunch' top-right
#   move-window.sh getactivewindow bottom-left

set -euo pipefail

what=${1?What window would you like to move?}
where=${2?Where would you like to move your window to?}

# Determine the screen resolution
res=$(cat /sys/class/graphics/fb0/virtual_size)
screen_width=${res%,*} 
screen_height=${res#*,} 

# Determine the window size
window_id=$(xdotool $what)
eval $(xdotool $what getwindowgeometry --shell)

# Calculate the target location
case "$where" in
    top-left)       pos="0 0";;
    top-right)      pos="$(($screen_width-$WIDTH)) 0";;
    bottom-left)    pos="0 $(($screen_height-$HEIGHT))";;
    bottom-right)   pos="$(($screen_width-$WIDTH)) $(($screen_height-$HEIGHT))";;
    center)         pos="$(($screen_width/2-$WIDTH/2)) $(($screen_height/2-$HEIGHT/2))";;
    *)              pos="$where"
esac

# Move the window
xdotool windowmove $window_id $pos

それでは、~/.xbindkeysrc以下があります。

# Win+Num7: Move active window to top left
"move-window.sh getactivewindow top-left"
    Mod4 + KP_Home

# Win+Num9: Move active window to top right
"move-window.sh getactivewindow top-right"
    Mod4 + KP_Prior

# Win+Num1: Move active window to bottom left
"move-window.sh getactivewindow bottom-left"
    Mod4 + KP_End

# Win+Num3: Move active window to bottom right
"move-window.sh getactivewindow bottom-right"
    Mod4 + KP_Next

# Win+Num5: Move active window to center
"move-window.sh getactivewindow center"
    Mod4 + KP_Begin

xbindkeys設定ファイルを更新してから(再)起動することを忘れないでください。)

マルチモニター設定でテストする機会がなく、Waylandで動作することを期待していませんでしたが、現在のシングルスクリーンDebian Bullseye + KDE設定では十分に機能しています。

おすすめ記事