WaylandのプルダウンモードでTilixを起動できますか?

WaylandのプルダウンモードでTilixを起動できますか?

次にマップされたキーボードショートカットを使用して、Tilixをプルダウンモード(Quakeモードとも呼ばれます)で実行します。

tilix --quake

Tilix 1.7.7にアップグレードした後、通常のウィンドウと「WaylandではQuakeモードはサポートされていません。通常のウィンドウとして実行してください」という通知が届きました。

Waylandでプルダウンモードを有効にする方法はありますか?

答え1

はい、ショートカットを次にバインドするだけです。

env GDK_BACKEND=x11 tilix --quake

引用:

~からバージョン 1.7.7:

...別の主な変更点は、Waylandで地震モードのサポートが削除されたことです。ウィンドウの位置決めに対するウェイランドの制限により、サポートするにはあまりにも多いことが判明しました。 Waylandでquakeモードを使用したいユーザーは、環境変数GDK_BACKEND = x11を介してtilixのX11バックエンドを強制的に使用することでこれを行うことができます。

そしてからgnunn1/tilix#1314:

私はこれらの問題を解決しようとしましたが、正直なところ、Wayland拡張機能やそれに対応するエキゾチックなものを書くことなく、Waylandで完璧な経験をすることは不可能だと思います。

答え2

私はWaylandでX11を使用することを避けたかったので、Hyprlandをウィンドウマネージャとして使用し、HyprctlとWorkspace 10を使用してWaylandで地震の影響をシミュレートする小さなスクリプトを作成し、常にウィンドウを維持しました.このソリューションでは session_name を利用して複数のTilixウィンドウを使用できます。 zshとHyprlandでのみテストされていますが、i3wmまたはswayに適用できます。

ctl jsonを解析するにはjqを使用する必要があります。

tilix.shスクリプト:

#!/bin/zsh

PROCESS_NAME="tilix"
SESSION_NAME="guake"
TARGET_WORKSPACE="10"

if pgrep -f "$PROCESS_NAME" > /dev/null; then
    read ADDR FULLSCREEN <<<$(hyprctl clients -j | jq -r '.[] | select(.class == "tilix" and .title == "Tilix: '"${SESSION_NAME}"'") | "\(.address) \(.fullscreen)"')
    CURRENT_WORKSPACE=$(hyprctl activeworkspace -j | jq -r '.name')

    if [ -n "$ADDR" ]; then
        if [ "$FULLSCREEN" = "true" ]; then
            echo "Tilix is fullscreen; moving to workspace $TARGET_WORKSPACE and removing fullscreen"
            # If fullscreen, undo fullscreen and move to workspace 0, then back to the original
            hyprctl dispatch fullscreen 0 "address:$ADDR"
            hyprctl dispatch movetoworkspace "$TARGET_WORKSPACE,address:$ADDR"
            hyprctl dispatch workspace "$CURRENT_WORKSPACE"
        else
            echo "Tilix is not fullscreen; moving to current workspace and setting fullscreen"
            # If not fullscreen, bring to current workspace and set to fullscreen
            hyprctl dispatch movetoworkspace "$CURRENT_WORKSPACE,address:$ADDR"
            hyprctl dispatch fullscreen 1 "address:$ADDR"
        fi
    else
        echo "No Tilix window with title 'Tilix: $SESSION_NAME' found."
        echo "Creating Tilix $SESSION_NAME in fullscreen"
        tilix --full-screen -s "$SESSION_NAME" -e zsh -c "echo -ne '\033]0;$SESSION_NAME\007'; exec zsh"
    fi
fi

私の場合は、MOD + SPACEにショートカットを設定してください。

# .config/hypr/hyprland.conf
bind = $mainMod, SPACE, exec, /path/to/script/tilix.sh

良い結果。これはWaylandを使用して私が作ることができる最高のソリューションです。おそらく、X11バックエンドを使用している他の人のための代替として使用することもできます。

関連情報