Мой вопрос что-то вродеэтот- но я не хочу открывать определенное приложение в определенном рабочем пространстве, я хочу, чтобы каждый экземпляр каждый раз открывался в новом рабочем пространстве.
Автор вопроса по ссылке хочет открыть Firefox на рабочем пространстве 2, Chromium на рабочем пространстве 1 и т. д.
Я хочу открывать новые экземпляры текстового редактора (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
и еще потому, что я использую свои dotfiles на нескольких компьютерах, поэтому удобнее хранить все в одном месте!
решение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
, дайте ему права exec и теперь вы можете запустить его из эмулятора терминала. Странно, но при запуске скрипта из dmenu
, он сначала открывает программу, а затем меняет рабочее пространство.