30 lines
1.3 KiB
Markdown
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.
|