Tutoriels/Utiliser d'autres gestionnaires de fenêtres avec Plasma
Introduction
KWin est le gestionnaire de fenêtres (WM) dans Plasma et à de nombreuses fonctionnalité, mais ne supporte uniquement des fenêtres flottantes. Plasma vous laisse utiliser un autre gestionnaire de fenêtres par exemple i3, bspwm ou n'importe quelle autre gestionnaire de fenêtre par pavage.
Beaucoup de gestionnaire de fenêtre nécessite peu, voire aucune, modifications de leurs fichiers de configuration.
Quelques considérations à prendre en compte lorsque vous utilisez un autre gestionnaire de fenêtres :
- Empiler les gestionnaires de fenêtres peut générer des problèmes avec les composants tels que les panneaux. Pour certaines configurations, certaines options aideront à surmonter les problèmes
- La plupart des gestionnaires de fenêtres ne possèdent pas leur propre compositeur, c'est pourquoi certaines fonctionalités leur sont absentes comme les animations ou a transparence. Si de tels effets sont souhaités, un compositeur tel que compton est nécessaire.
Utiliser un autre gestionnaire de fenêtre avec Plasma
Mono utilisateur : utiliser les paramètres système
Ceci est la méthode la plus simple, mais elle ne concerne que l'utilisateur pour lequel elle a été ajoutée.
- Créer un script shell (kde-i3.sh par exemple), contenant ceci
#!/bin/sh export KDEWM=/usr/bin/i3
Remplacer /usr/bin/i3 par le chemin du gestionnaire de fenêtres choisi.
- Démarrer la configuration système
- Selectionner Démarrage et fermeture
- Selectionner Autodémarrage
- Cliquer sur le bouton Ajouter un script en-dessous de la liste
- Enter the location of the script created earlier, or use the folder icon to use a dialog to find it. Click OK, the script will be added to the list
- In the Run On column, select Before Session Startup from the drop down list
- Le gestionnaire de fenêtres choisi sera utilisé la prochaine fois que vous vous connecterez
Système étendu: ajouter une session X
Si l'accès super-utilisateur (root) est disponible, un nouveau fichier de session pour X.org peut être créé.
Cela à plusieurs avantages : la session alternative est disponible pour tous les utilisateurs, et pour réutiliser KWin, il suffit de se déconnecter et de se reconnecter.
Pour ajouter une session concernant un gestionnaire de fenêtres supplémentaire en tant que super-utilisateur :
- Copier le fichier de session Plasma existant
cp plasma.desktop plasma-i3.desktop
- En utilisant un éditeur de texte, ouvrez le fichier et modifiez la ligne Exec , et éventuellement la Description
[Desktop Entry] Type=XSession Exec=env KDEWM=/usr/bin/i3 DesktopNames=KDE Name=Plasma (i3) Comment=Plasma by KDE w/i3 X-KDE-PluginInfo-Version=5.14.4
- Le gestionnaire d'écran doit être redamarré, le plus facilement en redémarrant la machine.
Configuration de I3
Installation
Before starting the configuration, you should make sure i3 or i3-gaps are installed on your system. If they are not, use your package manager or Discover to install one of these two packages. You should also install a compositor such as "compton", since unlike KWin, i3 doesn't ship with an integrated compositor.
Creation d'une configuration de default de i3
.i3/config
ou .config/i3/config
), vous pouvez sauter cette étape.
Ouvrez un terminal et entrez i3-config-wizard
. Cette commande ouvre une petite fenêtre qui vous aidera à créer un fichier de configuration.
Some i3 window rules help you to have notifications and some other plasma windows as floating windows:
for_window [title="Desktop — Plasma"] kill; floating enable; border none for_window [class="plasmashell"] floating enable; for_window [class="Plasma"] floating enable; border none for_window [title="plasma-desktop"] floating enable; border none for_window [title="win7"] floating enable; border none for_window [class="krunner"] floating enable; border none for_window [class="Kmix"] floating enable; border none for_window [class="Klipper"] floating enable; border none for_window [class="Plasmoidviewer"] floating enable; border none for_window [class="(?i)*nextcloud*"] floating disable
Configuration de bspwm
Dans la plupart des cas, bspwm demande quelques petites déclarations supplémentaires.
- A single Plasma panel, in most cases, is detected properly and bspwm will not place windows in its space. If the panel ends up presenting a problem, or when using multiple panels, the following may be added to .bspwmrc
bspc config top_padding size
where size is the size of the panel in pixels. Also valid are bottom_padding, left_padding, and right_padding. As many of these directives may be used as necessary for multiple panels.
Hints and Tips
DBus
You can open some Plasma components with DBus commands. So you can map keybinding to these DBus commands. To find a specific DBus command, you can look at QDbusViewer.
Quelques exemples :
- Open Krunner
qdbus org.kde.kglobalaccel /component/krunner org.kde.kglobalaccel.Component.invokeShortcut 'run command'
- Open logout confirmation screen
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
For i3, you can map a keybinding with the bindsym command. Example:
bindsym $mod+Shift+e exec <command>
For Bspwn, you need to use the bspc
programm. See Arch Linux wiki for more information.
More Information
- Window managers (Wikipedia)
- Window managers (Arch Linux wiki)
- Desktop environment (Wikipedia)
- Desktop environment (Arch Linux wiki)