Jak mogę uruchomić aplikacje w określonych obszarach roboczych w i3, gdy się uruchomi?
Dlaczego to nie działa w moim pliku konfiguracyjnym? :
workspace 1; exec firefox; workspace 2; exec chromium; workspace 1
window-manager
startup
i3
Gradient
źródło
źródło
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'
działa. Ale uważam, że to trochę dziwne, aby używaćexec
nai3-msg
co jest przeznaczona do wykonywania poleceń i3 poleceń. Dlaczego nie mogę bezpośrednio zapisaćworkspace 1; exec firefox; workspace 2; exec urxvt; workspace 1
w pliku konfiguracyjnym?google-chrome-stable
zawsze otwiera się na ostatnim obszarze roboczym w mojej konfiguracji. Na przykład w tej konfiguracji Chrome otwiera się w obszarze roboczym 4 obok htop.źródło
class
argumencie. Czy jest jakiś sposób, aby dokładnie wiedzieć, z którą klasą jest powiązana aplikacja?xprop | grep CLASS
w terminalu, wskaźnik myszy zmienia się w celownik, klikasz program, który chcesz uzyskać klasę i używasz drugiej zmiennej, która pojawia się w twoim terminalu. Przykładowy wynik dla Chrome:WM_CLASS(STRING) = "google-chrome", "Google-chrome"
xprop
polecenia okna nie są przypisane do żądanego obszaru roboczego.for_window [class="Spotify"] move to workspace $ws10
gdzie$ws10
jest twoja zmienna obszaru roboczego.Jest to autostart tylko podczas uruchamiania obszaru roboczego, a nie autostart po uruchomieniu i3, ale pomyślałem, że może być użyteczny.
Na przykład, aby uruchomić moją przeglądarkę internetową w nazwanym drugim obszarze roboczym „web”, to zrobiłem w mojej konfiguracji:
bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s
Po naciśnięciu klawisza 2 uruchamia się moja przeglądarka internetowa, ale gdy jest już otwarta, nie uruchamia się ponownie, po prostu przełącza się do obszaru roboczego sieci.
Uwaga: część układu może być czasem denerwująca, nie jest to wymagane.
Aby uzyskać więcej informacji, zobacz moje conf
źródło
pidgin
do trzeciego obszaru roboczego przy każdym uruchomieniu, mam w konfiguracjiassign [class="Pidgin"] $tag3
.Właśnie załatwiłem to na końcu mojego
~/.config/i3/config
pliku:źródło
set $ws1 "Firefox"
a następnie wstaw następujący wierszfor_window [class="Firefox"] move to workspace $ws1
Po prostu użyj
assign [class="<use your program name here e.g. - Firefox>"] $workspace<eg. 5>
. To działa dla mnie.źródło