Export XCURSOR_SIZE and XCURSOR_THEME

These can be used by toolkits (currently Qt, libxcursor, glfw) to
choose a default cursor theme and size.

This backports this rootston commit:
3a181ab430
This commit is contained in:
emersion 2018-10-17 21:10:30 +02:00
parent 10d07478ad
commit fd9198a3a4
1 changed files with 13 additions and 2 deletions

View File

@ -83,6 +83,17 @@ bool server_init(struct sway_server *server) {
&server->xdg_shell_surface);
server->xdg_shell_surface.notify = handle_xdg_shell_surface;
// TODO: configurable cursor theme and size
int cursor_size = 24;
const char *cursor_theme = NULL;
char cursor_size_fmt[16];
snprintf(cursor_size_fmt, sizeof(cursor_size_fmt), "%d", cursor_size);
setenv("XCURSOR_SIZE", cursor_size_fmt, 1);
if (cursor_theme != NULL) {
setenv("XCURSOR_THEME", cursor_theme, 1);
}
#ifdef HAVE_XWAYLAND
server->xwayland.wlr_xwayland =
wlr_xwayland_create(server->wl_display, server->compositor, true);
@ -93,8 +104,8 @@ bool server_init(struct sway_server *server) {
&server->xwayland_ready);
server->xwayland_ready.notify = handle_xwayland_ready;
// TODO: configurable cursor theme and size
server->xwayland.xcursor_manager = wlr_xcursor_manager_create(NULL, 24);
server->xwayland.xcursor_manager =
wlr_xcursor_manager_create(cursor_theme, cursor_size);
wlr_xcursor_manager_load(server->xwayland.xcursor_manager, 1);
struct wlr_xcursor *xcursor = wlr_xcursor_manager_get_xcursor(
server->xwayland.xcursor_manager, "left_ptr", 1);