Skip to content

scaryrawr/yaltl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yaltl

yaltl is a terminal launcher

yaltl - Yet Another Linux Terminal Launcher

yaltl demo

Dependencies

  • clang
    • C++20
  • ftxui - For TUI
  • giomm - For drun
  • gtkmm - For recent documents
  • i3ipcpp - For i3/sway window switching
  • pcre2 - regex (will fallback to C++11 regex implementation if not found)
  • mtl - For vanity

Building

cd yaltl
export CC=clang
export CXX=clang++
mkdir build && cd build
cmake ..
make
sudo make install

Modes

  • dmenu - Only accessibly by using -d or --dmenu
    • Reads from stdin and outputs selection to stdout
    • Will not run with any other modes since there may be unexpected behavior
  • drun - Run from installed desktop applications
  • recent - Lists recently used documents to open
  • run - Run binary from PATH
  • i3wm - Window switcher for i3wm/sway
  • Script - Run a script
    • Results will be passed back to the script
    • Continued output to stdout will cause yaltl to continue to display the new results

Keyboard shortcuts

  • Esc - Cancel out of yaltl
  • Tab - Next Mode
  • Shift+Tab - Previous Mode

Configuring i3/Sway

Example uses alacritty

Set up your menu command:

for_window [app_id="yaltl"] floating enable, border pixel 2, sticky enable
set $menu exec alacritty --class yaltl -d 80 10 -e sh -c 'yaltl -m drun,run,i3wm'

i3 appears to have parse errors when trying to launch yaltl with args, so we use a launch script.

Create a launch script ~/.config/i3/scripts/launch_yaltl:

#!/usr/bin/env sh
yaltl -m drun,run,i3wm

Set up your menu command:

for_window [instance="yaltl"] floating enable, border pixel 2, sticky enable
set $menu exec alacritty --class yaltl -d 80 10 -e sh -c '~/.config/i3/scripts/launch_yaltl'

About

tofi application launcher for Linux

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published