Allow users to customize the cursor on clients

This also sets the default size to 16 and documents all of the other
environment variables in use in sway(1).
This commit is contained in:
Drew DeVault 2016-07-17 10:59:03 -04:00
parent 8be4ae70e7
commit a9767ad2f7
2 changed files with 49 additions and 1 deletions

View file

@ -79,6 +79,44 @@ the location of your choosing and start there.
For information on the config file format, see **sway**(5). For information on the config file format, see **sway**(5).
Environment
-----------
The following environment variables have an effect on sway:
*SWAY_CURSOR_THEME*::
Specifies the name of the cursor theme to use.
*SWAY_CURSOR_SIZE*::
Specifies the size of the cursor to use.
*SWAYSOCK*::
Specifies the path to the sway IPC socket.
*WLC_DRM_DEVICE*::
Specifies the device to use in DRM mode.
*WLC_SHM*::
Set 1 to force EGL clients to use shared memory.
*WLC_OUTPUTS*::
Number of fake outputs to use when running in X11 mode.
*WLC_XWAYLAND*::
Set to 0 to disable Xwayland support.
*WLC_LIBINPUT*::
Set to 1 to force libinput (even in X11 mode).
*WLC_REPEAT_DELAY*::
Configures the keyboard repeat delay.
*WLC_REPEAT_RATE*::
Configures the keyboard repeat rate.
*XKB_DEFAULT_LAYOUT*, *XKB_DEFAULT_VARIANT*, *XKB_DEFAULT_OPTIONS*::
Configures the xkb keyboard settings. See xkeyboard-config(7).
Authors Authors
------- -------

View file

@ -112,7 +112,17 @@ struct window *window_setup(struct registry *registry, uint32_t width, uint32_t
get_next_buffer(window); get_next_buffer(window);
if (registry->pointer) { if (registry->pointer) {
window->cursor.cursor_theme = wl_cursor_theme_load("default", 32, registry->shm); // TODO: let you customize this char *cursor_theme = getenv("SWAY_CURSOR_THEME");
if (!cursor_theme) {
cursor_theme = "default";
}
char *cursor_size = getenv("SWAY_CURSOR_SIZE");
if (!cursor_size) {
cursor_size = "16";
}
window->cursor.cursor_theme = wl_cursor_theme_load(cursor_theme,
atoi(cursor_size), registry->shm);
window->cursor.cursor = wl_cursor_theme_get_cursor(window->cursor.cursor_theme, "left_ptr"); window->cursor.cursor = wl_cursor_theme_get_cursor(window->cursor.cursor_theme, "left_ptr");
window->cursor.surface = wl_compositor_create_surface(registry->compositor); window->cursor.surface = wl_compositor_create_surface(registry->compositor);