...and take into account output layout co-ordinates.
Previously xdg-shell views were just positioned at (0, 0) on first map
regardless of output co-ordinates.
Fix issue #39
Expanding shell variables, including tilde, enables the following type
of keybind:
<keyboard>
<keybind key="XF86AudioMute">
<action name="Execute">
<command>bash ~/mute-script.sh</command>
</action>
</keybind>
</keyboard>
Fixes issue #32
This function is called by wlroots in wlr_renderer_init_wl_display(), so
no need to call it again. This stops Qt apps segfaulting when run with
"-platform wayland"
Fixes issue #34 item 2
src/xdg.c:269:48: error: no member named 'subsurfaces' in 'struct wlr_surface'
wl_list_for_each(subsurface, &view->surface->subsurfaces,
~~~~~~~~~~~~~ ^
/usr/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each'
for (pos = wl_container_of((head)->next, pos, member); \
^~~~
/usr/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of'
(__typeof__(sample))((char *)(ptr) - \
^~~
Based on 3162766eef
title_height is a derived variable which needs both config and theme
variables (font height and title padding). The code is tidier calling
post_processing() for this from theme_init()
Some xdg-shell applications remember the (un)maximized states when last
closed. We could honour this state, but it makes the code cumbersome
regarding padding and position. Prefer to keep it simple.
src/xdg.c:180:2: warning: implicit declaration of function 'wlr_xdg_surface_for_each_popup' is invalid in C99 [-Wimplicit-function-declaration]
wlr_xdg_surface_for_each_popup(view->xdg_surface, iterator, data);
^
ld: error: undefined symbol: wlr_xdg_surface_for_each_popup
>>> referenced by xdg.c:180 (src/xdg.c:180)
>>> labwc.p/src_xdg.c.o:(xdg_toplevel_view_for_each_popup)
Based on 5438cc158a
src/server.c:93:63: error: too many arguments to function call, expected single argument 'display', have 2 arguments
server->backend = wlr_backend_autocreate(server->wl_display, NULL);
~~~~~~~~~~~~~~~~~~~~~~ ^~~~
/usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
/usr/local/include/wlr/backend.h:35:21: note: 'wlr_backend_autocreate' declared here
struct wlr_backend *wlr_backend_autocreate(struct wl_display *display);
^
Based on 53f5197c26