Skip to content

Cut & paste avec Zellij et Wayland

Auteur : Philippe Le Van - @plv@framapiaf.org

Date : 11 avril 2024

Introduction

Zellij est un terminal multiplexeur équivalent à tmux. Je l'aime bien parce que les raccourcis clavier sont indiqués en bas de l'écran. Je le trouve plus facile à apprendre que tmux.

Un terminal multiplexeur permet de diviser un terminal en plusieurs fenêtres et permet de "détacher" un terminal pour le reprendre plus tard. C'est pratique pour lancer des commandes longues et ne pas avoir peur d'avoir une coupure réseau par exemple.

Note

Ce tuto concerne ma config : un ubuntu 23.10 avec Gnome et Wayland (l'install de base de Ubuntu).

Le problème des copier-coller

Il y a 2 façon de faire un copier-coller avec zellij :

Le copier-coller "de base" du terminal

On sélectionne avec shift + click gauche de la souris et on sélectionne la zone.

Le problème est que quand on a plusieurs fenêtres, la sélection porte sur toute la largeur du terminal et ne se limite pas au panneau zellij :

Zellij, sélection de base

Mais sinon, ça marche bien et ça copie bien dans le presse papier.

Le copier-coller de zellij

Si on sélectionne avec juste la souris (sans la touche shift), la sélection s'arrête bien au panneaux zellij.

zellij.png

Mais le copier-coller ne marche pas, la partie sélectionnée n'arrive pas dans le presse papier

Réparer le copier-coller Zellij

Il y a 2 étapes pour réparer le copier-coller de zellij :

Installer wl-clipboard

1
sudo apt install wl-clipboard

wl-clipboard contient 2 outils : wl-copy et wl-paste.

On peut insérer en ligne de commande du texte dans le presse papier :

1
2
# insère "foo bar" dans le presse papier 
wl-copy "foo bar"

Ensuite on peut aller n'importe et faire ctrl+V, ça colle bien "foo bar".

Configurer Zellij pour utiliser wl-copy

Le fichier de configuration Zellij est dans ${HOME}/.config/zellij/config.kdl.

S'il n'existe pas, on peut le créer :

1
2
mkdir ~/.config/zellij
zellij setup --dump-config > ~/.config/zellij/config.kdl

On ajoute la ligne suivante à la fin du fichier (regardez si elle n'existe pas déjà en version commentée) :

1
copy_command: "wl-copy"

Relancez votre zellij et le tour est joué.

Quand vous sélectionnez une zone avec la souris (sans shift), vous pouvez copier ce contenu dans une autre fenête avec le ctrl+v classique.

Références