Files
2026-07-18 22:59:41 +02:00

4.2 KiB

🚀 runapp

Un lanceur d'applications TUI (Terminal User Interface) ultra-rapide, intelligent et personnalisable, écrit en Rust. Conçu pour les utilisateurs de Linux (particulièrement Arch Linux) qui vivent dans leur terminal.

Rust Linux License

Fonctionnalités

  • Recherche Floue (Fuzzy Search) : Trouve tes apps instantanément. Tape vsc pour lancer Visual Studio Code.
  • Historique Intelligent (Frecency) : Les applications que tu lances le plus souvent remontent automatiquement en haut de la liste.
  • Affichage des Icônes en Haute Qualité : Supporte les SVG, PNG, WebP, AVIF, etc., directement dans le terminal (nécessite un terminal compatible comme Ghostty, Kitty ou WezTerm).
  • Support des Actions .desktop : N'affiche pas seulement "Firefox", mais aussi "Firefox - New Private Window" si l'application le permet.
  • Applications Terminal : Détecte les apps comme htop ou bash et les ouvre proprement dans ton émulateur de terminal configuré.
  • Modes Spéciaux :
    • = 50 * 3.14 : Calculatrice instantanée (copie le résultat dans le presse-papier).
    • ! bonjour : Traduction via DeepL (ou ton traducteur préféré).
    • : reboot : Commandes système (shutdown, reboot, sleep, lock, logout).
  • Liens et Fichiers : Tape un chemin (/home/...) ou une URL (youtube.com) pour l'ouvrir directement avec xdg-open.
  • Mode Dmenu : Utilisable dans tes scripts bash ! (Ex: echo -e "opt1\nopt2" | runapp --dmenu).
  • Configuration Ultra-Poussée : Personnalise les couleurs, les alias, les URLs de recherche et de traduction via un simple fichier config.toml.

🛠️ Prérequis

Pour profiter de l'affichage des images dans le terminal, tu dois utiliser un émulateur de terminal moderne supportant les protocoles graphiques :

Note : Si ton terminal ne supporte pas les images, runapp fonctionnera parfaitement en mode texte pur, sans faire planter l'interface.

📦 Installation

Depuis les sources (Crates)

git clone https://github.com/arthur-pbty/runapp.git
cd runapp
cargo build --release

L'exécutable se trouvera dans target/release/runapp. Tu peux le copier dans ton PATH :

sudo cp target/release/runapp /usr/local/bin/

⚙️ Configuration

Au premier lancement, un fichier de configuration est généré automatiquement ici : ~/.config/runapp/config.toml

Tu peux le modifier pour l'adapter à tes besoins :

enable_calculator = true
enable_translation = true
enable_web_search = true
web_search_url = "https://duckduckgo.com/?q={}"
translation_url = "https://www.deepl.com/translator#auto/auto/{}"
terminal_emulator = "ghostty -e"
enable_system_commands = true

[aliases]
update = "ghostty -e paru -Syu"
clean = "ghostty -e paru -Sc"

[colors]
search_text = "white"
selection_bg = "blue"
selection_fg = "black"

⌨️ Utilisation

Lanceur classique

Lance runapp (idéalement bindé sur un raccourci clavier dans ton gestionnaire de fenêtres comme Hyprland, Sway ou i3).

Raccourci Action
Touche Taper du texte pour filtrer
/ Naviguer dans la liste
Entrée Lancer l'application ou l'action
Échap Effacer le texte, ou quitter si vide

Mode Script (Dmenu)

Tu peux utiliser runapp pour remplacer dmenu ou rofi -dmenu dans tes scripts :

#!/bin/bash
CHOIX=$(echo -e "Éteindre\nRedémarrer\nMettre en veille" | runapp --dmenu)
echo "Tu as choisi : $CHOIX"

🧱 Stack Technique

📝 Licence

Ce projet est sous licence MIT. Fais-en ce que tu veux !