From ac3e5f2feb99ac0fad18461975a0b105cb8dab2d Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Sat, 11 Aug 2012 15:12:09 +0100 Subject: [PATCH] Add support in Weston for X cursor themes. This patch, along with the wayland patch, adds the ability to specify a cursor theme in the weston.ini file: [cursors] theme=THEME_NAME If specified, than Weston can use a specific X cursor theme for the pointer. This relies on the 0001-Add-support-for-X-cursor-themes.patch for wayland. [krh: edited to use shell section and key name cursor-theme] --- clients/window.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/clients/window.c b/clients/window.c index 7c30955..4e86f06 100644 --- a/clients/window.c +++ b/clients/window.c @@ -646,9 +646,21 @@ static const char *cursors[] = { static void create_cursors(struct display *display) { + char *config_file; + char *theme = NULL; unsigned int i; + struct config_key shell_keys[] = { + { "cursor-theme", CONFIG_KEY_STRING, &theme }, + }; + struct config_section cs[] = { + { "shell", shell_keys, ARRAY_LENGTH(shell_keys), NULL }, + }; + + config_file = config_file_path("weston.ini"); + parse_config_file(config_file, cs, ARRAY_LENGTH(cs), NULL); + free(config_file); - display->cursor_theme = wl_cursor_theme_load(NULL, 32, display->shm); + display->cursor_theme = wl_cursor_theme_load(theme, 32, display->shm); display->cursors = malloc(ARRAY_LENGTH(cursors) * sizeof display->cursors[0]); -- 2.7.4