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의 제한으로 인해 지원하기에는 너무 많은 것으로 판명되었습니다. Wayland에서 quake 모드를 사용하려는 사용자는 환경 변수 GDK_BACKEND=x11을 통해 tilix의 X11 백엔드를 강제로 사용함으로써 그렇게 할 수 있습니다.

그리고로부터gnunn1/tilix#1314:

나는 이러한 문제를 해결하려고 생각했지만 솔직히 Wayland 확장 프로그램이나 그에 상응하는 이국적인 것을 작성하지 않고서는 Wayland에서 완벽한 경험을 하는 것이 불가능하다고 생각합니다.

답변2

저는 Wayland에서 X11을 사용하는 것을 피하고 싶었기 때문에 Hyprland를 창 관리자로 사용하고 Hyprctl과 작업 공간 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 백엔드를 사용하는 다른 사람들을 위한 대안으로 사용될 수도 있습니다.

관련 정보