1
0
Fork 0
mirror of https://github.com/Cloudef/bemenu synced 2024-05-25 00:46:19 +02:00
Commit Graph

526 Commits

Author SHA1 Message Date
Bilal Elmoussaoui cac68880c1 flatpak: the action already uploads artifacts 2021-07-09 11:25:08 +09:00
Jari Vetoniemi 377015193d flatpak: give bemenu-run ro access to host fs 2021-07-08 12:58:50 +09:00
Jari Vetoniemi b36a617fae ci: flatpak building 2021-07-08 00:41:19 +09:00
Jari Vetoniemi e0e85e3eac flatpak: add recipies
For people who like to use flatpak, or have hard time building the thing
otherwise.
2021-07-08 00:41:19 +09:00
Tuyen Pham 81195da11c wayland: respect sway's keyboard rate settings 2021-07-06 10:29:47 +09:00
Maximilian Bosch 702a04c374 Ignore hidden files in `bemenu`
On most systems it's fairly uncommon to have hidden files within
`$PATH`, but in case of NixOS this is fairly regularly the case as we
have the convention to add `foo` and `.foo-wrapped` to a `bin`-directory
if `foo` is supposed to be a wrapper which sets e.g. env-vars for the
program.

These `.foo-wrapped`-executables are almost never needed, but are shown
in `bemenu` right at the start, so I modified the selection code to skip
hidden files which is also what `dmenu` does for instance.
2021-06-11 01:29:17 +09:00
Jari Vetoniemi 6a7341683e bump version to 0.6.2 2021-06-09 09:20:23 +09:00
Jari Vetoniemi 752ab983d1 make: -fPIC static libs that link to shared libs 2021-06-09 09:12:57 +09:00
Jari Vetoniemi ca6b903415 curses: revert alt detection
This seems to be broken at least on some terminals and the high bit
toggle corrupts input. In addition there was printf for the esc/alt key
detection that can break the UI.

Neovim seems to have noncompatible way of detecting alt, so I think
neovim should be looked for proper way for handling this.
2021-06-07 16:30:12 +09:00
Bill Doyle 69d030573c Handle multiple seats (more) correctly
Previously, any seat without a keyboard could destroy our selected
keyboard. Now, select by seat instead and only destroy the keyboard if
it vanishes from that seat. This isn't actually multi-seat support, but
at least it will allow bemenu to accept input.
2021-06-06 23:31:57 +09:00
Thomas Weißschuh 44958c3a9b pkgconfig: set include path for header file 2021-05-25 17:49:04 +09:00
Jari Vetoniemi 9898036891 release 0.6.1 2021-05-23 14:14:35 +09:00
Jari Vetoniemi fa9dcee2e4 make: use bemenu-$(VERSION) as tarball prefix 2021-05-23 14:12:13 +09:00
Robert Günzler a81c80f81f wayland: update wlr-layer-shell-unstable-v1 protocol
Signed-off-by: Robert Günzler <r@gnzler.io>
2021-05-22 04:12:59 +09:00
Robert Günzler 4612f9d327 wayland: Allow showing the menu on the focused monitor
This adds an alias 'focused' for selecting the current monitor, which
becomes the default on x11 and wayland. The previous wayland default of
displaying on all outputs moves under '-2' or 'all'.

ref: https://github.com/Cloudef/bemenu/issues/102#issuecomment-604562234

Signed-off-by: Robert Günzler <r@gnzler.io>
2021-05-22 04:12:59 +09:00
Jari Vetoniemi f23597ded0 release 0.6.0 2021-05-20 12:02:33 +09:00
Jari Vetoniemi d5683f3633 ci: add actions for CI and release automation 2021-05-20 11:33:53 +09:00
Jari Vetoniemi 4b7b483bd6 cairo: fix gnu_printf format warning 2021-05-07 23:50:45 +09:00
Jari Vetoniemi dd276c0a15 curses: fix build for OSX 2021-05-07 23:43:11 +09:00
Jari Vetoniemi 203d79e063 curses: fix bad format string for draw_line 2021-05-07 23:40:56 +09:00
Jari Vetoniemi ebd7338bd5 s/cairo/cairo_renderer/ and fix cairo include
The documented canonical include for cairo is #include <cairo.h>
2021-05-07 23:38:15 +09:00
Sören Tempel c8b4efcd79 man: update documentation to reflect revised handling of -m 2021-04-27 14:24:02 +09:00
Sören Tempel 934aa6fbb9 client: make sure the monitor index defaults to -1
This ensures that the menu spawns on the current monitor by default when
using X11 or on all monitors when using Wayland.
2021-04-27 14:24:02 +09:00
Sören Tempel 2e922503e8 x11: Align -m argument interpretation with dmenu
With dmenu, monitor indices start at 0 and a value of -1 (the default)
is used to spawn dmenu on the current monitor. While bemenu strives to
be compatible with dmenu, bemenu monitor indices previously started at 1
and a value of 0 (the default) was used to spawn on the current monitor.

This commit aligns the behaviour of bemenu's x11 backend with dmenu. For
this purposes, the affected code in the x11 backend is synced with the
current dmenu implementation. While doing so the monitor type has also
been switched from a uint32_t to a int32_t.
2021-04-27 14:24:02 +09:00
Thomas Weißschuh 9f2ad2dde0 List projects using bemenu in README.md
See #168
2021-04-26 23:23:47 +09:00
Sören Tempel 1475c3ce45 client: improve stripping of getline(3) newline
The previous version of this code operated under the assumption that
getline(3) lines are always \n\0 terminated. Unfortunately, this is not
the case as readline will return input which is not terminated with a
newline character if EOF is reached before encountering this newline. In
these cases, the code would falsely strip the last character. As an
example, consider the following bemenu invocation:

	printf foo | ./bemenu

This would start bemenu with `fo` instead of `foo` as a menu item. This
commit fixes this edge case and also hardens the loop body a bit by only
entering it if getline wrote more than zero characters to the buffer.
2021-04-04 19:03:52 +09:00
Sören Tempel 38395e92c7 client: use getline(3)
Not sure why the code didn't use this function previously, but
getline(3) is mandatory since POSIX.1-2008 and should thus be supported
by all maintstream operating systems. The proposed changes make the code
easier to read and should also make it more efficient memory-wise as it
does not necessarily cause the entire input to be copied into memory at
once.
2021-04-04 17:45:04 +09:00
Stephen Gregoratto 92bc5329ca Rewrite manpage
- Much of the existing text was reworded for better understandability.
- The new manpage uses mdoc(7) for better formatting.
  Because of this, we can merge bemenu and bemenu-run into a single
  file.
2021-04-01 19:07:07 +09:00
Kian Kasad 6ba3000fba add 'Usage' section to man page with keybindings 2021-03-29 16:03:49 +09:00
Harley Swick e74224a406 Use -m option for setting monitor name and monitor + cleanup 2021-02-05 16:53:43 +09:00
Robert Günzler 52547807b0
support hiding filter input (#150)
* support hiding filter input

"password mode"

Signed-off-by: Robert Günzler <r@gnzler.io>
2021-02-05 13:12:48 +09:00
Peter Colberg 1dfa72b8bc Fix missing definition for bm_menu_add_item_at
The function was declared in bemenu.h but defined using a different name.
2020-12-13 17:10:41 +09:00
Peter Colberg 38c2958573 Declare filter_dmenu_fun as static
This is an internal function that should not be exported from the library.
2020-12-13 17:10:07 +09:00
Peter Colberg a9cee36e85 Support compilation with -fvisibility=hidden
When using a compiler with support for GNU C extensions (GCC, Clang),
explicitly mark functions shared across library boundaries as visible.

This is the default visibility and has no effect when compiling with the
default CFLAGS. When compiling with -fvisibility=hidden, however, this
exports only functions marked BM_PUBLIC and hides all others.

https://gcc.gnu.org/wiki/Visibility

This facilitates packaging for distributions that track shared library
symbols, e.g., Debian, which uses a symbol file to provide the minimal
version associated to each symbol exported by a library.

https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#the-symbols-system
https://manpages.debian.org/unstable/dpkg-dev/dpkg-gensymbols.1.en.html
2020-12-13 17:09:44 +09:00
Julian Mehne 7523af7d18 Add --filter option. 2020-11-15 11:30:03 +09:00
fancycade 4cbc0343c3 Document keybindings in README 2020-10-17 16:40:12 +09:00
fancycade 1bd40d0a44 Add key_pending field to sync wayland keyboard event loops 2020-10-10 16:22:07 +09:00
Jari Vetoniemi c0fa954881 fix the version to 0.5.0
Sanity this in future against git tag.
2020-08-28 21:02:30 +09:00
Dominic Monroe 64c38dde50 Add custom key support 2020-08-28 21:01:22 +09:00
Peter Colberg 20661aed78 Drop CMakeLists.txt for curses renderer 2020-08-23 09:41:47 +09:00
Jari Vetoniemi 65cea5e20a cairo: add BEMENU_SCALE env variable
Allows overriding the scaling factor for bemenu
2020-06-29 00:12:20 +09:00
Jari Vetoniemi 7266ebb795 cairo: fix hidpi rendering 2020-06-29 00:06:19 +09:00
Jari Vetoniemi 7b7cbf6ba0 man: document the new scrollbar option 2020-06-28 23:28:03 +09:00
Daniel Lublin 5387677720 Add --scrollbar none
Useful in aliases or scripts to override a previously enabled scrollbar
on the commandline.

Also correct documentation of bm_scrollbar_mode.
2020-06-15 15:09:42 +09:00
Jari Vetoniemi d9f4d1bb12 cairo: don't draw left scroll indicator if empty
If there are no matches the left indicator would be still drawn as black
box. If filter string is long enough, this black box would cover part of
the filter string.
2020-05-08 12:20:35 +03:00
Jari Vetoniemi 116cb5479f make: do not break the documented make/install way
also use cp / mkdir for compatibility
2020-05-07 14:54:09 +09:00
Jari Vetoniemi 474e7c0965 make: osx uses install_name instead of soname ... 2020-05-07 14:48:22 +09:00
Jari Vetoniemi d5ad43bae5 make: use -soname, instead of -soname= 2020-05-07 14:47:42 +09:00
Ivy Foster f47d753135 GNUmakefile: add individual install rules for each renderer
This eases split packaging as suggested in
https://github.com/Cloudef/bemenu/issues/79#issuecomment-572867783
2020-05-07 14:34:23 +09:00
Tuomas Siipola bdfc2aac84 menu: fix delete on multi-byte characters 2020-04-19 15:16:14 +03:00