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

From KDE UserBase Wiki
Revision as of 15:30, 15 March 2019 by ChristianW (talk | contribs) (Created page with "* Selectionner '''Démarrage et fermeture'''")

En cours de construction

Il s'agit d'une nouvelle page, actuellement en construction.


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.

Attention

D'autre gestionnaire de fenêtre sont uniquement disponible en utilisant X.org. Ces changements ne peuvent pas être réalisés pour les sessions Wayland.


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 :

  • Tiling window managers may have problems with components like panels. For some configurations, certain options will help alleviate issues
  • Most window managers do not have their own compositors, and therefore lack features like animations and transparency. If such effects are desired, a compositor such as compton is required

Using Another Window Manager with Plasma

Mono utilisateur : utiliser les paramètres système

This is the simplest method, but only affects the user for which it is added.

  • Create a shell script (kde-i3.sh as an example), containing the following
    #!/bin/sh
    export KDEWM=/usr/bin/i3
    

Replace /usr/bin/i3 with the path to the window manager desired.

  • Démarrer la configuration système
  • Selectionner Démarrage et fermeture
  • Select Autostart
  • Click the Add script button below the list
  • 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
  • The chosen window manager will be used the next time you log in

System Wide: Adding an XSession

If superuser (root) access is available, a new session file for X.org can be created.

This has several advantages: the alternate session is available to all users of the system, and changing back to KWin is as simple as logging out and back in.

To add a session for an alternate window manager as superuser:

  • Copy the existing Plasma session file
    cp plasma.desktop plasma-i3.desktop
  • Using a text editor, open the file and change the Exec line, and optionally the 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
    
  • The display manager must be restarted, most easily by rebooting

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

Note

If you already have an i3 configuration file (usually at .i3/config or .config/i3/config), you can skip this step.


Open a console and type i3-config-wizard. This command opens a small window that will help you create a configuration file.

Some i3 keybindings can be used to provide better integration with Plasma.

# Open logout confirmation screen with $mod+e
bindsym $mod+Shift+e exec qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
# Open krunner with $mod+d
bindsym $mod+d exec qdbus org.kde.kglobalaccel /component/krunner org.kde.kglobalaccel.Component.invokeShortcut 'run command'

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

For the most part, bspwm requires little additional configuration.

  • 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.