Commit Graph

192 Commits

Author SHA1 Message Date
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
Michael Vetter
0f6e1625b5 Rename stdscr to stdscreen to prevent collision
On my system I get:
```
[    3s] cd /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/build/lib/renderers/x11 && /usr/bin/cc -DPANGO_DISABLE_DEPRECATED -D_GNU_SOURCE -Dbemenu_renderer_x11_EXPORTS -I/home/abuild/rpmbuild/BUI
LD/bemenu-0.3.0/build/lib -I/home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers/.. -I/home/abuild/rpmbuild/BUILD/bemenu-0.3.0/build/lib/renderers/x11 -I/usr/include/cairo -I/usr/include/g
lib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/inc
lude/fribidi  -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG   -Wall
-Wextra -Wno-variadic-macros -Wno-long-long -O2 -g -DNDEBUG -fPIC   -std=c99 -o CMakeFiles/bemenu-renderer-x11.dir/xkb_unicode.c.o   -c /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers
/x11/xkb_unicode.c
[    3s] [ 55%] Building C object lib/CMakeFiles/bemenu.dir/3rdparty/cdl.c.o
[    3s] cd /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/build/lib && /usr/bin/cc -D_GNU_SOURCE -Dbemenu_EXPORTS -I/home/abuild/rpmbuild/BUILD/bemenu-0.3.0/build/lib  -O2 -Wall -D_FORTIFY_SOURCE
=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG   -Wall -Wextra -Wno-variadic-macros -Wno-long-lo
ng -O2 -g -DNDEBUG -fPIC   -std=c99 -o CMakeFiles/bemenu.dir/3rdparty/cdl.c.o   -c /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/3rdparty/cdl.c
[    3s] In file included from /usr/include/ncurses.h:60,
[    3s]                  from /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers/curses/curses.c:14:
[    3s] /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers/curses/curses.c:27:13: error: field '_nc_stdscr' declared as a function
[    3s]    27 |     WINDOW *stdscr;
[    3s]       |             ^~~~~~
[    3s] /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers/curses/curses.c: In function 'terminate':
[    3s] /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers/curses/curses.c:97:19: error: lvalue required as left operand of assignment
[    3s]    97 |     curses.stdscr = NULL;
[    3s]       |                   ^
[    3s] /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers/curses/curses.c: In function 'render':
[    3s] /home/abuild/rpmbuild/BUILD/bemenu-0.3.0/lib/renderers/curses/curses.c:190:28: error: lvalue required as left operand of assignment
[    3s]   190 |         if ((curses.stdscr = initscr()) == NULL)
[    3s]       |                            ^
```

`man stdscr` sais: "Upon  initializing curses, a default window called stdscr, which is the size of the terminal screen, is created.".

So it seems for some reason there happens a collision here.

Let's rename the window so this doesn't happen.
2019-12-27 14:47:06 +01:00
Jari Vetoniemi
fedb1b0ab0 Use monospace 10 instead of fixed 9 by default
Matches the dmenu default, monospace instead of font name is more
robust.
2019-12-19 16:58:59 +02:00
Linus Heckemann
03c54c1d4b scaling: require scale > 0 2019-11-05 12:59:37 +01:00
Adrian Müller
1f1aebf26a Handle HiDPI scaling on Wayland 2019-11-05 10:13:34 +01:00
Sauyon Lee
c081cf7609
Add C-g shortcut to x11 and wayland 2019-07-13 00:46:18 +01:00
Alyssa Ross
93cde4831b
bemenu: add --line-height / -H option
Text is displayed vertically centered in a line. If unspecified, or 0,
the previous behaviour of making the height the size of the text, plus
two pixels on either side, is used, so there will be no change in
behaviour if this option is not used.

Fixes https://github.com/Cloudef/bemenu/issues/44.
2019-05-31 23:20:54 +00:00
Jari Vetoniemi
f27e35eabc Revert "Use x_LINK_LIBRARIES instead of x_LIBRARIES"
This reverts commit 620ae69020.
2019-04-24 22:39:23 +03:00
Tobias Kortkamp
620ae69020
Use x_LINK_LIBRARIES instead of x_LIBRARIES
The libraries might not be in the linkers default search path, so
use absolute paths for them instead when using TARGET_LINK_LIBRARIES.

Note that XKBCOMMON_LIBRARIES is an alias for XKBCOMMON_LIBRARY and
already contains an absolute path.

Signed-off-by: Tobias Kortkamp <t@tobik.me>
2019-04-23 12:17:16 +02:00
Tobias Kortkamp
2ca0625a70
Depend on epoll-shim on FreeBSD/DragonFly
They do not natively support epoll(2) but require a library shim for it.

Signed-off-by: Tobias Kortkamp <t@tobik.me>
2019-04-23 11:45:13 +02:00
Tobias Kortkamp
312a606d54
Use epoll_create1() instead of epoll_create()
epoll_create() takes a size argument not a flag like EPOLL_CLOEXEC [1].

[1] https://linux.die.net/man/2/epoll_create

Signed-off-by: Tobias Kortkamp <t@tobik.me>
2019-04-23 11:41:03 +02:00
Ilia Bozhinov
31107243db x11: add pango as dependency of the x11 renderer
We include the cairo rendering functions, which use pango.
2019-03-25 23:05:35 +01:00
Ilia Bozhinov
38069992ec Add option to respect panel position (#48)
* implement option to make menu respect panel boundaries

* fixup! implement option to make menu respect panel boundaries
2019-03-25 23:21:17 +02:00
Jari Vetoniemi
b375ef8b0b
Merge pull request #46 from DanySpin97/master
Add options for renderers, make deps required
2019-03-25 10:52:24 +02:00
Danilo Spinella
5ca32626dc Add options for renderers, make deps required 2019-03-25 09:44:45 +01:00
Ilia Bozhinov
ab82afab7f wayland: implement a proper repaint cycle 2019-03-24 20:18:59 +01:00
Jari Vetoniemi
799d8b9d1d
Merge pull request #36 from ppascher/ppascher-patch-1
Fix wayland renderer lagging behind by 1 keystroke
2019-01-31 09:51:56 +02:00
v44r
3916772cec Fix baseline when mixing ASCII and CJK characters 2019-01-29 19:30:45 +01:00
v44r
d3c43973c8 Limit line height to that of ASCII chars 2019-01-29 18:16:37 +01:00
v44r
6e34c3a923 Fix extra space below last item in vertical mode. 2019-01-28 14:53:16 +01:00
v44r
83a32e9b4c Fix vertical alignment of text. 2019-01-28 13:14:44 +01:00
ppascher
ddc95d7b64
Fix wayland renderer lagging behind by 1 keystroke
When using the wayland renderer the entries according to the second to last keystroke where displayed while the actual selected entry matched the last keystroke.
This removes skipping the buffer change in bm_wl_window_render if window->frame_cb is not NULL.
2018-11-07 19:59:58 +01:00
Earnestly
b84ce02c7e Fix overlapping when items have large glyphs 2018-10-31 19:53:01 +02:00
Dominique Martinet
3ae6ad7c48 wayland renderer: remove useless wl_surface_damage call
window->height is 0 at this point anyway...
2018-04-29 20:50:56 +09:00
Dominique Martinet
992e5add42 wayland renderer: Implement grab_keyboard
This avoids locking oneself out when running bemenu interactively,
as input would be grabbed too early without that and layer shell
does not allow to 'ungrab' focus by clicking on another window
2018-04-29 20:50:55 +09:00
Dominique Martinet
610b30364e wayland renderer: Fix bottom positioning
- reset size when it changes, so there is no blank below text
 - ignore exclude zone to overlap bar regardless of rendering order
2018-04-29 20:50:04 +09:00
Dominique Martinet
86f6e57bfe wayland renderer: fix indentation 2018-04-16 17:53:42 +09:00
Dominique Martinet
91bf9b4d14 wayland renderer: implement bottom 2018-04-16 17:53:11 +09:00
Drew DeVault
17aa5e21bf Port to wlroots layer shell 2018-04-08 11:05:52 -04:00
Jari Vetoniemi
208af51c0e clients: Make -f option show menu immediately 2017-02-14 19:20:44 +02:00
Jari Vetoniemi
91d929ecf4 curses: Refresh before endwin 2017-02-14 19:20:44 +02:00
Jari Vetoniemi
ebea91902d Fix gcc warnings 2017-02-14 19:20:44 +02:00
Jari Vetoniemi
f1019bb500 Set default font to Fixed 2017-02-14 19:20:44 +02:00
Jari Vetoniemi
81f58f4c25 Merge pull request #30 from upwhere/docs-patch
reference bm_scrollbar_mode in documentation
2016-12-06 20:34:53 +02:00
Jari Vetoniemi
01be868def Merge pull request #29 from upwhere/CtrlM
Add C-m -> Return bind
2016-12-06 20:34:19 +02:00
uphere
cb6030f64b Add C-m -> Return bind
C-m is often bound to return and it's jarring to have all the
other keybinds but not this one
2016-12-05 16:35:29 +00:00
up here
9530c21be1 reference correct enum in documentation
The `bm_scrollbar_mode` constants linked to the `bm_run_result` enum in their doc comments.
2016-12-03 12:17:47 +00:00
up here
0f912c93b0 Remove double slash from os anonymous file
the anonymous file path is created from
- the XDG_RUNTIME path (with optional slash at the end)
- a slash if the XDG_RUNTIME path didn't have one
- and the tmpfile template (which starts with a slash).
This guarantees there are always two slashes before the filename.
It does not affect the behaviour of the program, but I've removed it anyway.
2016-12-01 11:21:09 +00:00
Jari Vetoniemi
6b951600aa wayland: Bind interfaces correctly
seat was binded with XDG_SHELL_VERSION_CURRENT constant that makes no
sense.

Use this constant in use_unstable_version call instead, and bind to the
implemented versions.
2016-04-12 18:01:05 +03:00
Mikkel Oscar Lyderik
c1a0974849 Update xdg-shell.xml from wayland-protocols
Updates xdg-shell.xml to version 5.
2016-03-18 12:39:25 +01:00
Jari Vetoniemi
c3abc43860 curses: Use set_escdelay when available 2015-09-23 18:56:34 +03:00
Jari Vetoniemi
c4a553796f CMake: Use absolute libdir instead 2015-09-23 18:52:59 +03:00
Tomáš Čech
25218f98fa Check explicitly for Xinerama
Xinerama doesn't need to be present even when base X11 is. Check it
explicitly.
2015-09-22 00:29:33 +02:00
Tomáš Čech
556961648b Look for renderers on right location 2015-09-21 22:18:14 +02:00
Tomáš Čech
ecd7d4056f Respect install destinations set by variables
Use CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR as destination
base.
2015-09-21 21:48:45 +02:00
Mark Oteiza
0874fc5d49 Add some Emacs keybindings
* C-v to curses backend
* C-v, M-v, M-<, M-> to x11 and wayland backends

Signed-off-by: Jari Vetoniemi <mailroxas@gmail.com>
2015-04-06 23:22:12 +03:00
Jari Vetoniemi
d8097c44dd Make renderers try detect whether they are in correct env. 2015-03-09 09:53:57 +02:00
Jari Vetoniemi
bf5fd83491 Fix mac os x build 2015-02-02 12:25:56 +02:00
Jari Vetoniemi
98f44cbb78 Handle build-time dependency checking better, so you can compile bemenu
without wayland or x11 easier.
2015-01-30 03:16:04 +02:00
Jari Vetoniemi
e53e77bf05 Allows -l 1 2015-01-20 18:43:44 +02:00