1
0
Fork
You've already forked dmenu
1
No description
  • C 84.7%
  • Roff 9.2%
  • Makefile 4.2%
  • Nix 1.4%
  • Shell 0.5%
Find a file
2024年06月13日 13:07:57 +03:00
pathces Added printindex path 2024年06月13日 13:07:57 +03:00
arg.h arg.h: fixed argv checks order 2016年02月23日 00:31:03 +01:00
config.def.h Changed default colorscheme to gruvbox 2023年11月26日 00:11:52 +02:00
config.mk Added and applied prefered patches. 2023年05月28日 00:33:06 +03:00
dmenu.1 Added printindex path 2024年06月13日 13:07:57 +03:00
dmenu.c Added printindex path 2024年06月13日 13:07:57 +03:00
dmenu_path make dmenu_path script executable 2019年02月12日 22:13:58 +01:00
dmenu_run dmenu_run: Split cache logic to dmenu_path again 2012年07月30日 17:02:12 +02:00
drw.c remove workaround for a crash with color emojis on some systems, now fixed in libXft 2.3.5 2022年09月17日 15:32:26 +02:00
drw.h introduce drw_fontset_getwidth_clamp() 2022年03月25日 22:49:07 +01:00
flake.lock Created a nix derivation to build dmenu 2023年05月28日 00:00:09 +03:00
flake.nix Updated README 2023年05月28日 16:56:53 +03:00
LICENSE bump version to 5.1 2022年02月11日 12:26:35 +01:00
Makefile Makefile: just show the compiler output 2018年06月02日 17:09:01 +02:00
README.org Updated README 2023年05月28日 16:56:53 +03:00
stest.1 applied Martin Kühl's inverse matching flag to stest 2013年08月13日 19:15:04 +02:00
stest.c remove always true condition in if statement 2021年07月25日 10:55:45 +02:00
util.c sync code-style patch from libsl 2022年08月08日 10:42:54 +02:00
util.h import new drw from libsl and minor fixes. 2016年06月03日 19:13:15 +02:00

dmenu - dynamic menu (Patched by Yehoslav)

dmenu is an efficient dynamic menu for X. But I still missed some features, which luckily are available through patches. I manually applied (since some of them were broken when I let nixos apply them) the following pathces:

  • dmenu-fuzzy(match|highlight);
  • dmenu-grid(nav)+;
  • dmenu-password;
  • dmenu-center;
  • and dmenu-dracula;

Requirements

In order to build dmenu you need the Xlib header files.

Installation

Edit config.mk to match your local setup (dmenu is installed into the /usr/local namespace by default).

Afterwards enter the following command to build and install dmenu (if necessary as root):

make clean install

Nix (TODO: add how to install using nixpkg)

Since I use nix I created a derivation to build dmenu just by running nix build. And than I can test the build using the binary from ./result/bin/.

I am new to nix, so it's mostly a hack I found through trial and error :D

NixOS

One can override the dmenu attributes when installing to NixOS (in home.nix in my case) like so:

(dmenu.overrideAttrs (oldAttrs: rec {
 src = fetchGit {
 url = "https://codeberg.org/Yehoslav/dmenu";
 rev = "436e20a9dbc56b2418e1263004ba518a2d7718fb";
 narHash = "sha256-gw5l+pLqOn6T1AgVhf2UacANFQ7V27KrcBLQawy9NN0=";
 };
}))

where rev represents the hash of the desired commit, and narHash is a unique key generated from the contents of the repository which you can get from the terminal when rebuilding NixOS (this key is a security measure to guarantee that the contents are the same, if without changing the revision the rebuild process complains that sha256 doesn't match than the contents were corrupted).

Running dmenu

See the man page for details.