İ3 pencere yöneticisindeki uygulamaların otomatik olarak başlatılmasıyla düzeni nasıl uygularsınız?


23

Bu, i3 pencere yöneticisi ile bireysel çalışma alanlarında uygulamaların nasıl otomatik olarak başlatılacağı ve yapılandırma dosyasında nelerin yapılabileceği ve yapılamayacağı ile ilgili önceki bir soru .~/.i3/config

İlk olarak, Arch Linux belgelerine dayanarak sağlanan çözüm ve op tarafından sağlanan mantığı daha da ileri götüren bir güncelleme:

exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'
exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'

Ayrıca ilgi şudur değişimi doğrudan çoğaltarak olmadan komut satırında bu bazı yararlanarak hakkında:

i3-msg workspace 3; i3-msg exec firefox
i3-msg workspace 9; i3-msg exec chromium

Ancak, herhangi bir çalışma alanında istediğiniz pencereye veya uygulamaya, istenen bir dikey veya yatay düzene göre otomatik olarak başlayan bir yapılandırma görmedim. Amacım, kullandığım bu basit yapılandırmayı otomatik olarak başlatmak:

 _____ _____     ___________     ___________
| lx  | lx  |   |        |u_|   |     |     |   proportions:
|_____|_____|   |  FF    |lx|   |spacefm    |   1- 25% each
|medit| lx  |   |        |__|   |     | vlc |   2- 75/25 x 25/50/25
|_____|_____|   |________|u_|   |_____|_____|   3- 50/50
      1               2               3

Böylece configdosyada böyle bir şeyle başlar :

exec --no-startup-id i3-msg 'workspace 1; exec i3-sensible-terminal; layout toggle split; layout splitv; split vertical; exec i3-sensible-terminal; exec i3-sensible-terminal; exec i3-sensible-terminal; workspace 2; exec firefox; exec urxvt; exec i3-sensible-terminal; exec urxvt; workspace 3; exec spacefm; exec vlc'

Peki dünyada nasıl istediğiniz düzen ve yatay / dikey bölünme türlerini elde edersiniz? Deniyorum, fakat uygulama ve düzeni nasıl "karıştırdığınız" belli değil. Sözdizimi, i3-imgi3'ün yapılandırması içinde yürüttüğünüz için başlamak için kendine özgü hissediyor . Her arama arasında split h(veya v) - layout split v- exec layout split v- focus down(veya sağ) kullanıyor musunuz exec?

Tek bir çalışma alanı için, yapılandırma tüm uygulamaları dikey ya da yatay olarak başlatır ve düzeni etkilemiyor gibi görünüyor - ya splitda zincirdeki son komut, pencerelerin dikey mi yoksa yatay mı ekleneceğine karar verir. i3-msgGörünüşe göre komutun bazı durumlarda doğru şekilde biçimlendirilmemiş kısımlarını görmezden geliyor, bu nedenle hata ayıklamak zor. Bu, her bir çalışma alanındaki her şeyi kapatsanız bile startx, konfigürasyonu yenilediği için sonuçları doğrulamak için her seferinde X'i gerçekten bırakmanız ve tekrar kesmeniz gerekmesi gerçeğiyle daha mod+shift+Rda karmaşıklaşmıştır.

Bunu yapılandırmanın uygun yolu nedir? Böyle bir şeyi uygulayan bir çözümü olan var mı? Dokümantasyon oldukça iyidir ama ben birden çalışma alanları üzerinde yürütme ve düzen karıştırır detaylı örnek görebilirsiniz sağlamaz.


Ayrıca bu konuda genişler .

Bir çözüm sağlamak için FF veya urxvt kullanmak gerekmez. Bu programlar hakkında bildiğim kadarıyla özel bir şey yok, o yüzden birisi herhangi bir programla 2. düzeni yeniden üretebiliyor, bir json dosyasını kaydediyor, soyuyor, oturum açma sırasında config dosyasından başlatılıp başlatılamayacağını görmek için program adlarını değiştirebilir. bir cevap göndermeden önce ...

Parçayı i3 dosyanıza kaydedilen / geri yüklenen json düzeniyle birlikte yükleyebilir misiniz? Bende de aynı sorun var ama işe yaramadı. Config / json dosyanızda çoklu göstergeler kullanıyor musunuz?

Yanıtlar:


11

İ3 v4.8 (2014-06-15) ' de tanıtılan yeni düzen tasarrufu özelliğini aradığınızı düşünüyorum . Bağlantılı belgeler oldukça ayrıntılı görünüyor.

Belgelerden alıntı:

Düzen kaydetme / geri yükleme, bir JSON düzen dosyası yüklemenizi sağlar, böylece bilgisayarınızı açtıktan sonra çalışmaya başlamak için bir temel düzen oluşturabilirsiniz. Dinamik kullanım durumları da aklıma geliyor: sık sık (ancak her zaman değil!), Ağ sorunlarını teşhis etmek için ping / traceroute komutları olan bir terminal ızgara düzenine ihtiyaç duyuyorsanız, bu pencereleri doğru düzlemde açmayı kolayca otomatikleştirebilirsiniz.

... ve sürüm notları :

tl; dr: ihracat 1 JSON dosyası olarak mevcut düzen, bunları başladıktan sonra fiili uygulamalar ile değiştirilecektir tutucudur pencere olsun, yeni i3 oturumları içine yükleyin.


1. Yardımcı programı kullanmak için perl-anyevent-i3 ve perl-json-xs paketlerini isteyebilirsiniz i3-save-tree.


3
Düzen özelliği şaşırtıcı bir şekilde kullanmak zordur. Uygulamaları "yutan" yer tutucu pencereleri kavramı, aynı uygulamayı tek bir çalışma alanı gibi lxterminalya da defalarca urxvtistiyorsanız, --name somethingbunları .i3 / config içinde çalıştırırken kullanarak ayırt etmek zorunda olduğunuz anlamına gelir. Dokümandaki örnek işe yarıyor ancak çalışma alanlarımdan birinden bir dışa aktarma kullandığımda, çalışmasını sağlayamıyorum. - name ile kullandığınız adın adı ve örneğinin sınıfını kullanırsınız. Bu durumda, sadece bir GUI aracı için ciddi bir ümit olabilirim, çünkü json formatı içinde çok fazla parantez var!

1
Şimdi 4.8'e yükselttim ve bu yeni özellikten oldukça memnunum. Daha .i3/configönceki sürümlerde de giriş yaparken güvenli bir şekilde işleri başlatmakla ilgili her zaman sorun yaşadım, ancak bir kez doğru şekilde giriş yaptığımda her şey yolunda gidiyor. Yaptığım, birkaç düzen ayarlamak ve bunları kaydetmek, ardından sadece json dosyalarının sınıf değişkenlerini düzenlemek. Sonra gibi bir şey i3-msg workspace 2\; append_layout mylayout.json\;ve sonra i3-msg exec lxterminal\; exec lxterminal\; exec lxterminal\; exec meditilk istediğiniz düzeni geri yüklemelisiniz. // Cevabımı iyileştirdiğin için teşekkürler, btw.
damien
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.