Puncte:0

Gnome shell: automatizarea ferestrelor și a plasării

drapel uz
Sym

În primul rând, îmi pare rău dacă aceasta nu este cea mai bine formulată întrebare. Am încercat să cercetez cea mai bună parte a stivei pe care să mă concentrez, dar încă nu sunt 100% sigur că am înțeles-o.

Deci, voi explica rezultatul pe care îl urmăresc:

Pe Ubuntu 20.04 (GNOME Shell 3.36.9 / Xorg) am o configurație de fereastră pe care am configurat-o în fiecare dimineață (pentru compania noastră stand up): o fereastră Firefox fixată în coloana din dreapta cu o adresă URL deschisă și una fixată în coloana din stânga cu un alt URL.

Înțeleg cum să deschid o adresă URL într-un browser, dar lucrul pe care vreau să îl automatizez este puțin diferit:

  1. Deschide a nou fereastra browserului într-un nou spațiu de lucru (ideal în partea de sus a spațiilor de lucru)
  2. Fixați fereastra la dreapta
  3. Deschide altul nou fereastra browserului în același spațiu de lucru, rotită spre stânga
  4. Puneți ambele ferestre ale browserului să deschidă adresele URL pe care le caut
  5. Puncte bonus pentru deschiderea lor în containerele Firefox pe care le folosesc, dar apreciez că este o problemă Firefox, nu una Gnome.

În mod ideal, acesta ar fi ceva pe care îl pot scrie folosind bash sau python.

Întrebarea mea este: este chiar posibil așa ceva? La ce API-uri sau instrumente ar trebui să mă uit sau există proiecte care fac deja astfel de lucruri? Pare un lucru util, deoarece toată lumea trebuie să aibă un set de setări comune de ferestre pe care dorește să le salveze.

Lipsa mea de înțelegere a ecosistemului Gnome face ca acest lucru să fie greu de căutat.

24601 avatar
drapel in
s-ar putea să nu facă tot ce ceri, dar te-ai uitat la extensia GNOME Pune Windows în asociere cu „Aplicații de pornire”?
Puncte:0
drapel cn

Puteți manipula Windows folosind wmctrl și xdotool, și în plus, demoni precum devilspie și devilspie2 vă permit să definiți reguli pentru anumite ferestre. Când este creată o fereastră care corespunde criteriilor dvs., aceste instrumente le pot manipula automat, adică le pot redimensiona și poziționa și le pot muta într-un spațiu de lucru diferit. Probabil că va trebui să fiți autentificat la Serverul Xorg (implicit înainte de Ubuntu 21.04). Este posibil să nu funcționeze, sau cel puțin să fie limitate, sub Wayland.

wmctrl și xdotool

Dacă trebuie doar să configurați o configurație la autentificare, puteți lucra cu wmctrl și xdotool. Cu wmctrl, puteți să vă mutați într-un spațiu de lucru diferit, apoi să solicitați ca scriptul să lanseze o aplicație. xdotool atunci poate fi cel mai potrivit pentru a „căuta” fereastra și a o redimensiona și a o plasa. Dispune de o --sincronizare opțiune care face ca comanda să aștepte până când fereastra este creată efectiv.

devilspie sau devilspie2

devilspie2 este un succesor al devilspie care utilizează o sintaxă diferită (Lua) în fișierul de configurare.Cu aceste instrumente, definiți reguli în care spuneți ce ar trebui să se întâmple cu o fereastră care corespunde anumitor criterii. De îndată ce o astfel de fereastră este creată, devilspie îl va manipula conform instrucțiunilor, adică îl va redimensiona și îl va poziționa, îl va muta într-un spațiu de lucru diferit, ...

Astfel, puteți defini reguli pentru ferestrele Firefox specifice pe care doriți să le plasați în timpul pornirii. Când ferestrele sunt create de un autostarter sau de un script pe care îl rulați la pornire, devilspie le va manipula automat pe măsură ce sunt create.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.