SHELLEX(1)

πŸ“¦
version 0.3 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– SHELLEX(1) β€” the shellex manual, bestie edition πŸ’–

okay so you're looking at shellex, and I'm gonna walk you through the whole thing like we're texting at 2am. buckle up. πŸŽ€


✨ NAME ✨

shellex β€” a shell-based launcher. that's the whole vibe. πŸ’…


🌸 SYNOPSIS 🌸

shellex [...]

πŸ’… OPTIONS πŸ’…

okay so here's the tea: all the command-line parameters get passed straight on to urxvt β€” plus a couple that are shellex-specific. so yeah, you can totally do stuff like -bg grey20 if you want a lighter background. πŸ¦‹

⚠️ but listen. if you start using this for stuff that's more than just customizing the appearance β€” like, say, adding your own extensions β€” it might legitimately stop shellex from working. so be careful, bestie. no cap. πŸ’€

if you want the full list of options, go read urxvt(1). she's got the receipts. πŸ“œ


🌈 DESCRIPTION 🌈

so shellex is a shell-based launcher that has a lot more features and a much simpler design. it's giving efficiency. it's giving main character.

what it does: it launches a shell (currently zsh(1)) and shows it in a tiny little terminal (currently urxvt(1)), and it wraps every single command with a lil bit of extra magic β€” redirecting stdout, redirecting stderr, disowning, and closing the shell β€” so you get that more typical launcher-behaviour. ✨

and the result? a simple launcher with tab-completion and all the other shell features, fully configurable in shell. obsessed, honestly. 🫢


🧚 RESOURCES 🧚

right now shellex uses two X-Resources to mess with how it behaves. here they are:

  • shellex.pos β€” if it's set to pointer, shellex shows the window on the window that the mousepointer is on. if it's set to focus, it uses the output where most of the currently focused window is. defaults to focus. πŸ–±οΈ
  • shellex.edge β€” which screen edge to show the launcher on (top or bottom). defaults to top. ⬆️

plus!! all the resources defined by urxvt β€” but with the class shellex instead of urxvt β€” can be used to customize the appearance or behaviour of the terminal window it uses. so you're not stuck with default anything. πŸ’œ


πŸŽ€ CONFIGURATION πŸŽ€

shellex configuration snippets live in /usr/lib/shellex/. πŸ“

on start, shellex puts together a list of snippet basenames by looking at all of the paths listed below. then, for each snippet basename, shellex loads the first file it finds when it looks through the paths in order:

  1. $XDG_CONFIG_HOME/.shellex β€” typically unset, and defaults to $HOME/.config/shellex.
  2. $HOME/.shellex
  3. /etc/shellex β€” these are the shellex defaults, symlinks to /usr/lib/shellex/conf/

so to customize shellex, here's the stuff you can do inside $XDG_CONFIG_HOME/.shellex or $HOME/.shellex/:

  1. Overwrite a default by creating a new snippet of the same name.
  2. Not include a default by creating a symlink to /dev/null of the same name.
  3. Include an example-snippet that isn't used by default, by creating a symlink to /usr/lib/shellex/snippet.
  4. Write your own snippets with a currently unused name. main character energy, honestly. πŸ‘‘
πŸ’‘ pro tip from the manpage itself: to avoid naming-conflicts in the future, you should add a common suffix to all your own snippets.

snippets are run in ascending order. so by choosing a number that sorts between/after the existing snippet(s), you can make sure it runs at exactly the time you want. for example: if your snippet beeps on errors, name it 15-errorbeep so that it sorts before 20-nobeep. 🐝


πŸ¦‹ AUTHORS πŸ¦‹

Axel Wagner <mail@merovius.de> and contributors. love that for them. πŸ’–


and that's the whole page, bestie!! this was shellex 0.3, dated 12/11/2018. slay, go forth and launch things. πŸ’…βœ¨πŸŒˆ

πŸ“¦ where this page comes from