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:10]
root
qtile [2023/11/06 11:16] (aktuell)
root [Troubleshooting]
Zeile 8: Zeile 8:
  
   * Client -> ein Fenster   * Client -> ein Fenster
-  * +  * 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.1667902224.txt.gz · Zuletzt geändert: 2022/11/08 11:10 von root