Öffnen Sie eine bestimmte Anwendung in einem *neuen* Arbeitsbereich mit i3wm

Öffnen Sie eine bestimmte Anwendung in einem *neuen* Arbeitsbereich mit i3wm

Meine Frage ist so etwas wieDas- aber ich möchte eine bestimmte Anwendung nicht in einem bestimmten Arbeitsbereich öffnen, sondern jede Instanz jedes Mal in einem neuen Arbeitsbereich öffnen.

Der OP in der verlinkten Frage möchte Firefox auf Arbeitsbereich 2, Chromium auf Arbeitsbereich 1 usw. öffnen …

Ich möchte für jede neue Instanz eines Texteditors (Sublime Text) einen neuen Arbeitsbereich öffnen. Ist das möglich?

Lösung:

Ich habe die akzeptierte Antwort in modifizierter Form verwendet:

# .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
}

damit ich es so verwenden kann:

$ sublime /path/to/file

und auch, weil ich meine Dotfiles auf mehreren Computern verwende, ist es schöner, alles an einem Ort zu haben!

Antwort1

Sie können dazu ein kleines BASH-Skript verwenden:

Dies öffnet einen neuen Arbeitsbereich (übernommen ausHier) und führt einen Befehl aus:

#!/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

Erstellen Sie dieses Skript unter /usr/bin, nennen Sie es z. B. sublime-new, erteilen Sie ihm Ausführungsberechtigungen und Sie können es nun von einem Terminalemulator aus starten. Seltsam, aber wenn das Skript von aus ausgeführt wird dmenu, öffnet es zuerst das Programm und ändert dann den Arbeitsbereich.

verwandte Informationen