Benutzer-Werkzeuge

Webseiten-Werkzeuge


qtile

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
qtile [2022/11/08 11:13]
root [Begriffe]
qtile [2023/11/06 11:16] (aktuell)
root [Troubleshooting]
Zeile 9: Zeile 9:
   * Client -> ein Fenster   * Client -> ein Fenster
   * shuffle -> Fenster innerhalb einer Gruppe/Arbeitsfläche an eine andere Stelle bewegen   * shuffle -> Fenster innerhalb einer Gruppe/Arbeitsfläche an eine andere Stelle bewegen
 +  * Stacking -> Fenster im Stapel aka. hintereinander (kann man wie eine Liste nacheinander durchlaufen) ablegen
 +
 +
 +===== Bsp =====
 +
 +  * kein Stacking
 +  * Fenster können horizontal angeordnet werden -> per layout.toggle_split()
 +      * dabei werden 2 nebeneinander liegende Fenster (jeweils von links beginnend) statt nebeneinander untereinander ausgerichtet
 +          * Bei 4 Fenstern nebeneinander und Fokus hat das 3. Fenster von Links -> 3. und 4. werden untereinander angeordnet (der Rest der Fenster bleibt unberührt)
 +  * Es wird immer aller zur Verfügung stehender Platz belegt
 +      * das erste Fenster belegt den gesamten Platz
 +      * ein zweites Fenster teilt sich den gesamten Platz gleichmäßig mit dem 1. usw.
 +  * Anordnung
 +    * das erste neue Fenster wird rechts vom existierenden erstellt (Platz wird geteilt)
 +    * das nächste neue Fenster kommt unter dem linken
 +    * das nächste unter dem rechten
 +    * das nächste rechts vom oberen linken (ist dann zwischen dem ganz linken und ganz rechten)
 +    * das nächste rechts vom oberen rechten (ist das rechts vom ursprünglich ganz rechten)
 +    * das nächste rechts vom unteren linken (ist dann zwischen dem ganz linken und dem ganz rechten unten)
 +  * Verhalten kann geändert werden
 +      * fair=False in der Config sorgt dafür das die Fenster jeweils Rechts/Unter dem aktuellen erstellt werden
 +      * nicht wie sonst normal ganz links beginnend
 +
 +
 +===== Matrix =====
 +
 +  * Bildschirm wird in gleich große Quadrate aufgeteilt
 +  * kein Stacking
 +  * 1 Fenster benutzt den ganzen Bildschirm
 +  * 2 Fenster - 2 Spalten, ganzer Bildschirm genutzt
 +  * 3 Fenster - 2 Spalten, 2 Zeilen - 1 Platz leer
 +  * 5 Fenster - 2 Spalten, 3 Zeilen
 +
 +
 +===== Max =====
 +
 +  * Ein Fenster nimmt den gesamten Platz ein
 +  * mehrere Fenster sind hintereinander angeordnet und zwischen ihnen kann gewechselt werden
 +
 +
 +===== MonadTall =====
 +
 +  * 2 Spalten
 +  * 1 Hauptfenster, mehrere Nebenfenster
 +      * Hauptfenster nimmt komplett eine Spalte ein
 +      * Nebenfenster teilen sich die andere Spalte
 +  * Nebenfenster können über Shortkey zu Hauptfenster werden
 +  * Nebenfenster können in ihrer Größe verändert werden
 +  * kein Stacking
 +
 +
 +===== MonadThreeCol =====
 +
 +  * das Gleiche wie MonadTall nur mit 3 Spalten, 2 davon Nebenfenster
 +
 +
 +===== MonadWide =====
 +
 +  * das Gleiche wie MonadTall nur horizontal angeordnet
  
  
Zeile 62: Zeile 121:
           * Fenster werden nicht mehr einfach durch darüber fahren aktiv, sondern erst durch reinklicken (oder aktivieren per Keboard)            * Fenster werden nicht mehr einfach durch darüber fahren aktiv, sondern erst durch reinklicken (oder aktivieren per Keboard) 
 </WRAP>| </WRAP>|
 +|Argument 3 to "KeyChord" has incompatible type "List[Key]"; expected "List[Union[Key, KeyChord]]" |Mypy (Typchecker) beschwert sich weil ein neuer KeyChord definiert wurde, der 3. Parameter aber eine Variable vom Typ List ist: <WRAP>
 +
 +<sxh python>
 +groupmenu_keys = []
 +groupmenu_keys.append(Key([], "l", lazy.screen.toggle_group(), desc="Jump to the last used group"))
 +KeyChord([mod], "a", groupmenu_keys)
 +</sxh>
 +
 +
 +groupmenu_keys ist eine Liste die nur Key-Objekte enthält, was dem entspricht was als 3. Parameter für KeyChord erwartet wird. \\
 +List ist aber ein mutable (veränderlicher) Datentyp (es können jederzeit Objekte daraus entfernt oder hinzugefügt werden). \\
 +Da List veränderlich ist kann mypy nicht sicherstellen was diese Liste enthält und das sie tatsächlich dem geforderten zusammengesetzten Datentypen List[Union[Key, KeyChord]] entspricht. \\
 +Das definieren eines Typs für groupmenu_keys löst das Problem.
 +
 +<sxh python>
 +groupmenu_keys:List[Union[Key, KeyChord]] = []
 +groupmenu_keys.append(Key([], "l", lazy.screen.toggle_group(), desc="Jump to the last used group"))
 +KeyChord([mod], "a", groupmenu_keys)
 +</sxh>
 +
 +Mit:
 +<sxh python>
 +groupmenu_keys:List[Union[Key, KeyChord]] = []
 +</sxh>
 +
 +entspricht groupmenu_keys dem Datentyp List[Union[Key, KeyChord]] und mypy ist zufrieden
 +</WRAP> |
 +
 +
qtile.1667902410.txt.gz · Zuletzt geändert: 2022/11/08 11:13 von root