Tutoriels/Utiliser d'autres gestionnaires de fenêtres avec Plasma

From KDE UserBase Wiki
Revision as of 07:30, 9 April 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

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.

Plasma using i3 as window manager

Warning

Other window managers are only available when using X.org. These changes cannot be made for Wayland sessions yet. With Wayland maturing and Wayland extensions being standardized, this feature could be implemented in Wayland[1]


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.

Note

The XSession file location varies between distributions, but is most of the time found in /usr/share/xsessions.


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.

Warning

Ensure the correct path and name of the window manager application are used when modifying the Exec directive. If KDE is unable to start the window manager, the session will fail and the user will be returned to the login screen.


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

Remarque

si vous avez déjà un fichier de configuration i3 (souvent dans .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

Bspwm configuration

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.

Some examples:

  • 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

References