Откройте определенное приложение в *новом* рабочем пространстве с помощью i3wm

Откройте определенное приложение в *новом* рабочем пространстве с помощью i3wm

Мой вопрос что-то вродеэтот- но я не хочу открывать определенное приложение в определенном рабочем пространстве, я хочу, чтобы каждый экземпляр каждый раз открывался в новом рабочем пространстве.

Автор вопроса по ссылке хочет открыть 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, он сначала открывает программу, а затем меняет рабочее пространство.

Связанный контент