summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accessx-status/applet.c642
-rw-r--r--accessx-status/applet.h77
-rw-r--r--accessx-status/org.mate.applets.AccessxStatusApplet.mate-panel-applet.in.in2
-rw-r--r--accessx-status/pixmaps/16x16/Makefile.am41
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-bouncekeys.pngbin0 -> 1931 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-key-base.pngbin0 -> 1331 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-key-inverse.pngbin0 -> 1382 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-key-no.pngbin0 -> 1930 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-key-none.pngbin0 -> 1346 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-key-yes.pngbin0 -> 1918 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-slowkeys-no.pngbin0 -> 2450 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-slowkeys-pending.pngbin0 -> 1937 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-slowkeys-yes.pngbin0 -> 2431 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-ax-slowkeys.pngbin0 -> 1745 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-mousekeys-base.pngbin0 -> 1929 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-mousekeys-default-left.pngbin0 -> 902 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-mousekeys-default-middle.pngbin0 -> 907 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-mousekeys-default-right.pngbin0 -> 922 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-mousekeys-pressed-left.pngbin0 -> 931 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-mousekeys-pressed-middle.pngbin0 -> 911 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-mousekeys-pressed-right.pngbin0 -> 932 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-alt-latched.pngbin0 -> 1372 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-alt-locked.pngbin0 -> 1391 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-alt-none.pngbin0 -> 1237 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-ctrl-latched.pngbin0 -> 1473 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-ctrl-locked.pngbin0 -> 1501 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-ctrl-none.pngbin0 -> 1310 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-hyper-latched.pngbin0 -> 1435 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-hyper-locked.pngbin0 -> 1507 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-hyper-none.pngbin0 -> 1270 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-meta-latched.pngbin0 -> 1549 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-meta-locked.pngbin0 -> 1192 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-meta-none.pngbin0 -> 1364 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-shift-latched.pngbin0 -> 1609 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-shift-locked.pngbin0 -> 1592 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-shift-none.pngbin0 -> 1377 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-super-latched.pngbin0 -> 1536 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-super-locked.pngbin0 -> 1529 bytes
-rw-r--r--accessx-status/pixmaps/16x16/mate-sticky-super-none.pngbin0 -> 1239 bytes
-rw-r--r--accessx-status/pixmaps/24x24/Makefile.am41
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-bouncekeys.pngbin0 -> 7119 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-key-base.pngbin0 -> 2786 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-key-inverse.pngbin0 -> 3540 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-key-no.pngbin0 -> 4707 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-key-none.pngbin0 -> 2920 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-key-yes.pngbin0 -> 4236 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-slowkeys-no.pngbin0 -> 7399 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-slowkeys-pending.pngbin0 -> 5626 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-slowkeys-yes.pngbin0 -> 7373 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-ax-slowkeys.pngbin0 -> 6555 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-mousekeys-base.pngbin0 -> 6243 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-mousekeys-default-left.pngbin0 -> 1099 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-mousekeys-default-middle.pngbin0 -> 1047 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-mousekeys-default-right.pngbin0 -> 1177 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-mousekeys-pressed-left.pngbin0 -> 929 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-mousekeys-pressed-middle.pngbin0 -> 907 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-mousekeys-pressed-right.pngbin0 -> 928 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-alt-latched.pngbin0 -> 3081 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-alt-locked.pngbin0 -> 2478 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-alt-none.pngbin0 -> 2228 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-ctrl-latched.pngbin0 -> 3898 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-ctrl-locked.pngbin0 -> 3493 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-ctrl-none.pngbin0 -> 2577 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-hyper-latched.pngbin0 -> 4325 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-hyper-locked.pngbin0 -> 4258 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-hyper-none.pngbin0 -> 2277 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-meta-latched.pngbin0 -> 4552 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-meta-locked.pngbin0 -> 3071 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-meta-none.pngbin0 -> 2684 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-shift-latched.pngbin0 -> 5220 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-shift-locked.pngbin0 -> 4795 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-shift-none.pngbin0 -> 2862 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-super-latched.pngbin0 -> 4954 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-super-locked.pngbin0 -> 4831 bytes
-rw-r--r--accessx-status/pixmaps/24x24/mate-sticky-super-none.pngbin0 -> 2633 bytes
-rw-r--r--accessx-status/pixmaps/32x32/Makefile.am41
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-bouncekeys.pngbin0 -> 3726 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-key-base.pngbin0 -> 1881 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-key-inverse.pngbin0 -> 1976 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-key-no.pngbin0 -> 3176 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-key-none.pngbin0 -> 1968 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-key-yes.pngbin0 -> 3181 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-slowkeys-no.png (renamed from accessx-status/pixmaps/mate-ax-slowkeys-no.png)bin847 -> 847 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-slowkeys-pending.png (renamed from accessx-status/pixmaps/mate-ax-slowkeys-pending.png)bin738 -> 738 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-slowkeys-yes.png (renamed from accessx-status/pixmaps/mate-ax-slowkeys-yes.png)bin806 -> 806 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-ax-slowkeys.pngbin0 -> 3214 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-mousekeys-base.pngbin0 -> 3805 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-mousekeys-default-left.pngbin0 -> 1026 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-mousekeys-default-middle.pngbin0 -> 1029 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-mousekeys-default-right.pngbin0 -> 988 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-mousekeys-pressed-left.pngbin0 -> 1020 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-mousekeys-pressed-middle.pngbin0 -> 966 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-mousekeys-pressed-right.pngbin0 -> 1031 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-alt-latched.pngbin0 -> 2064 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-alt-locked.pngbin0 -> 1947 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-alt-none.pngbin0 -> 1481 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-ctrl-latched.pngbin0 -> 2262 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-ctrl-locked.pngbin0 -> 2302 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-ctrl-none.pngbin0 -> 1687 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-hyper-latched.pngbin0 -> 2273 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-hyper-locked.pngbin0 -> 2332 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-hyper-none.pngbin0 -> 1659 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-meta-latched.pngbin0 -> 2453 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-meta-locked.pngbin0 -> 1804 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-meta-none.pngbin0 -> 1768 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-shift-latched.pngbin0 -> 2704 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-shift-locked.pngbin0 -> 2771 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-shift-none.pngbin0 -> 1918 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-super-latched.pngbin0 -> 2634 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-super-locked.pngbin0 -> 2467 bytes
-rw-r--r--accessx-status/pixmaps/32x32/mate-sticky-super-none.pngbin0 -> 1689 bytes
-rw-r--r--accessx-status/pixmaps/48x48/Makefile.am41
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-bouncekeys.png (renamed from accessx-status/pixmaps/mate-ax-bouncekeys.png)bin2245 -> 2245 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-key-base.png (renamed from accessx-status/pixmaps/mate-ax-key-base.png)bin479 -> 479 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-key-inverse.png (renamed from accessx-status/pixmaps/mate-ax-key-inverse.png)bin569 -> 569 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-key-no.png (renamed from accessx-status/pixmaps/mate-ax-key-no.png)bin1078 -> 1078 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-key-none.png (renamed from accessx-status/pixmaps/mate-ax-key-none.png)bin900 -> 900 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-key-yes.png (renamed from accessx-status/pixmaps/mate-ax-key-yes.png)bin1333 -> 1333 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-slowkeys-no.pngbin0 -> 847 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-slowkeys-pending.pngbin0 -> 738 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-slowkeys-yes.pngbin0 -> 806 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-ax-slowkeys.png (renamed from accessx-status/pixmaps/mate-ax-slowkeys.png)bin1334 -> 1334 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-mousekeys-base.png (renamed from accessx-status/pixmaps/mate-mousekeys-base.png)bin2591 -> 2591 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-mousekeys-default-left.png (renamed from accessx-status/pixmaps/mate-mousekeys-default-left.png)bin197 -> 197 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-mousekeys-default-middle.png (renamed from accessx-status/pixmaps/mate-mousekeys-default-middle.png)bin214 -> 214 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-mousekeys-default-right.png (renamed from accessx-status/pixmaps/mate-mousekeys-default-right.png)bin208 -> 208 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-mousekeys-pressed-left.png (renamed from accessx-status/pixmaps/mate-mousekeys-pressed-left.png)bin171 -> 171 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-mousekeys-pressed-middle.png (renamed from accessx-status/pixmaps/mate-mousekeys-pressed-middle.png)bin135 -> 135 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-mousekeys-pressed-right.png (renamed from accessx-status/pixmaps/mate-mousekeys-pressed-right.png)bin174 -> 174 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-alt-latched.png (renamed from accessx-status/pixmaps/mate-sticky-alt-latched.png)bin477 -> 477 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-alt-locked.png (renamed from accessx-status/pixmaps/mate-sticky-alt-locked.png)bin470 -> 470 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-alt-none.png (renamed from accessx-status/pixmaps/mate-sticky-alt-none.png)bin393 -> 393 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-ctrl-latched.png (renamed from accessx-status/pixmaps/mate-sticky-ctrl-latched.png)bin614 -> 614 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-ctrl-locked.png (renamed from accessx-status/pixmaps/mate-sticky-ctrl-locked.png)bin609 -> 609 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-ctrl-none.png (renamed from accessx-status/pixmaps/mate-sticky-ctrl-none.png)bin515 -> 515 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-hyper-latched.png (renamed from accessx-status/pixmaps/mate-sticky-hyper-latched.png)bin612 -> 612 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-hyper-locked.png (renamed from accessx-status/pixmaps/mate-sticky-hyper-locked.png)bin739 -> 739 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-hyper-none.png (renamed from accessx-status/pixmaps/mate-sticky-hyper-none.png)bin472 -> 472 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-meta-latched.png (renamed from accessx-status/pixmaps/mate-sticky-meta-latched.png)bin630 -> 630 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-meta-locked.pngbin0 -> 4271 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-meta-none.png (renamed from accessx-status/pixmaps/mate-sticky-meta-none.png)bin634 -> 634 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-shift-latched.png (renamed from accessx-status/pixmaps/mate-sticky-shift-latched.png)bin684 -> 684 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-shift-locked.png (renamed from accessx-status/pixmaps/mate-sticky-shift-locked.png)bin679 -> 679 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-shift-none.png (renamed from accessx-status/pixmaps/mate-sticky-shift-none.png)bin565 -> 565 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-super-latched.png (renamed from accessx-status/pixmaps/mate-sticky-super-latched.png)bin585 -> 585 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-super-locked.png (renamed from accessx-status/pixmaps/mate-sticky-super-locked.png)bin583 -> 583 bytes
-rw-r--r--accessx-status/pixmaps/48x48/mate-sticky-super-none.png (renamed from accessx-status/pixmaps/mate-sticky-super-none.png)bin442 -> 442 bytes
-rw-r--r--accessx-status/pixmaps/Makefile.am46
-rw-r--r--accessx-status/pixmaps/mate-ax-applet.pngbin3688 -> 0 bytes
-rw-r--r--accessx-status/pixmaps/mate-sticky-meta-locked.pngbin630 -> 0 bytes
-rw-r--r--configure.ac4
151 files changed, 581 insertions, 354 deletions
diff --git a/accessx-status/applet.c b/accessx-status/applet.c
index 32b59553..61326dd6 100644
--- a/accessx-status/applet.c
+++ b/accessx-status/applet.c
@@ -40,74 +40,28 @@
static int xkb_base_event_type = 0;
-static GtkIconSize icon_size_spec;
-
#define ALT_GRAPH_LED_MASK (0x10)
-
-typedef struct {
- char* stock_id;
- char* name;
- GtkStateType state;
- gboolean wildcarded;
-} AppletStockIcon;
-
-static AppletStockIcon stock_icons[] = {
- {ACCESSX_APPLET, "mate-ax-applet.png", GTK_STATE_NORMAL, True},
- {ACCESSX_BASE_ICON, "mate-ax-key-base.png", GTK_STATE_NORMAL, True},
- {ACCESSX_BASE_ICON, "mate-ax-key-none.png", GTK_STATE_INSENSITIVE, False},
- {ACCESSX_BASE_ICON, "mate-ax-key-inverse.png", GTK_STATE_SELECTED, False},
- {ACCESSX_ACCEPT_BASE, "mate-ax-key-yes.png", GTK_STATE_NORMAL, True},
- {ACCESSX_REJECT_BASE, "mate-ax-key-no.png", GTK_STATE_NORMAL, True},
- {MOUSEKEYS_BASE_ICON, "mate-mousekeys-base.png", GTK_STATE_NORMAL, True},
- {MOUSEKEYS_BUTTON_LEFT, "mate-mousekeys-pressed-left.png", GTK_STATE_NORMAL, True},
- {MOUSEKEYS_BUTTON_MIDDLE, "mate-mousekeys-pressed-middle.png", GTK_STATE_NORMAL, True},
- {MOUSEKEYS_BUTTON_RIGHT, "mate-mousekeys-pressed-right.png", GTK_STATE_NORMAL, True},
- {MOUSEKEYS_DOT_LEFT, "mate-mousekeys-default-left.png", GTK_STATE_NORMAL, True},
- {MOUSEKEYS_DOT_MIDDLE, "mate-mousekeys-default-middle.png", GTK_STATE_NORMAL, True},
- {MOUSEKEYS_DOT_RIGHT, "mate-mousekeys-default-right.png", GTK_STATE_NORMAL, True},
- {SHIFT_KEY_ICON, "mate-sticky-shift-latched.png", GTK_STATE_NORMAL, False},
- {SHIFT_KEY_ICON, "mate-sticky-shift-locked.png", GTK_STATE_SELECTED, False},
- {SHIFT_KEY_ICON, "mate-sticky-shift-none.png", GTK_STATE_INSENSITIVE, True},
- {CONTROL_KEY_ICON, "mate-sticky-ctrl-latched.png", GTK_STATE_NORMAL, False},
- {CONTROL_KEY_ICON, "mate-sticky-ctrl-locked.png", GTK_STATE_SELECTED, False},
- {CONTROL_KEY_ICON, "mate-sticky-ctrl-none.png", GTK_STATE_INSENSITIVE, True},
- {ALT_KEY_ICON, "mate-sticky-alt-latched.png", GTK_STATE_NORMAL, False},
- {ALT_KEY_ICON, "mate-sticky-alt-locked.png", GTK_STATE_SELECTED, False},
- {ALT_KEY_ICON, "mate-sticky-alt-none.png", GTK_STATE_INSENSITIVE, True},
- {META_KEY_ICON, "mate-sticky-meta-latched.png", GTK_STATE_NORMAL, False},
- {META_KEY_ICON, "mate-sticky-meta-locked.png", GTK_STATE_SELECTED, False},
- {META_KEY_ICON, "mate-sticky-meta-none.png", GTK_STATE_INSENSITIVE, True},
- {SUPER_KEY_ICON, "mate-sticky-super-latched.png", GTK_STATE_NORMAL, False},
- {SUPER_KEY_ICON, "mate-sticky-super-locked.png", GTK_STATE_SELECTED, False},
- {SUPER_KEY_ICON, "mate-sticky-super-none.png", GTK_STATE_INSENSITIVE, True},
- {HYPER_KEY_ICON, "mate-sticky-hyper-latched.png", GTK_STATE_NORMAL, False},
- {HYPER_KEY_ICON, "mate-sticky-hyper-locked.png", GTK_STATE_SELECTED, False},
- {HYPER_KEY_ICON, "mate-sticky-hyper-none.png", GTK_STATE_INSENSITIVE, True},
- {SLOWKEYS_IDLE_ICON, "mate-ax-slowkeys.png", GTK_STATE_NORMAL, True},
- {SLOWKEYS_PENDING_ICON, "mate-ax-slowkeys-pending.png", GTK_STATE_NORMAL, True},
- {SLOWKEYS_ACCEPT_ICON, "mate-ax-slowkeys-yes.png", GTK_STATE_NORMAL, True},
- {SLOWKEYS_REJECT_ICON, "mate-ax-slowkeys-no.png", GTK_STATE_NORMAL, True},
- {BOUNCEKEYS_ICON, "mate-ax-bouncekeys.png", GTK_STATE_NORMAL, True}
-};
+#define ICON_PADDING 4
typedef struct {
unsigned int mask;
GtkWidget* indicator;
+ gchar *icon_name;
} ModifierStruct;
static ModifierStruct modifiers[] = {
- {ShiftMask, NULL},
- {ControlMask, NULL},
- {Mod1Mask, NULL},
- {Mod2Mask, NULL},
- {Mod3Mask, NULL},
- {Mod4Mask, NULL},
- {Mod5Mask, NULL}
+ {ShiftMask, NULL, SHIFT_KEY_ICON},
+ {ControlMask, NULL, CONTROL_KEY_ICON},
+ {Mod1Mask, NULL, ALT_KEY_ICON},
+ {Mod2Mask, NULL, META_KEY_ICON},
+ {Mod3Mask, NULL, HYPER_KEY_ICON},
+ {Mod4Mask, NULL, SUPER_KEY_ICON},
+ {Mod5Mask, NULL, ALTGRAPH_KEY_ICON}
};
typedef struct {
unsigned int mask;
- gchar* stock_id;
+ gchar* icon_name;
} ButtonIconStruct;
static ButtonIconStruct button_icons[] = {
@@ -144,7 +98,7 @@ static void about_cb(GtkAction* action, AccessxStatusApplet* sapplet)
"authors", authors,
"documenters", documenters,
"translator-credits", _("translator-credits"),
- "logo-icon-name", "mate-ax-applet",
+ "logo-icon-name", ACCESSX_APPLET,
NULL);
}
@@ -196,7 +150,7 @@ static void dialog_cb(GtkAction* action, AccessxStatusApplet* sapplet)
if (!error) {
launch_context = gdk_display_get_app_launch_context (
- gtk_widget_get_display (GTK_WIDGET (screen)));
+ gtk_widget_get_display (GTK_WIDGET (sapplet->applet)));
gdk_app_launch_context_set_screen (launch_context, screen);
g_app_info_launch (appinfo, NULL, G_APP_LAUNCH_CONTEXT (launch_context), &error);
@@ -349,73 +303,85 @@ static void accessx_status_applet_init_modifiers(AccessxStatusApplet* sapplet)
{
modifiers[i].indicator = sapplet->ctrl_indicator;
}
- else if (modifiers[i].mask == alt_mask)
+ else if (modifiers[i].mask == Mod1Mask)
{
modifiers[i].indicator = sapplet->alt_indicator;
}
- else if (modifiers[i].mask == meta_mask)
+ else if (modifiers[i].mask == Mod2Mask)
{
modifiers[i].indicator = sapplet->meta_indicator;
}
- else if (modifiers[i].mask == hyper_mask)
+ else if (modifiers[i].mask == Mod3Mask)
{
modifiers[i].indicator = sapplet->hyper_indicator;
}
- else if (modifiers[i].mask == super_mask)
+ else if (modifiers[i].mask == Mod4Mask)
{
modifiers[i].indicator = sapplet->super_indicator;
}
- else if (modifiers[i].mask == alt_gr_mask)
+ else if (modifiers[i].mask == Mod5Mask)
{
modifiers[i].indicator = sapplet->alt_graph_indicator;
}
}
}
-static guint _sk_timeout = 0;
-static guint _bk_timeout = 0;
-
-static gboolean timer_reset_slowkeys_image(gpointer user_data)
+static gboolean timer_reset_slowkeys_image(AccessxStatusApplet* sapplet)
{
- GdkPixbuf* pixbuf = gtk_widget_render_icon_pixbuf(GTK_WIDGET(user_data), SLOWKEYS_IDLE_ICON, icon_size_spec);
+ GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+ gint icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ gint icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
+ cairo_surface_t* surface = gtk_icon_theme_load_surface (icon_theme, SLOWKEYS_IDLE_ICON, icon_size, icon_scale, NULL, 0, NULL);
- gtk_image_set_from_pixbuf(GTK_IMAGE(user_data), pixbuf);
- g_object_unref(pixbuf);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->slowfoo), surface);
+ cairo_surface_destroy(surface);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
-static gboolean timer_reset_bouncekeys_image(gpointer user_data)
+static gboolean timer_reset_bouncekeys_image(AccessxStatusApplet* sapplet)
{
- GdkPixbuf* pixbuf = gtk_widget_render_icon_pixbuf(GTK_WIDGET(user_data), BOUNCEKEYS_ICON, icon_size_spec);
+ GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+ gint icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ gint icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
+ cairo_surface_t* surface = gtk_icon_theme_load_surface (icon_theme, BOUNCEKEYS_ICON, icon_size, icon_scale, NULL, 0, NULL);
- gtk_image_set_from_pixbuf(GTK_IMAGE(user_data), pixbuf);
- g_object_unref(pixbuf);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->bouncefoo), surface);
+ cairo_surface_destroy(surface);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
-static GdkPixbuf* accessx_status_applet_get_glyph_pixbuf(AccessxStatusApplet* sapplet, GtkWidget* widget, GdkPixbuf* base, GdkColor* fg, GdkColor* bg, gchar* glyphstring)
+static GdkPixbuf* accessx_status_applet_get_glyph_pixbuf(GtkWidget* widget, GdkPixbuf* base, GdkRGBA* fg, gchar* glyphstring)
{
GdkPixbuf* glyph_pixbuf;
cairo_surface_t *surface;
PangoLayout* layout;
PangoRectangle ink, logic;
PangoContext* pango_context;
+ PangoFontDescription* font_description;
+ static gint font_size = 0;
gint w = gdk_pixbuf_get_width(base);
gint h = gdk_pixbuf_get_height(base);
+ gint icon_scale = 2;
cairo_t *cr;
surface = gdk_window_create_similar_surface (gdk_get_default_root_window (), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+
pango_context = gtk_widget_get_pango_context(widget);
+
+ font_description = pango_context_get_font_description(pango_context);
+ if (font_size == 0)
+ font_size = pango_font_description_get_size(font_description);
+ pango_font_description_set_size(font_description, font_size * icon_scale);
+
layout = pango_layout_new(pango_context);
pango_layout_set_alignment(layout, PANGO_ALIGN_CENTER);
pango_layout_set_text(layout, glyphstring, -1);
cr = cairo_create (surface);
- gdk_cairo_set_source_color (cr, bg);
- cairo_paint (cr);
- gdk_cairo_set_source_color (cr, fg);
+ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+ gdk_cairo_set_source_rgba (cr, fg);
pango_layout_get_pixel_extents(layout, &ink, &logic);
@@ -426,18 +392,78 @@ static GdkPixbuf* accessx_status_applet_get_glyph_pixbuf(AccessxStatusApplet* sa
g_object_unref(layout);
glyph_pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, w, h);
cairo_surface_destroy (surface);
-
return glyph_pixbuf;
}
-static GdkPixbuf* accessx_status_applet_slowkeys_image(AccessxStatusApplet* sapplet, XkbAccessXNotifyEvent* event)
+static cairo_surface_t* accessx_status_applet_altgraph_image(AccessxStatusApplet *sapplet, GtkStateFlags state)
+{
+ GtkIconTheme *icon_theme;
+ cairo_t* cr;
+ GdkPixbuf* pixbuf;
+ GdkPixbuf* glyph_pixbuf;
+ GdkPixbuf* icon_base;
+ cairo_surface_t *surface;
+ GdkRGBA fg;
+ gchar* icon_name;
+ int alpha;
+ int icon_size, icon_scale;
+
+ icon_theme = gtk_icon_theme_get_default ();
+ icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
+
+ switch (state)
+ {
+ case GTK_STATE_FLAG_NORMAL:
+ icon_name = ACCESSX_BASE_ICON_BASE;
+ alpha = 255;
+ gdk_rgba_parse(&fg, "black");
+ break;
+ case GTK_STATE_FLAG_SELECTED:
+ icon_name = ACCESSX_BASE_ICON_INVERSE;
+ alpha = 255;
+ gdk_rgba_parse(&fg, "white");
+ break;
+ case GTK_STATE_FLAG_INSENSITIVE:
+ default:
+ icon_name = ACCESSX_BASE_ICON;
+ alpha = 63;
+ gdk_rgba_parse(&fg, "black");
+ break;
+ }
+
+ icon_base = gtk_icon_theme_load_icon_for_scale (icon_theme, icon_name, icon_size, icon_scale, 0, NULL);
+ pixbuf = gdk_pixbuf_copy(icon_base);
+ g_object_unref(icon_base);
+ /*
+ * should be N_("ae"));
+ * need en_ locale for this.
+ */
+ /*
+ * Translators: substitute an easily-recognized single glyph
+ * from Level 2, i.e. an AltGraph character from a common keyboard
+ * in your locale.
+ */
+ glyph_pixbuf = accessx_status_applet_get_glyph_pixbuf(GTK_WIDGET(sapplet->applet), pixbuf, &fg, ("æ"));
+ gdk_pixbuf_composite(glyph_pixbuf, pixbuf, 0, 0, gdk_pixbuf_get_width(glyph_pixbuf), gdk_pixbuf_get_height(glyph_pixbuf), 0., 0., 1.0, 1.0, GDK_INTERP_NEAREST, alpha);
+ g_object_unref(glyph_pixbuf);
+
+ surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, icon_scale, NULL);
+ g_object_unref(pixbuf);
+
+ return surface;
+}
+
+static cairo_surface_t* accessx_status_applet_slowkeys_image(AccessxStatusApplet* sapplet, XkbAccessXNotifyEvent* event)
{
GdkPixbuf* ret_pixbuf;
+ cairo_surface_t *surface;
GdkWindow* window;
gboolean is_idle = TRUE;
- gchar* stock_id = SLOWKEYS_IDLE_ICON;
- GtkStyle* style = gtk_widget_get_style(GTK_WIDGET(sapplet->applet));
- GdkColor bg = style->bg[GTK_STATE_NORMAL];
+ gchar* icon_name = SLOWKEYS_IDLE_ICON;
+ GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+ gint icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ gint icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
if (event != NULL)
{
@@ -446,38 +472,32 @@ static GdkPixbuf* accessx_status_applet_slowkeys_image(AccessxStatusApplet* sapp
switch (event->detail)
{
case XkbAXN_SKPress:
- stock_id = ACCESSX_BASE_ICON;
- if (_sk_timeout)
- {
- g_source_remove(_sk_timeout);
- _sk_timeout = 0;
- }
+ icon_name = ACCESSX_BASE_ICON;
break;
case XkbAXN_SKAccept:
- stock_id = ACCESSX_ACCEPT_BASE;
- gdk_color_parse("#009900", &bg);
+ icon_name = ACCESSX_ACCEPT_BASE;
break;
case XkbAXN_SKReject:
- stock_id = ACCESSX_REJECT_BASE;
- gdk_color_parse("#990000", &bg);
- _sk_timeout = g_timeout_add_full(G_PRIORITY_HIGH_IDLE, MAX(event->sk_delay, 150), timer_reset_slowkeys_image, sapplet->slowfoo, NULL);
+ icon_name = ACCESSX_REJECT_BASE;
+ g_timeout_add_full(G_PRIORITY_HIGH_IDLE, MAX(event->sk_delay, 150), (GSourceFunc)timer_reset_slowkeys_image, sapplet, NULL);
break;
case XkbAXN_SKRelease:
default:
- stock_id = SLOWKEYS_IDLE_ICON;
+ icon_name = SLOWKEYS_IDLE_ICON;
is_idle = TRUE;
break;
}
}
- ret_pixbuf = gtk_widget_render_icon_pixbuf(GTK_WIDGET(sapplet->applet), stock_id, icon_size_spec);
+ ret_pixbuf = gtk_icon_theme_load_icon_for_scale (icon_theme, icon_name, icon_size, icon_scale, 0, NULL);
if (!is_idle)
{
GdkPixbuf* glyph_pixbuf;
GdkPixbuf* tmp_pixbuf;
- GdkColor fg;
+ GdkRGBA fg;
gchar* glyphstring = N_("a");
+ gint alpha;
tmp_pixbuf = ret_pixbuf;
ret_pixbuf = gdk_pixbuf_copy(tmp_pixbuf);
g_object_unref(tmp_pixbuf);
@@ -486,7 +506,7 @@ static GdkPixbuf* accessx_status_applet_slowkeys_image(AccessxStatusApplet* sapp
if (event && window)
{
- KeySym keysym = XKeycodeToKeysym(GDK_WINDOW_XDISPLAY(window), event->keycode, 0);
+ KeySym keysym = XkbKeycodeToKeysym(GDK_WINDOW_XDISPLAY(window), event->keycode, 0, 0);
glyphstring = XKeysymToString(keysym);
if ((!g_utf8_validate(glyphstring, -1, NULL)) || (g_utf8_strlen(glyphstring, -1) > 1))
@@ -495,64 +515,112 @@ static GdkPixbuf* accessx_status_applet_slowkeys_image(AccessxStatusApplet* sapp
}
}
- fg = style->fg[gtk_widget_get_state_flags (GTK_WIDGET (sapplet->applet))];
- glyph_pixbuf = accessx_status_applet_get_glyph_pixbuf(sapplet, GTK_WIDGET(sapplet->applet), ret_pixbuf, &fg, &bg, glyphstring);
- gdk_pixbuf_composite(glyph_pixbuf, ret_pixbuf, 0, 0, gdk_pixbuf_get_width(glyph_pixbuf), gdk_pixbuf_get_height(glyph_pixbuf), 0., 0., 1.0, 1.0, GDK_INTERP_NEAREST, 255);
+ switch (gtk_widget_get_state_flags (GTK_WIDGET (sapplet->applet)))
+ {
+ case GTK_STATE_FLAG_NORMAL:
+ alpha = 255;
+ gdk_rgba_parse(&fg, "black");
+ break;
+ case GTK_STATE_FLAG_SELECTED:
+ alpha = 255;
+ gdk_rgba_parse(&fg, "white");
+ break;
+ case GTK_STATE_FLAG_INSENSITIVE:
+ default:
+ alpha = 63;
+ gdk_rgba_parse(&fg, "black");
+ break;
+ }
+
+ glyph_pixbuf = accessx_status_applet_get_glyph_pixbuf(GTK_WIDGET(sapplet->applet), ret_pixbuf, &fg, glyphstring);
+ gdk_pixbuf_composite(glyph_pixbuf, ret_pixbuf, 0, 0, gdk_pixbuf_get_width(glyph_pixbuf), gdk_pixbuf_get_height(glyph_pixbuf), 0., 0., 1.0, 1.0, GDK_INTERP_NEAREST, alpha);
g_object_unref(glyph_pixbuf);
}
- return ret_pixbuf;
+ surface = gdk_cairo_surface_create_from_pixbuf (ret_pixbuf, icon_scale, NULL);
+ g_object_unref(ret_pixbuf);
+
+ return surface;
}
-static GdkPixbuf* accessx_status_applet_bouncekeys_image(AccessxStatusApplet* sapplet, XkbAccessXNotifyEvent* event)
+static cairo_surface_t* accessx_status_applet_bouncekeys_image(AccessxStatusApplet* sapplet, XkbAccessXNotifyEvent* event)
{
- GtkStyle* style;
- GdkColor fg, bg;
+ GdkRGBA fg;
GdkPixbuf* icon_base = NULL;
GdkPixbuf* tmp_pixbuf;
+ cairo_surface_t *surface;
/* Note to translators: the first letter of the alphabet, not the indefinite article */
gchar* glyphstring = N_("a");
- gchar* stock_id = ACCESSX_BASE_ICON;
+ gchar* icon_name = ACCESSX_BASE_ICON;
+ gint alpha;
+ GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+ gint icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ gint icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
g_assert(sapplet->applet);
- style = gtk_widget_get_style(GTK_WIDGET(sapplet->applet));
- fg = style->text[gtk_widget_get_state_flags (GTK_WIDGET (sapplet->applet))];
- bg = style->base[GTK_STATE_NORMAL];
+
+ switch (gtk_widget_get_state_flags (GTK_WIDGET (sapplet->applet)))
+ {
+ case GTK_STATE_FLAG_NORMAL:
+ alpha = 255;
+ gdk_rgba_parse(&fg, "black");
+ break;
+ case GTK_STATE_FLAG_SELECTED:
+ alpha = 255;
+ gdk_rgba_parse(&fg, "white");
+ break;
+ case GTK_STATE_FLAG_INSENSITIVE:
+ default:
+ alpha = 63;
+ gdk_rgba_parse(&fg, "black");
+ break;
+ }
if (event != NULL)
{
switch (event->detail)
{
+ case XkbAXN_BKAccept:
+ icon_name = SLOWKEYS_ACCEPT_ICON;
+ break;
case XkbAXN_BKReject:
- stock_id = SLOWKEYS_REJECT_ICON;
- _bk_timeout = g_timeout_add_full(G_PRIORITY_HIGH_IDLE, MAX(event->debounce_delay, 150), timer_reset_bouncekeys_image, sapplet->bouncefoo, NULL);
+ icon_name = SLOWKEYS_REJECT_ICON;
+ g_timeout_add_full(G_PRIORITY_HIGH_IDLE, MAX(event->debounce_delay, 150), (GSourceFunc)timer_reset_bouncekeys_image, sapplet, NULL);
break;
default:
- stock_id = ACCESSX_BASE_ICON;
+ icon_name = ACCESSX_BASE_ICON;
break;
}
}
- tmp_pixbuf = gtk_widget_render_icon_pixbuf(GTK_WIDGET(sapplet->applet), stock_id, icon_size_spec);
+ tmp_pixbuf = gtk_icon_theme_load_icon_for_scale (icon_theme, icon_name, icon_size, icon_scale, 0, NULL);
if (tmp_pixbuf)
{
GdkPixbuf* glyph_pixbuf;
icon_base = gdk_pixbuf_copy(tmp_pixbuf);
g_object_unref(tmp_pixbuf);
- glyph_pixbuf = accessx_status_applet_get_glyph_pixbuf(sapplet, GTK_WIDGET(sapplet->applet), icon_base, &fg, &bg, glyphstring);
+ glyph_pixbuf = accessx_status_applet_get_glyph_pixbuf(GTK_WIDGET(sapplet->applet), icon_base, &fg, glyphstring);
gdk_pixbuf_composite(glyph_pixbuf, icon_base, 2, 2, gdk_pixbuf_get_width(glyph_pixbuf) - 2, gdk_pixbuf_get_height(glyph_pixbuf) - 2, -2., -2., 1.0, 1.0, GDK_INTERP_NEAREST, 96);
- gdk_pixbuf_composite(glyph_pixbuf, icon_base, 1, 1, gdk_pixbuf_get_width(glyph_pixbuf) - 1, gdk_pixbuf_get_height(glyph_pixbuf) - 1, 1., 1., 1.0, 1.0, GDK_INTERP_NEAREST, 255);
+ gdk_pixbuf_composite(glyph_pixbuf, icon_base, 1, 1, gdk_pixbuf_get_width(glyph_pixbuf) - 1, gdk_pixbuf_get_height(glyph_pixbuf) - 1, 1., 1., 1.0, 1.0, GDK_INTERP_NEAREST, alpha);
g_object_unref(glyph_pixbuf);
}
- return icon_base;
+
+ surface = gdk_cairo_surface_create_from_pixbuf (icon_base, icon_scale, NULL);
+ g_object_unref(icon_base);
+
+ return surface;
}
-static GdkPixbuf* accessx_status_applet_mousekeys_image(AccessxStatusApplet* sapplet, XkbStateNotifyEvent* event)
+static cairo_surface_t* accessx_status_applet_mousekeys_image(AccessxStatusApplet* sapplet, XkbStateNotifyEvent* event)
{
GdkPixbuf* mouse_pixbuf = NULL, *button_pixbuf, *dot_pixbuf, *tmp_pixbuf;
+ cairo_surface_t *surface;
gchar* which_dot = MOUSEKEYS_DOT_LEFT;
- tmp_pixbuf = gtk_widget_render_icon_pixbuf(GTK_WIDGET(sapplet->applet), MOUSEKEYS_BASE_ICON, icon_size_spec);
+ GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+ gint icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ gint icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
+ tmp_pixbuf = gtk_icon_theme_load_icon_for_scale (icon_theme, MOUSEKEYS_BASE_ICON, icon_size, icon_scale, 0, NULL);
mouse_pixbuf = gdk_pixbuf_copy(tmp_pixbuf);
g_object_unref(tmp_pixbuf);
/* composite in the buttons */
@@ -564,7 +632,7 @@ static GdkPixbuf* accessx_status_applet_mousekeys_image(AccessxStatusApplet* sap
{
if (event->ptr_buttons & button_icons[i].mask)
{
- button_pixbuf = gtk_widget_render_icon_pixbuf(GTK_WIDGET(sapplet->applet), button_icons[i].stock_id, icon_size_spec);
+ button_pixbuf = gtk_icon_theme_load_icon_for_scale (icon_theme, button_icons[i].icon_name, icon_size, icon_scale, 0, NULL);
gdk_pixbuf_composite(button_pixbuf, mouse_pixbuf, 0, 0, gdk_pixbuf_get_width(button_pixbuf), gdk_pixbuf_get_height(button_pixbuf), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, 255);
}
}
@@ -586,13 +654,98 @@ static GdkPixbuf* accessx_status_applet_mousekeys_image(AccessxStatusApplet* sap
break;
}
}
- dot_pixbuf = gtk_widget_render_icon_pixbuf(GTK_WIDGET(sapplet->applet), which_dot, icon_size_spec);
+ dot_pixbuf = gtk_icon_theme_load_icon_for_scale (icon_theme, which_dot, icon_size, icon_scale, 0, NULL);
gdk_pixbuf_composite(dot_pixbuf, mouse_pixbuf, 0, 0, gdk_pixbuf_get_width(dot_pixbuf), gdk_pixbuf_get_height(dot_pixbuf), 0.0, 0.0, 1.0, 1.0, GDK_INTERP_NEAREST, 255);
- return mouse_pixbuf;
+ surface = gdk_cairo_surface_create_from_pixbuf (mouse_pixbuf, icon_scale, NULL);
+ g_object_unref(mouse_pixbuf);
+
+ return surface;
}
+static void accessx_status_applet_set_state_icon (AccessxStatusApplet* sapplet, ModifierStruct* modifier, GtkStateFlags state)
+{
+ cairo_surface_t* surface;
+ GtkIconTheme *icon_theme;
+ gint icon_size, icon_scale;
+ gchar *icon_name = NULL;
+
+ switch (modifier->mask)
+ {
+ case ShiftMask:
+ if (state == GTK_STATE_FLAG_SELECTED)
+ icon_name = SHIFT_KEY_ICON_LOCKED;
+ else if (state == GTK_STATE_FLAG_NORMAL)
+ icon_name = SHIFT_KEY_ICON_LATCHED;
+ else
+ icon_name = SHIFT_KEY_ICON;
+ break;
+
+ case ControlMask:
+ if (state == GTK_STATE_FLAG_SELECTED)
+ icon_name = CONTROL_KEY_ICON_LOCKED;
+ else if (state == GTK_STATE_FLAG_NORMAL)
+ icon_name = CONTROL_KEY_ICON_LATCHED;
+ else
+ icon_name = CONTROL_KEY_ICON;
+ break;
+
+ case Mod1Mask:
+ if (state == GTK_STATE_FLAG_SELECTED)
+ icon_name = ALT_KEY_ICON_LOCKED;
+ else if (state == GTK_STATE_FLAG_NORMAL)
+ icon_name = ALT_KEY_ICON_LATCHED;
+ else
+ icon_name = ALT_KEY_ICON;
+ break;
+
+ case Mod2Mask:
+ if (state == GTK_STATE_FLAG_SELECTED)
+ icon_name = META_KEY_ICON_LOCKED;
+ else if (state == GTK_STATE_FLAG_NORMAL)
+ icon_name = META_KEY_ICON_LATCHED;
+ else
+ icon_name = META_KEY_ICON;
+ break;
+
+ case Mod3Mask:
+ if (state == GTK_STATE_FLAG_SELECTED)
+ icon_name = HYPER_KEY_ICON_LOCKED;
+ else if (state == GTK_STATE_FLAG_NORMAL)
+ icon_name = HYPER_KEY_ICON_LATCHED;
+ else
+ icon_name = HYPER_KEY_ICON;
+ break;
+
+ case Mod4Mask:
+ if (state == GTK_STATE_FLAG_SELECTED)
+ icon_name = SUPER_KEY_ICON_LOCKED;
+ else if (state == GTK_STATE_FLAG_NORMAL)
+ icon_name = SUPER_KEY_ICON_LATCHED;
+ else
+ icon_name = SUPER_KEY_ICON;
+ break;
+
+ case Mod5Mask:
+ surface = accessx_status_applet_altgraph_image(sapplet, state);
+ break;
+ }
+
+ if (surface == NULL && icon_name != NULL)
+ {
+ icon_theme = gtk_icon_theme_get_default();
+ icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
+ surface = gtk_icon_theme_load_surface (icon_theme, icon_name, icon_size, icon_scale, NULL, 0, NULL);
+ }
+
+ if (surface != NULL)
+ {
+ gtk_image_set_from_surface(GTK_IMAGE(modifier->indicator), surface);
+ cairo_surface_destroy(surface);
+ }
+}
static void accessx_status_applet_update(AccessxStatusApplet* sapplet, AccessxStatusNotifyType notify_type, XkbEvent* event)
{
@@ -625,16 +778,17 @@ static void accessx_status_applet_update(AccessxStatusApplet* sapplet, AccessxSt
if (locked_mods & modifiers[i].mask)
{
gtk_widget_set_sensitive(modifiers[i].indicator, TRUE);
- gtk_widget_set_state_flags (modifiers[i].indicator, GTK_STATE_FLAG_SELECTED, TRUE);
+ accessx_status_applet_set_state_icon (sapplet, &modifiers[i], GTK_STATE_FLAG_SELECTED);
}
else if (latched_mods & modifiers[i].mask)
{
gtk_widget_set_sensitive(modifiers[i].indicator, TRUE);
- gtk_widget_set_state_flags (modifiers[i].indicator, GTK_STATE_FLAG_NORMAL, TRUE);
+ accessx_status_applet_set_state_icon (sapplet, &modifiers[i], GTK_STATE_FLAG_NORMAL);
}
else
{
gtk_widget_set_sensitive(modifiers[i].indicator, FALSE);
+ accessx_status_applet_set_state_icon (sapplet, &modifiers[i], GTK_STATE_FLAG_INSENSITIVE);
}
}
}
@@ -642,23 +796,23 @@ static void accessx_status_applet_update(AccessxStatusApplet* sapplet, AccessxSt
if ((notify_type & ACCESSX_STATUS_SLOWKEYS) && (event != NULL))
{
- GdkPixbuf* pixbuf = accessx_status_applet_slowkeys_image(sapplet, &event->accessx);
- gtk_image_set_from_pixbuf(GTK_IMAGE(sapplet->slowfoo), pixbuf);
- g_object_unref(pixbuf);
+ cairo_surface_t* surface = accessx_status_applet_slowkeys_image(sapplet, &event->accessx);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->slowfoo), surface);
+ cairo_surface_destroy(surface);
}
if ((notify_type & ACCESSX_STATUS_BOUNCEKEYS) && (event != NULL))
{
- GdkPixbuf* pixbuf = accessx_status_applet_bouncekeys_image(sapplet, &event->accessx);
- gtk_image_set_from_pixbuf(GTK_IMAGE(sapplet->bouncefoo), pixbuf);
- g_object_unref(pixbuf);
+ cairo_surface_t* surface = accessx_status_applet_bouncekeys_image(sapplet, &event->accessx);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->bouncefoo), surface);
+ cairo_surface_destroy(surface);
}
if ((notify_type & ACCESSX_STATUS_MOUSEKEYS) && (event != NULL))
{
- GdkPixbuf* pixbuf = accessx_status_applet_mousekeys_image(sapplet, &event->state);
- gtk_image_set_from_pixbuf(GTK_IMAGE(sapplet->mousefoo), pixbuf);
- g_object_unref(pixbuf);
+ cairo_surface_t* surface = accessx_status_applet_mousekeys_image(sapplet, &event->state);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->mousefoo), surface);
+ cairo_surface_destroy(surface);
}
if (notify_type & ACCESSX_STATUS_ENABLED)
@@ -765,11 +919,12 @@ static void accessx_status_applet_notify_xkb_device(AccessxStatusApplet* sapplet
if (event->led_state &= ALT_GRAPH_LED_MASK)
{
gtk_widget_set_sensitive(sapplet->alt_graph_indicator, TRUE);
- gtk_widget_set_state_flags (sapplet->alt_graph_indicator, GTK_STATE_FLAG_NORMAL, TRUE);
+ accessx_status_applet_set_state_icon (sapplet, &modifiers[Mod5Mask], GTK_STATE_FLAG_NORMAL);
}
else
{
gtk_widget_set_sensitive(sapplet->alt_graph_indicator, FALSE);
+ accessx_status_applet_set_state_icon (sapplet, &modifiers[Mod5Mask], GTK_STATE_FLAG_INSENSITIVE);
}
}
}
@@ -832,122 +987,6 @@ static GdkFilterReturn accessx_status_xkb_filter(GdkXEvent* gdk_xevent, GdkEvent
return GDK_FILTER_CONTINUE;
}
-static GtkIconSet* accessx_status_applet_altgraph_icon_set(AccessxStatusApplet* sapplet, GtkWidget* widget)
-{
- GtkIconSet* icon_set = gtk_icon_set_new();
- gint i;
- GtkStateType states[3] = {GTK_STATE_NORMAL, GTK_STATE_INSENSITIVE, GTK_STATE_SELECTED};
- GtkStyle* style = gtk_widget_get_style(widget);
- GdkPixbuf* icon_base;
-
- gtk_widget_set_sensitive(widget, TRUE);
-
- for (i = 0; i < 3; ++i)
- {
- int alpha;
- GdkColor* fg;
- GdkColor* bg;
- GtkIconSource* source = gtk_icon_source_new();
- GdkPixbuf* pixbuf;
- GdkPixbuf* glyph_pixbuf;
- gboolean wildcarded = FALSE;
- fg = &style->text[states[i]];
- bg = &style->white;
- switch (states[i])
- {
- case GTK_STATE_NORMAL:
- alpha = 255;
- gtk_widget_set_sensitive(widget, TRUE);
- gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_NORMAL, TRUE);
- break;
- case GTK_STATE_SELECTED:
- /* FIXME: should use text/base here, for selected ? */
- fg = &style->white;
- bg = &style->black;
- alpha = 255;
- gtk_widget_set_sensitive(widget, TRUE);
- gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_SELECTED, TRUE);
- break;
- case GTK_STATE_INSENSITIVE:
- default:
- alpha = 63;
- gtk_widget_set_sensitive(widget, FALSE);
- wildcarded = TRUE;
- break;
- }
-
- icon_base = gtk_widget_render_icon_pixbuf(widget, ACCESSX_BASE_ICON, icon_size_spec);
- pixbuf = gdk_pixbuf_copy(icon_base);
- g_object_unref(icon_base);
- /*
- * should be N_("ae"));
- * need en_ locale for this.
- */
- /*
- * Translators: substitute an easily-recognized single glyph
- * from Level 2, i.e. an AltGraph character from a common keyboard
- * in your locale.
- */
- glyph_pixbuf = accessx_status_applet_get_glyph_pixbuf(sapplet, widget, pixbuf, fg, bg, ("æ"));
- gdk_pixbuf_composite(glyph_pixbuf, pixbuf, 0, 0, gdk_pixbuf_get_width(glyph_pixbuf), gdk_pixbuf_get_height(glyph_pixbuf), 0., 0., 1.0, 1.0, GDK_INTERP_NEAREST, alpha);
- g_object_unref(glyph_pixbuf);
- gtk_icon_source_set_pixbuf(source, pixbuf);
- gtk_icon_source_set_state(source, states[i]);
- gtk_icon_source_set_state_wildcarded(source, wildcarded);
- gtk_icon_set_add_source(icon_set, source);
- gtk_icon_source_free(source);
- }
- /* we mucked about with the box's state to create the icons; restore it to normal */
- gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_NORMAL, TRUE);
- gtk_widget_set_sensitive(widget, TRUE);
-
- return icon_set;
-}
-
-static void accessx_applet_add_stock_icons(AccessxStatusApplet* sapplet, GtkWidget* widget)
-{
- GtkIconFactory* factory = gtk_icon_factory_new();
- gint i = 0;
- GtkIconSet* icon_set;
-
- gtk_icon_factory_add_default(factory);
-
- while (i < G_N_ELEMENTS(stock_icons))
- {
- gchar* set_name = stock_icons[i].stock_id;
- icon_set = gtk_icon_set_new();
-
- do {
- char* filename;
- GtkIconSource* source = gtk_icon_source_new();
- filename = g_build_filename(ACCESSX_PIXMAPS_DIR, stock_icons[i].name, NULL);
-
- if (g_file_test(filename, G_FILE_TEST_EXISTS) && g_file_test(filename, G_FILE_TEST_IS_REGULAR))
- {
- gtk_icon_source_set_filename(source, filename);
- }
- else
- {
- GtkIconSet* default_set = gtk_icon_factory_lookup_default(GTK_STOCK_MISSING_IMAGE);
- gtk_icon_source_set_pixbuf(source, gtk_icon_set_render_icon(default_set, gtk_widget_get_style(widget), GTK_TEXT_DIR_NONE, GTK_STATE_NORMAL, icon_size_spec, widget, NULL));
- }
- g_free(filename);
- gtk_icon_source_set_state(source, stock_icons[i].state);
- gtk_icon_source_set_state_wildcarded(source, stock_icons[i].wildcarded);
- gtk_icon_set_add_source(icon_set, source);
- gtk_icon_source_free(source);
- ++i;
- } while (set_name == stock_icons[i].stock_id);
- gtk_icon_factory_add(factory, set_name, icon_set);
- gtk_icon_set_unref(icon_set);
- }
- /* now create the stock icons for AltGr, which are internationalized */
- icon_set = accessx_status_applet_altgraph_icon_set (sapplet, widget);
- gtk_icon_factory_add(factory, ALTGRAPH_KEY_ICON, icon_set);
- gtk_icon_set_unref(icon_set);
- sapplet->icon_factory = factory;
-}
-
static void accessx_status_applet_reparent_widget(GtkWidget* widget, GtkContainer* container)
{
if (widget)
@@ -1015,7 +1054,6 @@ static void disable_applet(AccessxStatusApplet* sapplet)
gtk_widget_hide(sapplet->shift_indicator);
gtk_widget_hide(sapplet->ctrl_indicator);
gtk_widget_hide(sapplet->alt_indicator);
- gtk_widget_hide(sapplet->meta_indicator);
gtk_widget_hide(sapplet->mousefoo);
gtk_widget_hide(sapplet->stickyfoo);
gtk_widget_hide(sapplet->slowfoo);
@@ -1057,8 +1095,9 @@ static AccessxStatusApplet* create_applet(MatePanelApplet* applet)
GtkWidget* box;
GtkWidget* stickyfoo;
AtkObject* atko;
- GdkPixbuf* pixbuf;
- gint large_toolbar_pixels;
+ cairo_surface_t *surface;
+ GtkIconTheme *icon_theme;
+ gint icon_size, icon_scale;
g_set_application_name(_("AccessX Status"));
@@ -1083,50 +1122,65 @@ static AccessxStatusApplet* create_applet(MatePanelApplet* applet)
}
gtk_box_set_homogeneous (GTK_BOX (stickyfoo), TRUE);
- large_toolbar_pixels = 24; /* FIXME */
- if (mate_panel_applet_get_size(sapplet->applet) >= large_toolbar_pixels)
- {
- icon_size_spec = GTK_ICON_SIZE_LARGE_TOOLBAR;
- }
- else
- {
- icon_size_spec = GTK_ICON_SIZE_SMALL_TOOLBAR;
- }
+ icon_theme = gtk_icon_theme_get_default();
+ icon_size = mate_panel_applet_get_size(sapplet->applet) - ICON_PADDING;
+ icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
- accessx_applet_add_stock_icons(sapplet, box);
- pixbuf = accessx_status_applet_mousekeys_image(sapplet, NULL);
- sapplet->mousefoo = gtk_image_new_from_pixbuf(pixbuf);
- g_object_unref(pixbuf);
+ surface = accessx_status_applet_mousekeys_image(sapplet, NULL);
+ sapplet->mousefoo = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
gtk_widget_hide(sapplet->mousefoo);
- sapplet->shift_indicator = gtk_image_new_from_stock(SHIFT_KEY_ICON, icon_size_spec);
- sapplet->ctrl_indicator = gtk_image_new_from_stock(CONTROL_KEY_ICON, icon_size_spec);
- sapplet->alt_indicator = gtk_image_new_from_stock(ALT_KEY_ICON, icon_size_spec);
- sapplet->meta_indicator = gtk_image_new_from_stock(META_KEY_ICON, icon_size_spec);
+ surface = gtk_icon_theme_load_surface (icon_theme, SHIFT_KEY_ICON, icon_size, icon_scale, NULL, 0, NULL);
+ sapplet->shift_indicator = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
+
+ surface = gtk_icon_theme_load_surface (icon_theme, CONTROL_KEY_ICON, icon_size, icon_scale, NULL, 0, NULL);
+ sapplet->ctrl_indicator = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
+
+ surface = gtk_icon_theme_load_surface (icon_theme, ALT_KEY_ICON, icon_size, icon_scale, NULL, 0, NULL);
+ sapplet->alt_indicator = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
+
+ surface = gtk_icon_theme_load_surface (icon_theme, META_KEY_ICON, icon_size, icon_scale, NULL, 0, NULL);
+ sapplet->meta_indicator = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
gtk_widget_set_sensitive(sapplet->meta_indicator, FALSE);
gtk_widget_hide(sapplet->meta_indicator);
- sapplet->hyper_indicator = gtk_image_new_from_stock(HYPER_KEY_ICON, icon_size_spec);
+
+ surface = gtk_icon_theme_load_surface (icon_theme, HYPER_KEY_ICON, icon_size, icon_scale, NULL, 0, NULL);
+ sapplet->hyper_indicator = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
gtk_widget_set_sensitive(sapplet->hyper_indicator, FALSE);
gtk_widget_hide(sapplet->hyper_indicator);
- sapplet->super_indicator = gtk_image_new_from_stock(SUPER_KEY_ICON, icon_size_spec);
+
+ surface = gtk_icon_theme_load_surface (icon_theme, SUPER_KEY_ICON, icon_size, icon_scale, NULL, 0, NULL);
+ sapplet->super_indicator = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
gtk_widget_set_sensitive(sapplet->super_indicator, FALSE);
gtk_widget_hide(sapplet->super_indicator);
- sapplet->alt_graph_indicator = gtk_image_new_from_stock(ALTGRAPH_KEY_ICON, icon_size_spec);
+
+ surface = accessx_status_applet_altgraph_image(sapplet, GTK_STATE_FLAG_NORMAL);
+ sapplet->alt_graph_indicator = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
gtk_widget_set_sensitive(sapplet->alt_graph_indicator, FALSE);
- pixbuf = accessx_status_applet_slowkeys_image(sapplet, NULL);
- sapplet->slowfoo = gtk_image_new_from_pixbuf(pixbuf);
- g_object_unref(pixbuf);
+ surface = accessx_status_applet_slowkeys_image(sapplet, NULL);
+ sapplet->slowfoo = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
gtk_widget_hide(sapplet->slowfoo);
- pixbuf = accessx_status_applet_bouncekeys_image(sapplet, NULL);
- sapplet->bouncefoo = gtk_image_new_from_pixbuf(pixbuf);
- g_object_unref(pixbuf);
+ surface = accessx_status_applet_bouncekeys_image(sapplet, NULL);
+ sapplet->bouncefoo = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
gtk_widget_hide(sapplet->bouncefoo);
- sapplet->idlefoo = gtk_image_new_from_stock(ACCESSX_APPLET, icon_size_spec);
- gtk_widget_show(sapplet->slowfoo);
+ surface = gtk_icon_theme_load_surface (icon_theme, ACCESSX_APPLET, icon_size, icon_scale, NULL, 0, NULL);
+ sapplet->idlefoo = gtk_image_new_from_surface(surface);
+ cairo_surface_destroy(surface);
+ gtk_widget_show(sapplet->idlefoo);
accessx_status_applet_layout_box(sapplet, box, stickyfoo);
atko = gtk_widget_get_accessible(GTK_WIDGET(sapplet->applet));
@@ -1177,7 +1231,29 @@ static void accessx_status_applet_reorient(GtkWidget* widget, MatePanelAppletOri
static void accessx_status_applet_resize(GtkWidget* widget, int size, gpointer user_data)
{
- /* TODO: either rescale icons to fit panel, or tile them when possible */
+ cairo_surface_t *surface;
+
+ AccessxStatusApplet* sapplet = user_data;
+ GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
+ gint icon_scale = gtk_widget_get_scale_factor(GTK_WIDGET(sapplet->applet));
+
+ accessx_status_applet_update(sapplet, ACCESSX_STATUS_ALL, NULL);
+
+ surface = accessx_status_applet_slowkeys_image(sapplet, NULL);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->slowfoo), surface);
+ cairo_surface_destroy(surface);
+
+ surface = accessx_status_applet_bouncekeys_image(sapplet, NULL);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->bouncefoo), surface);
+ cairo_surface_destroy(surface);
+
+ surface = accessx_status_applet_mousekeys_image(sapplet, NULL);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->mousefoo), surface);
+ cairo_surface_destroy(surface);
+
+ surface = gtk_icon_theme_load_surface (icon_theme, ACCESSX_APPLET, size - ICON_PADDING, icon_scale, NULL, 0, NULL);
+ gtk_image_set_from_surface(GTK_IMAGE(sapplet->idlefoo), surface);
+ cairo_surface_destroy(surface);
}
static gboolean button_press_cb(GtkWidget* widget, GdkEventButton* event, AccessxStatusApplet* sapplet)
diff --git a/accessx-status/applet.h b/accessx-status/applet.h
index fae6db56..29569136 100644
--- a/accessx-status/applet.h
+++ b/accessx-status/applet.h
@@ -24,31 +24,56 @@
#include <mate-panel-applet.h>
-#define ACCESSX_APPLET "ax-applet"
-#define ACCESSX_BASE_ICON "ax-base"
-#define ACCESSX_ACCEPT_BASE "ax-accept"
-#define ACCESSX_REJECT_BASE "ax-reject"
-#define MOUSEKEYS_BASE_ICON "ax-mouse-base"
-#define MOUSEKEYS_BUTTON_LEFT "ax-button-left"
-#define MOUSEKEYS_BUTTON_MIDDLE "ax-button-middle"
-#define MOUSEKEYS_BUTTON_RIGHT "ax-button-right"
-#define MOUSEKEYS_DOT_LEFT "ax-dot-left"
-#define MOUSEKEYS_DOT_MIDDLE "ax-dot-middle"
-#define MOUSEKEYS_DOT_RIGHT "ax-dot-right"
-#define SHIFT_KEY_ICON "ax-shift-key"
-#define CONTROL_KEY_ICON "ax-control-key"
-#define ALT_KEY_ICON "ax-alt-key"
-#define META_KEY_ICON "ax-meta-key"
-#define SUPER_KEY_ICON "ax-super-key"
-#define HYPER_KEY_ICON "ax-hyper-key"
-#define ALTGRAPH_KEY_ICON "ax-altgraph-key"
-#define SLOWKEYS_IDLE_ICON "ax-sk-idle"
-#define SLOWKEYS_PENDING_ICON "ax-sk-pending"
-#define SLOWKEYS_ACCEPT_ICON "ax-sk-accept"
-#define SLOWKEYS_REJECT_ICON "ax-sk-reject"
-#define BOUNCEKEYS_ICON "ax-bouncekeys"
-
-#define STATUS_APPLET_ICON_SIZE GTK_ICON_SIZE_LARGE_TOOLBAR
+#define ACCESSX_APPLET "preferences-desktop-accessibility"
+
+#define ACCESSX_BASE_ICON "mate-ax-key-none"
+#define ACCESSX_BASE_ICON_BASE "mate-ax-key-base"
+#define ACCESSX_BASE_ICON_INVERSE "mate-ax-key-inverse"
+#define ACCESSX_ACCEPT_BASE "mate-ax-key-yes"
+#define ACCESSX_REJECT_BASE "mate-ax-key-no"
+
+#define MOUSEKEYS_BASE_ICON "mate-mousekeys-base"
+#define MOUSEKEYS_BUTTON_LEFT "mate-mousekeys-pressed-left"
+#define MOUSEKEYS_BUTTON_MIDDLE "mate-mousekeys-pressed-middle"
+#define MOUSEKEYS_BUTTON_RIGHT "mate-mousekeys-pressed-right"
+#define MOUSEKEYS_DOT_LEFT "mate-mousekeys-default-left"
+#define MOUSEKEYS_DOT_MIDDLE "mate-mousekeys-default-middle"
+#define MOUSEKEYS_DOT_RIGHT "mate-mousekeys-default-right"
+
+#define SHIFT_KEY_ICON "mate-sticky-shift-none"
+#define SHIFT_KEY_ICON_LATCHED "mate-sticky-shift-latched"
+#define SHIFT_KEY_ICON_LOCKED "mate-sticky-shift-locked"
+
+#define CONTROL_KEY_ICON "mate-sticky-ctrl-none"
+#define CONTROL_KEY_ICON_LATCHED "mate-sticky-ctrl-latched"
+#define CONTROL_KEY_ICON_LOCKED "mate-sticky-ctrl-locked"
+
+#define ALT_KEY_ICON "mate-sticky-alt-none"
+#define ALT_KEY_ICON_LATCHED "mate-sticky-alt-latched"
+#define ALT_KEY_ICON_LOCKED "mate-sticky-alt-locked"
+
+#define META_KEY_ICON "mate-sticky-meta-none"
+#define META_KEY_ICON_LATCHED "mate-sticky-meta-latched"
+#define META_KEY_ICON_LOCKED "mate-sticky-meta-locked"
+
+#define HYPER_KEY_ICON "mate-sticky-hyper-none"
+#define HYPER_KEY_ICON_LATCHED "mate-sticky-hyper-latched"
+#define HYPER_KEY_ICON_LOCKED "mate-sticky-hyper-locked"
+
+#define SUPER_KEY_ICON "mate-sticky-super-none"
+#define SUPER_KEY_ICON_LATCHED "mate-sticky-super-latched"
+#define SUPER_KEY_ICON_LOCKED "mate-sticky-super-locked"
+
+#define ALTGRAPH_KEY_ICON "mate-sticky-alt-none"
+#define ALTGRAPH_KEY_ICON_LATCHED "mate-sticky-alt-latched"
+#define ALTGRAPH_KEY_ICON_LOCKED "mate-sticky-alt-locked"
+
+#define SLOWKEYS_IDLE_ICON "mate-ax-slowkeys"
+#define SLOWKEYS_PENDING_ICON "mate-ax-slowkeys-pending"
+#define SLOWKEYS_ACCEPT_ICON "mate-ax-slowkeys-yes"
+#define SLOWKEYS_REJECT_ICON "mate-ax-slowkeys-no"
+
+#define BOUNCEKEYS_ICON "mate-ax-bouncekeys"
typedef enum {
ACCESSX_STATUS_ERROR_NONE = 0,
@@ -73,7 +98,7 @@ typedef struct {
GtkWidget* alt_graph_indicator;
MatePanelAppletOrient orient;
GtkIconFactory* icon_factory;
- gboolean initialized;
+ gboolean initialized;
XkbDescRec* xkb;
Display* xkb_display;
AccessxStatusErrorType error_type;
diff --git a/accessx-status/org.mate.applets.AccessxStatusApplet.mate-panel-applet.in.in b/accessx-status/org.mate.applets.AccessxStatusApplet.mate-panel-applet.in.in
index 72b507d5..76ea1c44 100644
--- a/accessx-status/org.mate.applets.AccessxStatusApplet.mate-panel-applet.in.in
+++ b/accessx-status/org.mate.applets.AccessxStatusApplet.mate-panel-applet.in.in
@@ -7,7 +7,7 @@ _Description=Keyboard Accessibility Status Applet Factory
[AccessxStatusApplet]
_Name=Keyboard Accessibility Status
_Description=Shows the status of keyboard accessibility features
-Icon=mate-ax-applet
+Icon=preferences-desktop-accessibility
MateComponentId=OAFIID:MATE_AccessxStatusApplet
X-MATE-Bugzilla-Bugzilla=MATE
X-MATE-Bugzilla-Product=mate-applets
diff --git a/accessx-status/pixmaps/16x16/Makefile.am b/accessx-status/pixmaps/16x16/Makefile.am
new file mode 100644
index 00000000..712b483a
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/Makefile.am
@@ -0,0 +1,41 @@
+accessx_status_iconsdir = $(iconsdir)/hicolor/16x16/apps
+accessx_status_icons_DATA = \
+ mate-ax-key-base.png \
+ mate-ax-key-inverse.png \
+ mate-ax-key-none.png \
+ mate-ax-key-yes.png \
+ mate-ax-key-no.png \
+ mate-mousekeys-base.png \
+ mate-mousekeys-pressed-left.png \
+ mate-mousekeys-pressed-middle.png \
+ mate-mousekeys-pressed-right.png \
+ mate-mousekeys-default-left.png \
+ mate-mousekeys-default-middle.png \
+ mate-mousekeys-default-right.png \
+ mate-sticky-shift-none.png \
+ mate-sticky-shift-latched.png \
+ mate-sticky-shift-locked.png \
+ mate-sticky-ctrl-none.png \
+ mate-sticky-ctrl-latched.png \
+ mate-sticky-ctrl-locked.png \
+ mate-sticky-alt-none.png \
+ mate-sticky-alt-latched.png \
+ mate-sticky-alt-locked.png \
+ mate-sticky-meta-latched.png \
+ mate-sticky-meta-locked.png \
+ mate-sticky-meta-none.png \
+ mate-sticky-hyper-latched.png \
+ mate-sticky-hyper-locked.png \
+ mate-sticky-hyper-none.png \
+ mate-sticky-super-latched.png \
+ mate-sticky-super-locked.png \
+ mate-sticky-super-none.png \
+ mate-ax-slowkeys.png \
+ mate-ax-slowkeys-pending.png \
+ mate-ax-slowkeys-yes.png \
+ mate-ax-slowkeys-no.png \
+ mate-ax-bouncekeys.png
+
+EXTRA_DIST = \
+ $(accessx_status_icons_DATA)
+
diff --git a/accessx-status/pixmaps/16x16/mate-ax-bouncekeys.png b/accessx-status/pixmaps/16x16/mate-ax-bouncekeys.png
new file mode 100644
index 00000000..6172c482
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-bouncekeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-key-base.png b/accessx-status/pixmaps/16x16/mate-ax-key-base.png
new file mode 100644
index 00000000..405d4548
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-key-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-key-inverse.png b/accessx-status/pixmaps/16x16/mate-ax-key-inverse.png
new file mode 100644
index 00000000..7af0b792
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-key-inverse.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-key-no.png b/accessx-status/pixmaps/16x16/mate-ax-key-no.png
new file mode 100644
index 00000000..740dae0f
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-key-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-key-none.png b/accessx-status/pixmaps/16x16/mate-ax-key-none.png
new file mode 100644
index 00000000..df6aae64
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-key-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-key-yes.png b/accessx-status/pixmaps/16x16/mate-ax-key-yes.png
new file mode 100644
index 00000000..b305e490
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-key-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-slowkeys-no.png b/accessx-status/pixmaps/16x16/mate-ax-slowkeys-no.png
new file mode 100644
index 00000000..8dd5d4e3
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-slowkeys-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-slowkeys-pending.png b/accessx-status/pixmaps/16x16/mate-ax-slowkeys-pending.png
new file mode 100644
index 00000000..1ce57520
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-slowkeys-pending.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-slowkeys-yes.png b/accessx-status/pixmaps/16x16/mate-ax-slowkeys-yes.png
new file mode 100644
index 00000000..14133f0d
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-slowkeys-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-ax-slowkeys.png b/accessx-status/pixmaps/16x16/mate-ax-slowkeys.png
new file mode 100644
index 00000000..6e473436
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-ax-slowkeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-mousekeys-base.png b/accessx-status/pixmaps/16x16/mate-mousekeys-base.png
new file mode 100644
index 00000000..acf034c3
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-mousekeys-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-mousekeys-default-left.png b/accessx-status/pixmaps/16x16/mate-mousekeys-default-left.png
new file mode 100644
index 00000000..4ab16708
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-mousekeys-default-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-mousekeys-default-middle.png b/accessx-status/pixmaps/16x16/mate-mousekeys-default-middle.png
new file mode 100644
index 00000000..4a1d5773
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-mousekeys-default-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-mousekeys-default-right.png b/accessx-status/pixmaps/16x16/mate-mousekeys-default-right.png
new file mode 100644
index 00000000..72f7aef3
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-mousekeys-default-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-left.png b/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-left.png
new file mode 100644
index 00000000..20333023
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-middle.png b/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-middle.png
new file mode 100644
index 00000000..b3162858
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-right.png b/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-right.png
new file mode 100644
index 00000000..59eb492e
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-mousekeys-pressed-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-alt-latched.png b/accessx-status/pixmaps/16x16/mate-sticky-alt-latched.png
new file mode 100644
index 00000000..75c51b7d
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-alt-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-alt-locked.png b/accessx-status/pixmaps/16x16/mate-sticky-alt-locked.png
new file mode 100644
index 00000000..204629f1
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-alt-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-alt-none.png b/accessx-status/pixmaps/16x16/mate-sticky-alt-none.png
new file mode 100644
index 00000000..8747c41f
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-alt-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-ctrl-latched.png b/accessx-status/pixmaps/16x16/mate-sticky-ctrl-latched.png
new file mode 100644
index 00000000..bf7351a0
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-ctrl-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-ctrl-locked.png b/accessx-status/pixmaps/16x16/mate-sticky-ctrl-locked.png
new file mode 100644
index 00000000..01ba67fe
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-ctrl-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-ctrl-none.png b/accessx-status/pixmaps/16x16/mate-sticky-ctrl-none.png
new file mode 100644
index 00000000..0b2ae694
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-ctrl-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-hyper-latched.png b/accessx-status/pixmaps/16x16/mate-sticky-hyper-latched.png
new file mode 100644
index 00000000..a6a9cb99
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-hyper-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-hyper-locked.png b/accessx-status/pixmaps/16x16/mate-sticky-hyper-locked.png
new file mode 100644
index 00000000..f7a72997
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-hyper-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-hyper-none.png b/accessx-status/pixmaps/16x16/mate-sticky-hyper-none.png
new file mode 100644
index 00000000..d5ae2a6d
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-hyper-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-meta-latched.png b/accessx-status/pixmaps/16x16/mate-sticky-meta-latched.png
new file mode 100644
index 00000000..c130beaf
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-meta-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-meta-locked.png b/accessx-status/pixmaps/16x16/mate-sticky-meta-locked.png
new file mode 100644
index 00000000..08c84f3e
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-meta-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-meta-none.png b/accessx-status/pixmaps/16x16/mate-sticky-meta-none.png
new file mode 100644
index 00000000..6df9dc06
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-meta-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-shift-latched.png b/accessx-status/pixmaps/16x16/mate-sticky-shift-latched.png
new file mode 100644
index 00000000..924d3df5
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-shift-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-shift-locked.png b/accessx-status/pixmaps/16x16/mate-sticky-shift-locked.png
new file mode 100644
index 00000000..de6b6b74
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-shift-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-shift-none.png b/accessx-status/pixmaps/16x16/mate-sticky-shift-none.png
new file mode 100644
index 00000000..f909f52c
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-shift-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-super-latched.png b/accessx-status/pixmaps/16x16/mate-sticky-super-latched.png
new file mode 100644
index 00000000..0e7a769e
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-super-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-super-locked.png b/accessx-status/pixmaps/16x16/mate-sticky-super-locked.png
new file mode 100644
index 00000000..075b88b7
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-super-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/16x16/mate-sticky-super-none.png b/accessx-status/pixmaps/16x16/mate-sticky-super-none.png
new file mode 100644
index 00000000..9855024d
--- /dev/null
+++ b/accessx-status/pixmaps/16x16/mate-sticky-super-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/Makefile.am b/accessx-status/pixmaps/24x24/Makefile.am
new file mode 100644
index 00000000..b31b686a
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/Makefile.am
@@ -0,0 +1,41 @@
+accessx_status_iconsdir = $(iconsdir)/hicolor/24x24/apps
+accessx_status_icons_DATA = \
+ mate-ax-key-base.png \
+ mate-ax-key-inverse.png \
+ mate-ax-key-none.png \
+ mate-ax-key-yes.png \
+ mate-ax-key-no.png \
+ mate-mousekeys-base.png \
+ mate-mousekeys-pressed-left.png \
+ mate-mousekeys-pressed-middle.png \
+ mate-mousekeys-pressed-right.png \
+ mate-mousekeys-default-left.png \
+ mate-mousekeys-default-middle.png \
+ mate-mousekeys-default-right.png \
+ mate-sticky-shift-none.png \
+ mate-sticky-shift-latched.png \
+ mate-sticky-shift-locked.png \
+ mate-sticky-ctrl-none.png \
+ mate-sticky-ctrl-latched.png \
+ mate-sticky-ctrl-locked.png \
+ mate-sticky-alt-none.png \
+ mate-sticky-alt-latched.png \
+ mate-sticky-alt-locked.png \
+ mate-sticky-meta-latched.png \
+ mate-sticky-meta-locked.png \
+ mate-sticky-meta-none.png \
+ mate-sticky-hyper-latched.png \
+ mate-sticky-hyper-locked.png \
+ mate-sticky-hyper-none.png \
+ mate-sticky-super-latched.png \
+ mate-sticky-super-locked.png \
+ mate-sticky-super-none.png \
+ mate-ax-slowkeys.png \
+ mate-ax-slowkeys-pending.png \
+ mate-ax-slowkeys-yes.png \
+ mate-ax-slowkeys-no.png \
+ mate-ax-bouncekeys.png
+
+EXTRA_DIST = \
+ $(accessx_status_icons_DATA)
+
diff --git a/accessx-status/pixmaps/24x24/mate-ax-bouncekeys.png b/accessx-status/pixmaps/24x24/mate-ax-bouncekeys.png
new file mode 100644
index 00000000..dd6901f3
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-bouncekeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-key-base.png b/accessx-status/pixmaps/24x24/mate-ax-key-base.png
new file mode 100644
index 00000000..0198106c
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-key-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-key-inverse.png b/accessx-status/pixmaps/24x24/mate-ax-key-inverse.png
new file mode 100644
index 00000000..3b84c764
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-key-inverse.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-key-no.png b/accessx-status/pixmaps/24x24/mate-ax-key-no.png
new file mode 100644
index 00000000..f1c44682
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-key-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-key-none.png b/accessx-status/pixmaps/24x24/mate-ax-key-none.png
new file mode 100644
index 00000000..161ed339
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-key-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-key-yes.png b/accessx-status/pixmaps/24x24/mate-ax-key-yes.png
new file mode 100644
index 00000000..7b5b31be
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-key-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-slowkeys-no.png b/accessx-status/pixmaps/24x24/mate-ax-slowkeys-no.png
new file mode 100644
index 00000000..254528c5
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-slowkeys-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-slowkeys-pending.png b/accessx-status/pixmaps/24x24/mate-ax-slowkeys-pending.png
new file mode 100644
index 00000000..cfc7e8ae
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-slowkeys-pending.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-slowkeys-yes.png b/accessx-status/pixmaps/24x24/mate-ax-slowkeys-yes.png
new file mode 100644
index 00000000..3d61e84d
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-slowkeys-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-ax-slowkeys.png b/accessx-status/pixmaps/24x24/mate-ax-slowkeys.png
new file mode 100644
index 00000000..4ed863cf
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-ax-slowkeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-mousekeys-base.png b/accessx-status/pixmaps/24x24/mate-mousekeys-base.png
new file mode 100644
index 00000000..5492c304
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-mousekeys-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-mousekeys-default-left.png b/accessx-status/pixmaps/24x24/mate-mousekeys-default-left.png
new file mode 100644
index 00000000..6551e90a
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-mousekeys-default-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-mousekeys-default-middle.png b/accessx-status/pixmaps/24x24/mate-mousekeys-default-middle.png
new file mode 100644
index 00000000..332befdf
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-mousekeys-default-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-mousekeys-default-right.png b/accessx-status/pixmaps/24x24/mate-mousekeys-default-right.png
new file mode 100644
index 00000000..1aab28f7
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-mousekeys-default-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-left.png b/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-left.png
new file mode 100644
index 00000000..e0c1c57f
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-middle.png b/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-middle.png
new file mode 100644
index 00000000..298cee98
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-right.png b/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-right.png
new file mode 100644
index 00000000..dacecf0e
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-mousekeys-pressed-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-alt-latched.png b/accessx-status/pixmaps/24x24/mate-sticky-alt-latched.png
new file mode 100644
index 00000000..ba8951cc
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-alt-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-alt-locked.png b/accessx-status/pixmaps/24x24/mate-sticky-alt-locked.png
new file mode 100644
index 00000000..5f97fefe
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-alt-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-alt-none.png b/accessx-status/pixmaps/24x24/mate-sticky-alt-none.png
new file mode 100644
index 00000000..36ec0b1a
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-alt-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-ctrl-latched.png b/accessx-status/pixmaps/24x24/mate-sticky-ctrl-latched.png
new file mode 100644
index 00000000..dd12ff39
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-ctrl-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-ctrl-locked.png b/accessx-status/pixmaps/24x24/mate-sticky-ctrl-locked.png
new file mode 100644
index 00000000..60b79002
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-ctrl-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-ctrl-none.png b/accessx-status/pixmaps/24x24/mate-sticky-ctrl-none.png
new file mode 100644
index 00000000..8a5c80b9
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-ctrl-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-hyper-latched.png b/accessx-status/pixmaps/24x24/mate-sticky-hyper-latched.png
new file mode 100644
index 00000000..057cae76
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-hyper-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-hyper-locked.png b/accessx-status/pixmaps/24x24/mate-sticky-hyper-locked.png
new file mode 100644
index 00000000..95a4a2eb
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-hyper-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-hyper-none.png b/accessx-status/pixmaps/24x24/mate-sticky-hyper-none.png
new file mode 100644
index 00000000..a89820a1
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-hyper-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-meta-latched.png b/accessx-status/pixmaps/24x24/mate-sticky-meta-latched.png
new file mode 100644
index 00000000..7ab5210e
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-meta-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-meta-locked.png b/accessx-status/pixmaps/24x24/mate-sticky-meta-locked.png
new file mode 100644
index 00000000..02c52219
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-meta-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-meta-none.png b/accessx-status/pixmaps/24x24/mate-sticky-meta-none.png
new file mode 100644
index 00000000..c5fdb442
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-meta-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-shift-latched.png b/accessx-status/pixmaps/24x24/mate-sticky-shift-latched.png
new file mode 100644
index 00000000..5b130f5d
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-shift-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-shift-locked.png b/accessx-status/pixmaps/24x24/mate-sticky-shift-locked.png
new file mode 100644
index 00000000..d4823d8e
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-shift-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-shift-none.png b/accessx-status/pixmaps/24x24/mate-sticky-shift-none.png
new file mode 100644
index 00000000..84246f2e
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-shift-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-super-latched.png b/accessx-status/pixmaps/24x24/mate-sticky-super-latched.png
new file mode 100644
index 00000000..35227c16
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-super-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-super-locked.png b/accessx-status/pixmaps/24x24/mate-sticky-super-locked.png
new file mode 100644
index 00000000..9f90b9ca
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-super-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/24x24/mate-sticky-super-none.png b/accessx-status/pixmaps/24x24/mate-sticky-super-none.png
new file mode 100644
index 00000000..7910170c
--- /dev/null
+++ b/accessx-status/pixmaps/24x24/mate-sticky-super-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/Makefile.am b/accessx-status/pixmaps/32x32/Makefile.am
new file mode 100644
index 00000000..a49c47f9
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/Makefile.am
@@ -0,0 +1,41 @@
+accessx_status_iconsdir = $(iconsdir)/hicolor/32x32/apps
+accessx_status_icons_DATA = \
+ mate-ax-key-base.png \
+ mate-ax-key-inverse.png \
+ mate-ax-key-none.png \
+ mate-ax-key-yes.png \
+ mate-ax-key-no.png \
+ mate-mousekeys-base.png \
+ mate-mousekeys-pressed-left.png \
+ mate-mousekeys-pressed-middle.png \
+ mate-mousekeys-pressed-right.png \
+ mate-mousekeys-default-left.png \
+ mate-mousekeys-default-middle.png \
+ mate-mousekeys-default-right.png \
+ mate-sticky-shift-none.png \
+ mate-sticky-shift-latched.png \
+ mate-sticky-shift-locked.png \
+ mate-sticky-ctrl-none.png \
+ mate-sticky-ctrl-latched.png \
+ mate-sticky-ctrl-locked.png \
+ mate-sticky-alt-none.png \
+ mate-sticky-alt-latched.png \
+ mate-sticky-alt-locked.png \
+ mate-sticky-meta-latched.png \
+ mate-sticky-meta-locked.png \
+ mate-sticky-meta-none.png \
+ mate-sticky-hyper-latched.png \
+ mate-sticky-hyper-locked.png \
+ mate-sticky-hyper-none.png \
+ mate-sticky-super-latched.png \
+ mate-sticky-super-locked.png \
+ mate-sticky-super-none.png \
+ mate-ax-slowkeys.png \
+ mate-ax-slowkeys-pending.png \
+ mate-ax-slowkeys-yes.png \
+ mate-ax-slowkeys-no.png \
+ mate-ax-bouncekeys.png
+
+EXTRA_DIST = \
+ $(accessx_status_icons_DATA)
+
diff --git a/accessx-status/pixmaps/32x32/mate-ax-bouncekeys.png b/accessx-status/pixmaps/32x32/mate-ax-bouncekeys.png
new file mode 100644
index 00000000..1bbbbfbd
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-ax-bouncekeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-ax-key-base.png b/accessx-status/pixmaps/32x32/mate-ax-key-base.png
new file mode 100644
index 00000000..157c6748
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-ax-key-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-ax-key-inverse.png b/accessx-status/pixmaps/32x32/mate-ax-key-inverse.png
new file mode 100644
index 00000000..ff678bac
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-ax-key-inverse.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-ax-key-no.png b/accessx-status/pixmaps/32x32/mate-ax-key-no.png
new file mode 100644
index 00000000..f31705a2
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-ax-key-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-ax-key-none.png b/accessx-status/pixmaps/32x32/mate-ax-key-none.png
new file mode 100644
index 00000000..a3932a26
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-ax-key-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-ax-key-yes.png b/accessx-status/pixmaps/32x32/mate-ax-key-yes.png
new file mode 100644
index 00000000..e2ab8a78
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-ax-key-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-slowkeys-no.png b/accessx-status/pixmaps/32x32/mate-ax-slowkeys-no.png
index 6478554f..6478554f 100644
--- a/accessx-status/pixmaps/mate-ax-slowkeys-no.png
+++ b/accessx-status/pixmaps/32x32/mate-ax-slowkeys-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-slowkeys-pending.png b/accessx-status/pixmaps/32x32/mate-ax-slowkeys-pending.png
index d12c5710..d12c5710 100644
--- a/accessx-status/pixmaps/mate-ax-slowkeys-pending.png
+++ b/accessx-status/pixmaps/32x32/mate-ax-slowkeys-pending.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-slowkeys-yes.png b/accessx-status/pixmaps/32x32/mate-ax-slowkeys-yes.png
index e061e7f1..e061e7f1 100644
--- a/accessx-status/pixmaps/mate-ax-slowkeys-yes.png
+++ b/accessx-status/pixmaps/32x32/mate-ax-slowkeys-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-ax-slowkeys.png b/accessx-status/pixmaps/32x32/mate-ax-slowkeys.png
new file mode 100644
index 00000000..d2684e4e
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-ax-slowkeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-mousekeys-base.png b/accessx-status/pixmaps/32x32/mate-mousekeys-base.png
new file mode 100644
index 00000000..404766ff
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-mousekeys-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-mousekeys-default-left.png b/accessx-status/pixmaps/32x32/mate-mousekeys-default-left.png
new file mode 100644
index 00000000..75a83b5b
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-mousekeys-default-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-mousekeys-default-middle.png b/accessx-status/pixmaps/32x32/mate-mousekeys-default-middle.png
new file mode 100644
index 00000000..b16c978d
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-mousekeys-default-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-mousekeys-default-right.png b/accessx-status/pixmaps/32x32/mate-mousekeys-default-right.png
new file mode 100644
index 00000000..877d3f04
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-mousekeys-default-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-left.png b/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-left.png
new file mode 100644
index 00000000..58f4e1b9
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-middle.png b/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-middle.png
new file mode 100644
index 00000000..a1c9bb9a
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-right.png b/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-right.png
new file mode 100644
index 00000000..d233a742
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-mousekeys-pressed-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-alt-latched.png b/accessx-status/pixmaps/32x32/mate-sticky-alt-latched.png
new file mode 100644
index 00000000..506b2a45
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-alt-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-alt-locked.png b/accessx-status/pixmaps/32x32/mate-sticky-alt-locked.png
new file mode 100644
index 00000000..2fa1ad9a
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-alt-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-alt-none.png b/accessx-status/pixmaps/32x32/mate-sticky-alt-none.png
new file mode 100644
index 00000000..111ad0c6
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-alt-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-ctrl-latched.png b/accessx-status/pixmaps/32x32/mate-sticky-ctrl-latched.png
new file mode 100644
index 00000000..a5daa119
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-ctrl-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-ctrl-locked.png b/accessx-status/pixmaps/32x32/mate-sticky-ctrl-locked.png
new file mode 100644
index 00000000..da8297d4
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-ctrl-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-ctrl-none.png b/accessx-status/pixmaps/32x32/mate-sticky-ctrl-none.png
new file mode 100644
index 00000000..f5b01346
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-ctrl-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-hyper-latched.png b/accessx-status/pixmaps/32x32/mate-sticky-hyper-latched.png
new file mode 100644
index 00000000..d3a13b83
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-hyper-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-hyper-locked.png b/accessx-status/pixmaps/32x32/mate-sticky-hyper-locked.png
new file mode 100644
index 00000000..b61ea033
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-hyper-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-hyper-none.png b/accessx-status/pixmaps/32x32/mate-sticky-hyper-none.png
new file mode 100644
index 00000000..5e379716
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-hyper-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-meta-latched.png b/accessx-status/pixmaps/32x32/mate-sticky-meta-latched.png
new file mode 100644
index 00000000..a9773052
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-meta-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-meta-locked.png b/accessx-status/pixmaps/32x32/mate-sticky-meta-locked.png
new file mode 100644
index 00000000..db480425
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-meta-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-meta-none.png b/accessx-status/pixmaps/32x32/mate-sticky-meta-none.png
new file mode 100644
index 00000000..616d39b9
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-meta-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-shift-latched.png b/accessx-status/pixmaps/32x32/mate-sticky-shift-latched.png
new file mode 100644
index 00000000..c1d48432
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-shift-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-shift-locked.png b/accessx-status/pixmaps/32x32/mate-sticky-shift-locked.png
new file mode 100644
index 00000000..6b8134ca
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-shift-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-shift-none.png b/accessx-status/pixmaps/32x32/mate-sticky-shift-none.png
new file mode 100644
index 00000000..0e0f87f3
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-shift-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-super-latched.png b/accessx-status/pixmaps/32x32/mate-sticky-super-latched.png
new file mode 100644
index 00000000..3153d96f
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-super-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-super-locked.png b/accessx-status/pixmaps/32x32/mate-sticky-super-locked.png
new file mode 100644
index 00000000..b4b08f02
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-super-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/32x32/mate-sticky-super-none.png b/accessx-status/pixmaps/32x32/mate-sticky-super-none.png
new file mode 100644
index 00000000..8db56ebb
--- /dev/null
+++ b/accessx-status/pixmaps/32x32/mate-sticky-super-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/48x48/Makefile.am b/accessx-status/pixmaps/48x48/Makefile.am
new file mode 100644
index 00000000..e3d688ee
--- /dev/null
+++ b/accessx-status/pixmaps/48x48/Makefile.am
@@ -0,0 +1,41 @@
+accessx_status_iconsdir = $(iconsdir)/hicolor/48x48/apps
+accessx_status_icons_DATA = \
+ mate-ax-key-base.png \
+ mate-ax-key-inverse.png \
+ mate-ax-key-none.png \
+ mate-ax-key-yes.png \
+ mate-ax-key-no.png \
+ mate-mousekeys-base.png \
+ mate-mousekeys-pressed-left.png \
+ mate-mousekeys-pressed-middle.png \
+ mate-mousekeys-pressed-right.png \
+ mate-mousekeys-default-left.png \
+ mate-mousekeys-default-middle.png \
+ mate-mousekeys-default-right.png \
+ mate-sticky-shift-none.png \
+ mate-sticky-shift-latched.png \
+ mate-sticky-shift-locked.png \
+ mate-sticky-ctrl-none.png \
+ mate-sticky-ctrl-latched.png \
+ mate-sticky-ctrl-locked.png \
+ mate-sticky-alt-none.png \
+ mate-sticky-alt-latched.png \
+ mate-sticky-alt-locked.png \
+ mate-sticky-meta-latched.png \
+ mate-sticky-meta-locked.png \
+ mate-sticky-meta-none.png \
+ mate-sticky-hyper-latched.png \
+ mate-sticky-hyper-locked.png \
+ mate-sticky-hyper-none.png \
+ mate-sticky-super-latched.png \
+ mate-sticky-super-locked.png \
+ mate-sticky-super-none.png \
+ mate-ax-slowkeys.png \
+ mate-ax-slowkeys-pending.png \
+ mate-ax-slowkeys-yes.png \
+ mate-ax-slowkeys-no.png \
+ mate-ax-bouncekeys.png
+
+EXTRA_DIST = \
+ $(accessx_status_icons_DATA)
+
diff --git a/accessx-status/pixmaps/mate-ax-bouncekeys.png b/accessx-status/pixmaps/48x48/mate-ax-bouncekeys.png
index 62bccb7c..62bccb7c 100644
--- a/accessx-status/pixmaps/mate-ax-bouncekeys.png
+++ b/accessx-status/pixmaps/48x48/mate-ax-bouncekeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-key-base.png b/accessx-status/pixmaps/48x48/mate-ax-key-base.png
index 5928b4a5..5928b4a5 100644
--- a/accessx-status/pixmaps/mate-ax-key-base.png
+++ b/accessx-status/pixmaps/48x48/mate-ax-key-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-key-inverse.png b/accessx-status/pixmaps/48x48/mate-ax-key-inverse.png
index 48037f03..48037f03 100644
--- a/accessx-status/pixmaps/mate-ax-key-inverse.png
+++ b/accessx-status/pixmaps/48x48/mate-ax-key-inverse.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-key-no.png b/accessx-status/pixmaps/48x48/mate-ax-key-no.png
index 9a9cb9ec..9a9cb9ec 100644
--- a/accessx-status/pixmaps/mate-ax-key-no.png
+++ b/accessx-status/pixmaps/48x48/mate-ax-key-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-key-none.png b/accessx-status/pixmaps/48x48/mate-ax-key-none.png
index d1f69fe0..d1f69fe0 100644
--- a/accessx-status/pixmaps/mate-ax-key-none.png
+++ b/accessx-status/pixmaps/48x48/mate-ax-key-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-key-yes.png b/accessx-status/pixmaps/48x48/mate-ax-key-yes.png
index 81b70341..81b70341 100644
--- a/accessx-status/pixmaps/mate-ax-key-yes.png
+++ b/accessx-status/pixmaps/48x48/mate-ax-key-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/48x48/mate-ax-slowkeys-no.png b/accessx-status/pixmaps/48x48/mate-ax-slowkeys-no.png
new file mode 100644
index 00000000..6478554f
--- /dev/null
+++ b/accessx-status/pixmaps/48x48/mate-ax-slowkeys-no.png
Binary files differ
diff --git a/accessx-status/pixmaps/48x48/mate-ax-slowkeys-pending.png b/accessx-status/pixmaps/48x48/mate-ax-slowkeys-pending.png
new file mode 100644
index 00000000..d12c5710
--- /dev/null
+++ b/accessx-status/pixmaps/48x48/mate-ax-slowkeys-pending.png
Binary files differ
diff --git a/accessx-status/pixmaps/48x48/mate-ax-slowkeys-yes.png b/accessx-status/pixmaps/48x48/mate-ax-slowkeys-yes.png
new file mode 100644
index 00000000..e061e7f1
--- /dev/null
+++ b/accessx-status/pixmaps/48x48/mate-ax-slowkeys-yes.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-ax-slowkeys.png b/accessx-status/pixmaps/48x48/mate-ax-slowkeys.png
index 83bc136c..83bc136c 100644
--- a/accessx-status/pixmaps/mate-ax-slowkeys.png
+++ b/accessx-status/pixmaps/48x48/mate-ax-slowkeys.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-mousekeys-base.png b/accessx-status/pixmaps/48x48/mate-mousekeys-base.png
index 961362a9..961362a9 100644
--- a/accessx-status/pixmaps/mate-mousekeys-base.png
+++ b/accessx-status/pixmaps/48x48/mate-mousekeys-base.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-mousekeys-default-left.png b/accessx-status/pixmaps/48x48/mate-mousekeys-default-left.png
index ce0f4c36..ce0f4c36 100644
--- a/accessx-status/pixmaps/mate-mousekeys-default-left.png
+++ b/accessx-status/pixmaps/48x48/mate-mousekeys-default-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-mousekeys-default-middle.png b/accessx-status/pixmaps/48x48/mate-mousekeys-default-middle.png
index dde16fae..dde16fae 100644
--- a/accessx-status/pixmaps/mate-mousekeys-default-middle.png
+++ b/accessx-status/pixmaps/48x48/mate-mousekeys-default-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-mousekeys-default-right.png b/accessx-status/pixmaps/48x48/mate-mousekeys-default-right.png
index fbb44729..fbb44729 100644
--- a/accessx-status/pixmaps/mate-mousekeys-default-right.png
+++ b/accessx-status/pixmaps/48x48/mate-mousekeys-default-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-mousekeys-pressed-left.png b/accessx-status/pixmaps/48x48/mate-mousekeys-pressed-left.png
index 31ee3e5d..31ee3e5d 100644
--- a/accessx-status/pixmaps/mate-mousekeys-pressed-left.png
+++ b/accessx-status/pixmaps/48x48/mate-mousekeys-pressed-left.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-mousekeys-pressed-middle.png b/accessx-status/pixmaps/48x48/mate-mousekeys-pressed-middle.png
index 65890a4f..65890a4f 100644
--- a/accessx-status/pixmaps/mate-mousekeys-pressed-middle.png
+++ b/accessx-status/pixmaps/48x48/mate-mousekeys-pressed-middle.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-mousekeys-pressed-right.png b/accessx-status/pixmaps/48x48/mate-mousekeys-pressed-right.png
index 316bd97d..316bd97d 100644
--- a/accessx-status/pixmaps/mate-mousekeys-pressed-right.png
+++ b/accessx-status/pixmaps/48x48/mate-mousekeys-pressed-right.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-alt-latched.png b/accessx-status/pixmaps/48x48/mate-sticky-alt-latched.png
index 03243936..03243936 100644
--- a/accessx-status/pixmaps/mate-sticky-alt-latched.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-alt-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-alt-locked.png b/accessx-status/pixmaps/48x48/mate-sticky-alt-locked.png
index 7797ce30..7797ce30 100644
--- a/accessx-status/pixmaps/mate-sticky-alt-locked.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-alt-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-alt-none.png b/accessx-status/pixmaps/48x48/mate-sticky-alt-none.png
index 3bf81698..3bf81698 100644
--- a/accessx-status/pixmaps/mate-sticky-alt-none.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-alt-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-ctrl-latched.png b/accessx-status/pixmaps/48x48/mate-sticky-ctrl-latched.png
index 25ff168d..25ff168d 100644
--- a/accessx-status/pixmaps/mate-sticky-ctrl-latched.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-ctrl-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-ctrl-locked.png b/accessx-status/pixmaps/48x48/mate-sticky-ctrl-locked.png
index 932cdc50..932cdc50 100644
--- a/accessx-status/pixmaps/mate-sticky-ctrl-locked.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-ctrl-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-ctrl-none.png b/accessx-status/pixmaps/48x48/mate-sticky-ctrl-none.png
index 68a62bc7..68a62bc7 100644
--- a/accessx-status/pixmaps/mate-sticky-ctrl-none.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-ctrl-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-hyper-latched.png b/accessx-status/pixmaps/48x48/mate-sticky-hyper-latched.png
index 66ad7392..66ad7392 100644
--- a/accessx-status/pixmaps/mate-sticky-hyper-latched.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-hyper-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-hyper-locked.png b/accessx-status/pixmaps/48x48/mate-sticky-hyper-locked.png
index 5cbe031c..5cbe031c 100644
--- a/accessx-status/pixmaps/mate-sticky-hyper-locked.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-hyper-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-hyper-none.png b/accessx-status/pixmaps/48x48/mate-sticky-hyper-none.png
index d307cea0..d307cea0 100644
--- a/accessx-status/pixmaps/mate-sticky-hyper-none.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-hyper-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-meta-latched.png b/accessx-status/pixmaps/48x48/mate-sticky-meta-latched.png
index a0bae1b2..a0bae1b2 100644
--- a/accessx-status/pixmaps/mate-sticky-meta-latched.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-meta-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/48x48/mate-sticky-meta-locked.png b/accessx-status/pixmaps/48x48/mate-sticky-meta-locked.png
new file mode 100644
index 00000000..70e20436
--- /dev/null
+++ b/accessx-status/pixmaps/48x48/mate-sticky-meta-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-meta-none.png b/accessx-status/pixmaps/48x48/mate-sticky-meta-none.png
index 28d66dbe..28d66dbe 100644
--- a/accessx-status/pixmaps/mate-sticky-meta-none.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-meta-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-shift-latched.png b/accessx-status/pixmaps/48x48/mate-sticky-shift-latched.png
index 9ce1c6d6..9ce1c6d6 100644
--- a/accessx-status/pixmaps/mate-sticky-shift-latched.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-shift-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-shift-locked.png b/accessx-status/pixmaps/48x48/mate-sticky-shift-locked.png
index 96445b60..96445b60 100644
--- a/accessx-status/pixmaps/mate-sticky-shift-locked.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-shift-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-shift-none.png b/accessx-status/pixmaps/48x48/mate-sticky-shift-none.png
index 433cc409..433cc409 100644
--- a/accessx-status/pixmaps/mate-sticky-shift-none.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-shift-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-super-latched.png b/accessx-status/pixmaps/48x48/mate-sticky-super-latched.png
index a3a642dc..a3a642dc 100644
--- a/accessx-status/pixmaps/mate-sticky-super-latched.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-super-latched.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-super-locked.png b/accessx-status/pixmaps/48x48/mate-sticky-super-locked.png
index 6aaeca79..6aaeca79 100644
--- a/accessx-status/pixmaps/mate-sticky-super-locked.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-super-locked.png
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-super-none.png b/accessx-status/pixmaps/48x48/mate-sticky-super-none.png
index 2e46e5f7..2e46e5f7 100644
--- a/accessx-status/pixmaps/mate-sticky-super-none.png
+++ b/accessx-status/pixmaps/48x48/mate-sticky-super-none.png
Binary files differ
diff --git a/accessx-status/pixmaps/Makefile.am b/accessx-status/pixmaps/Makefile.am
index 0563d5aa..f457e2ff 100644
--- a/accessx-status/pixmaps/Makefile.am
+++ b/accessx-status/pixmaps/Makefile.am
@@ -1,46 +1,7 @@
-accessx_status_iconsdir = $(iconsdir)/hicolor/48x48/apps
-accessx_status_icons_DATA = mate-ax-applet.png
-
-accessx_status_pixmapsdir = $(pixmapsdir)/mate-accessx-status-applet
-accessx_status_pixmaps_DATA = \
- mate-ax-applet.png \
- mate-ax-key-base.png \
- mate-ax-key-inverse.png \
- mate-ax-key-none.png \
- mate-ax-key-yes.png \
- mate-ax-key-no.png \
- mate-mousekeys-base.png \
- mate-mousekeys-pressed-left.png \
- mate-mousekeys-pressed-middle.png \
- mate-mousekeys-pressed-right.png \
- mate-mousekeys-default-left.png \
- mate-mousekeys-default-middle.png \
- mate-mousekeys-default-right.png \
- mate-sticky-shift-none.png \
- mate-sticky-shift-latched.png \
- mate-sticky-shift-locked.png \
- mate-sticky-ctrl-none.png \
- mate-sticky-ctrl-latched.png \
- mate-sticky-ctrl-locked.png \
- mate-sticky-alt-none.png \
- mate-sticky-alt-latched.png \
- mate-sticky-alt-locked.png \
- mate-sticky-meta-latched.png \
- mate-sticky-meta-locked.png \
- mate-sticky-meta-none.png \
- mate-sticky-hyper-latched.png \
- mate-sticky-hyper-locked.png \
- mate-sticky-hyper-none.png \
- mate-sticky-super-latched.png \
- mate-sticky-super-locked.png \
- mate-sticky-super-none.png \
- mate-ax-slowkeys.png \
- mate-ax-slowkeys-pending.png \
- mate-ax-slowkeys-yes.png \
- mate-ax-slowkeys-no.png \
- mate-ax-bouncekeys.png
+SUBDIRS = 16x16 24x24 32x32 48x48
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(iconsdir)/hicolor
+
install-data-hook: update-icon-cache
uninstall-hook: update-icon-cache
update-icon-cache:
@@ -52,7 +13,4 @@ update-icon-cache:
echo "*** $(gtk_update_icon_cache)"; \
fi
-EXTRA_DIST = \
- $(accessx_status_pixmaps_DATA)
-
-include $(top_srcdir)/git.mk
diff --git a/accessx-status/pixmaps/mate-ax-applet.png b/accessx-status/pixmaps/mate-ax-applet.png
deleted file mode 100644
index 75084f8d..00000000
--- a/accessx-status/pixmaps/mate-ax-applet.png
+++ /dev/null
Binary files differ
diff --git a/accessx-status/pixmaps/mate-sticky-meta-locked.png b/accessx-status/pixmaps/mate-sticky-meta-locked.png
deleted file mode 100644
index a0bae1b2..00000000
--- a/accessx-status/pixmaps/mate-sticky-meta-locked.png
+++ /dev/null
Binary files differ
diff --git a/configure.ac b/configure.ac
index 6e91c90d..5677b917 100644
--- a/configure.ac
+++ b/configure.ac
@@ -527,6 +527,10 @@ po/Makefile.in
accessx-status/Makefile
accessx-status/docs/Makefile
accessx-status/pixmaps/Makefile
+accessx-status/pixmaps/16x16/Makefile
+accessx-status/pixmaps/24x24/Makefile
+accessx-status/pixmaps/32x32/Makefile
+accessx-status/pixmaps/48x48/Makefile
drivemount/Makefile
drivemount/help/Makefile
drivemount/org.mate.drivemount.gschema.xml