1
0
mirror of https://github.com/Cloudef/bemenu synced 2024-11-26 05:58:25 +01:00
Commit Graph

241 Commits

Author SHA1 Message Date
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
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
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
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
fancycade
1bd40d0a44 Add key_pending field to sync wayland keyboard event loops 2020-10-10 16:22:07 +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
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
Tuomas Siipola
bdfc2aac84 menu: fix delete on multi-byte characters 2020-04-19 15:16:14 +03:00
Tuomas Siipola
33cec5cff6 cairo: fix cursor position on multi-byte input
`pango_layout_index_to_pos` expects byte index
2020-04-19 15:16:14 +03:00
Jari Vetoniemi
6343a658bb wayland: support showing bemenu on all monitors 2020-03-25 19:16:57 +02:00
Cole Helbling
cd53b7bb55 x11,wayland: treat keypad enter as normal enter 2020-03-19 09:23:32 +02:00
Bill Doyle
6350a4000d
Add transparency support (#96)
Add transparency support
2020-03-16 11:41:42 +09:00
Jari Vetoniemi
56231f8119 bemenu-run: add --fork option
Make terminal backends not fork by default.
Use this option to fork again on curses.
For non terminal backends this option is no-op.
2020-02-08 13:21:36 +02:00
Jari Vetoniemi
b688425bf3 menu: fix custom selection 2020-02-08 12:48:15 +02:00
Jari Vetoniemi
178a58253a wayland: implement set_monitor (untested) 2020-02-08 10:10:58 +02:00
Jari Vetoniemi
b4fc82a3aa curses: fix list indent with scrollbar 2020-02-08 00:25:08 +02:00
Jari Vetoniemi
bb7db3e2b7 cairo/curses: dmenu like indent for lists
Fixes #72
2020-02-08 00:22:52 +02:00
Jari Vetoniemi
1c487ba808 cairo: make scrollbar 1 character thick 2020-02-07 23:53:46 +02:00
Jari Vetoniemi
9110c7c42e x11: set window class and name
class is always bemenu, name is whatever is the title of the menu
2020-02-07 23:31:41 +02:00
Jari Vetoniemi
f8d025b350 x11: whitespace 2020-02-07 23:31:33 +02:00
Jari Vetoniemi
bc584cc5f0 menu: make SHIFT_RETURN handling more elegant
Don't handle this on client side. Instead have a filter item and return
it if filter text is requested.
2020-02-07 21:54:13 +02:00
Jari Vetoniemi
4534cc8c73 menu: whitespace 2020-02-07 21:53:56 +02:00
Jari Vetoniemi
fcce2e019a menu: left/right now moves always cursor
Use SHIFT + left/right to move selection
2020-02-07 18:28:48 +02:00
Jari Vetoniemi
7af8c09f10 cairo: don't draw < if there's no items displayed 2020-02-07 18:22:35 +02:00
Jari Vetoniemi
c4856d784b cairo: always have space for < at single line mode 2020-02-07 18:19:56 +02:00
Jari Vetoniemi
42eca37688 cairo: add cursor 2020-02-07 18:15:34 +02:00
Jari Vetoniemi
e7d6562046 cairo: useless memsets 2020-02-07 18:15:24 +02:00
Jari Vetoniemi
f04c5c458a cairo: use inline instead of attributes 2020-02-07 17:05:10 +02:00
Jari Vetoniemi
a53189314f cairo: remove whitespace 2020-02-07 17:03:33 +02:00
Jari Vetoniemi
ac9790b059 Fixes and docs from osx 2020-02-07 23:35:01 +09:00
Jari Vetoniemi
acb24be411 ignore_ret warns on clang *sigh* 2020-02-07 16:23:52 +02:00
Jari Vetoniemi
5a4d364d50 Nuke CMake from existance
Welcome glorious GNU Makefile
2020-02-07 16:03:08 +02:00
Jari Vetoniemi
9ff670f349 Fix gcc warnings 2020-02-07 13:05:15 +02:00
Jan Staněk
2f45c191bc
Mark global wayland constant extern
Without `extern`, the changed lines are not declarations,
but "tentative definitions"
(according to GCC man page, option `-fcommon`).
When specified in a header file
that is included in more than one `.c` file,
these result in linking failure unless `-fcommon` is specified.

GCC 10 changed the default from `-fcommon` to `-fno-common`,
and as such the previous code no longer links properly.

With `extern`, these lines are considered declarations,
and the linking proceeds successfully.
2020-02-06 17:35:20 +01:00
Jari Vetoniemi
7170c93f3a menu: reset cursor at end on set_filter 2020-02-03 17:43:46 +09:00
Jari Vetoniemi
1607215d70 Extra whitespace 2020-02-03 17:26:17 +09:00
Jari Vetoniemi
88bd960718 CMake: Compile renderers after exports 2020-02-03 17:21:19 +09:00
sleich
9ac860b817 Add Ctrl-[ shortcut to x11 and wayland
Ctrl-[ shortcut is used to quit bemenu. It already works with ncurses backend
2020-01-08 04:47:57 +03:00