Blob


1 # MyMenu
3 > A drop-in replacement for dmenu, 'cause I was bored
5 ![MyMenu works!](screen.png)
7 ---
9 ## What?
11 This is a drop-in replacement for `dmenu(1)`.
13 ## Why?
15 This was the perfect excuse to learn how to make window with Xlib.
17 ## How?
19 Check out the [manpage](mymenu.1) for further documentation. Check out
20 also the [template](Xexample) for the resources.
22 ---
24 ## Dependencies
26 - Xlib
27 - Xinerama (optional)
28 For multi-monitor support
29 - pkg-config (optional)
30 used in the makefile to generate `LIBS` and `CFLAGS` correctly
32 ## Build
34 As simple as `make`. If you want to disable Xinerama support just
35 delete `-DUSE_XINERAMA` from the `CFLAGS` and `xinerama` from the
36 `pkg-config` call from the Makefile.
38 ---
40 ## TODO
42 - Command line flags
44 At the moment the X Resource Database is the only way to interact
45 with the graphic appearance of MyMenu.
47 - Optional TrueType support
49 - Opacity support
51 - Alternate layout
53 An alternate layout (similar to rofi) would be nice too
55 ## Scripts
57 I'm using this script to launch MyMenu
59 ``` shell
60 #!/bin/sh
62 cat <<EOF | /bin/sh -c "$(mymenu "$@")"
63 ZZZ
64 sct 4500
65 lock
66 connect ethernet
67 connect home
68 connect phone
69 zzz
70 ...
71 EOF
72 ```
74 Of course you can as well use the `dmenu_path` and `dmenu_run` scripts
75 that (usually) comes with `dmenu`.