답변:
Arch Wiki i3 페이지 에 따르면 특정 작업 공간에서 애플리케이션을 자동 시작하려면 i3-msg
다음 을 사용하십시오 .
exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
# This is what I use in ie config
# custom variables for workspaces
set $ws1 "1< txt >"
set $ws2 "2> fm "
set $ws3 "3< Web >"
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
set $ws9 9
##==================================================##
# *** Workspace specific settings *** #
##=================================================##
# Assign Workspaces:
assign [class="Firefox"] $ws3
assign [class="Chromium"] $ws3
assign [class="Google-chrome-beta"] $ws3
assign [class="^Geany"] $ws1
class
인수에 사용 된 문자열과 관련이 있다고 생각합니다 . 어떤 클래스가 애플리케이션과 연관되어 있는지 정확히 알 수있는 방법이 있습니까?
xprop | grep CLASS
터미널에서 마우스 포인터가 십자형으로 바뀌면 클래스를 가져올 프로그램을 클릭하고 터미널에 나타나는 두 번째 변수를 사용하십시오. Chrome의 결과 예 :WM_CLASS(STRING) = "google-chrome", "Google-chrome"
xprop
명령에 문자열을 사용 하여 창에 원하는 작업 공간이 할당되지 않았습니다.
for_window [class="Spotify"] move to workspace $ws10
여기에 비슷한 것을 쓸 수 있습니다 $ws10
.
i3을 시작할 때 자동 시작이 아니라 작업 공간 실행시 자동 시작이지만 유용 할 수 있다고 생각했습니다.
예를 들어, 명명 된 두 번째 작업 공간 "web"에서 내 웹 브라우저를 시작하려면 내 구성에서 수행 한 작업입니다.
bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s
키 2를 누르면 웹 브라우저가 시작되지만 이미 열렸을 때 다시 시작하지 않고 웹 작업 공간으로 전환합니다.
참고 : 레이아웃 부분은 언젠가 성 가실 수 있지만 요구 사항은 아닙니다.
내 ~/.config/i3/config
파일 끝 에서이 작업을 수행했습니다 .
for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox
set $ws1 "Firefox"
한 후 다음 줄을 삽입 하십시오for_window [class="Firefox"] move to workspace $ws1
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'
. 그러나, 나는 조금 이상한 사용할 찾을exec
에i3-msg
있는 I3 명령을 실행하는 의미 명령입니다.workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1
구성 파일에 직접 쓸 수없는 이유는 무엇 입니까?