Blame


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