내 질문은 다음과 같습니다이것- 하지만 특정 작업 공간에서 지정된 애플리케이션을 열고 싶지 않고, 매번 각 인스턴스가 새 작업 공간에서 열리길 원합니다.
연결된 질문의 OP는 작업 공간 2에서 Firefox를 열고 작업 공간 1에서 Chromium 등을 열려고 합니다.
모든 새 인스턴스에 대해 새 작업 공간에서 텍스트 편집기(Sublime Text)의 새 인스턴스를 열고 싶습니다. 이것이 가능한가?
해결책:
수정된 형식으로 허용된 답변을 사용했습니다.
# .bashrc
...
function sublime {
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
/usr/bin/sublime_text_3/sublime_text $1
}
그래서 다음과 같이 사용할 수 있습니다.
$ sublime /path/to/file
또한 여러 컴퓨터에서 내 도트파일을 사용하고 있기 때문에 모든 것을 한 곳에 포함시키는 것이 더 좋습니다!
답변1
이를 수행하려면 작은 BASH 스크립트를 사용할 수 있습니다.
그러면 새 작업 공간이 열립니다(다음에서 가져옴).여기) 다음 명령을 실행합니다.
#!/bin/bash
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
sublime-text
아래에 이 스크립트를 만들고 /usr/bin
이름을 지정합니다. sublime-new
, 실행 권한을 부여하면 이제 터미널 에뮬레이터에서 시작할 수 있습니다. 이상하지만 에서 스크립트를 실행하면 dmenu
먼저 프로그램을 연 다음 작업 공간을 변경합니다.