Add support in Weston for X cursor themes.
authorChristopher Michael <cpmichael1@comcast.net>
Sat, 11 Aug 2012 14:12:09 +0000 (15:12 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 13 Aug 2012 15:12:17 +0000 (11:12 -0400)
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

index 7c30955..4e86f06 100644 (file)
@@ -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]);