새 작업 공간을 열겠다고 가정하고, 사용되지 않은 다음 작업 공간에서 터미널을 실행한다고 가정해 보겠습니다.
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1)) && /usr/bin/x-terminal-emulator
$mod+D
또한 이 작업 공간에 대해 터치하면 프로그램이 사용자 dmenu
정의 애플리케이션 목록을 사용하여 실행되도록 지정하고 싶습니다 .dmenu -i "app1\napp2\napp3"
다른 작업 공간으로 전환하면 $mod+D
특정 응용 프로그램 목록을 정의하지 않는 한 스트로크 dmenu가 기본 모드에서 실행되어야 합니다.
답변1
$mod+D
스크립트 에 바인딩하여 현재 작업공간을 감지하고 dmenu
다른 매개변수로 시작할 수 있습니다. 예를 들어:
~/.config/i3/config:
...
bindsym $mod+d exec /tmp/dm.sh
...
/tmp/dm.sh
#!/usr/bin/env sh
ws="$(i3-msg -t get_workspaces | jq -r '.[] | select(.focused==true).name')"
if [ "$ws" -eq "3" ]; then
echo "app1\napp2\napp3" | dmenu
else
dmenu_run
fi
여기에서는 작업 공간 #3의 사용자 정의 응용 프로그램 목록과 다른 작업 공간의 기본 응용 프로그램 목록을 가져옵니다.