spmenu-wiki/Goals.md

30 lines
1.3 KiB
Markdown

# Goals
These are the goals that spmenu should achieve.
- Read from file and standard input
- spmenu should read list items from standard input, or really any file you
can imagine.
- dmenu compatible
- spmenu should be compatible with all existing dmenu scripts. Maybe not
rofi, even if it does have some features in common.
- Customizable
- spmenu should be customizable, when considered feasible through a libconfig
configuration file read on startup.
- Sort of minimal
- While spmenu is significantly more bloated than dmenu, it should still
be a simple program. It currently sits at ~8000 SLOC. To keep it simple
a toolkit like GTK or QT should not be used. Cairo and Pango are used to
draw fonts and shapes for both X and Wayland.
- Good run launcher
- spmenu should provide a useful $PATH run launcher, along with a .desktop
entry run launcher. It should do this in the form of an external shell script,
because "do one thing and do it well"
- X and Wayland support
- spmenu should support both X11 and Wayland natively. It should support
wlroots-based compositors, but not necessarily GNOME or non-wlroots
compositors.
- No arbitrary SLOC limitation
- suckless philosophy works well in many cases, but spmenu does not attempt
to follow the suckless philosophy.