diff options
author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-08-20 16:29:06 +0200 |
---|---|---|
committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-08-20 16:29:06 +0200 |
commit | c1f6cab67aa84196351a257afc068ae25019b03b (patch) | |
tree | d4ab8565e298654c345e7560ffac5ed27efe570d | |
parent | 1cf648d3fd83d1c15eb27509c58ade29a5320203 (diff) | |
download | libwnck-c1f6cab67aa84196351a257afc068ae25019b03b.tar.gz |
WnckUtil: make applications and windows to reload icons if size has changed
-rw-r--r-- | libwnck/util.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libwnck/util.c b/libwnck/util.c index 0e5b7b7..fdc6628 100644 --- a/libwnck/util.c +++ b/libwnck/util.c @@ -694,7 +694,29 @@ static gsize default_mini_icon_size = WNCK_DEFAULT_MINI_ICON_SIZE; void wnck_set_default_mini_icon_size (gsize size) { + int default_screen; + WnckScreen *screen; + GList *l; + default_mini_icon_size = size; + + default_screen = DefaultScreen (_wnck_get_default_display ()); + screen = _wnck_screen_get_existing (default_screen); + + if (WNCK_IS_SCREEN (screen)) + { + /* Make applications and icons to reload their icons */ + for (l = wnck_screen_get_windows (screen); l; l = l->next) + { + WnckWindow *window = WNCK_WINDOW (l->data); + WnckApplication *application = wnck_window_get_application (window); + + _wnck_window_load_icons (window); + + if (WNCK_IS_APPLICATION (application)) + _wnck_application_load_icons (application); + } + } } gsize |