Blob


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