diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-06-10 14:38:26 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-06-10 14:38:26 -0300 |
commit | f5e137fdf748b757bacfc50577e5d48a693d31c4 (patch) | |
tree | c75bdfef17b69eff3b8bb20b285c880d7f9183c0 /extra/lxpanel | |
parent | 300b3ee60aef9cfa0a32f5c69aa5e25ad637285f (diff) | |
parent | dd5222c4ae447eb7a6bda08ec5a3c2339852dc16 (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/chntpw/PKGBUILD
community/hardinfo/PKGBUILD
community/obconf/obconf.install
community/xplc/PKGBUILD
community/zziplib/PKGBUILD
core/rp-pppoe/PKGBUILD
extra/icedtea-web/PKGBUILD
extra/icon-naming-utils/PKGBUILD
extra/lxmenu-data/PKGBUILD
extra/openbox/PKGBUILD
extra/phonon-xine/PKGBUILD
extra/qt/PKGBUILD
extra/zope-interface/PKGBUILD
libre/pacman/PKGBUILD
libre/pacman/pacman.conf.mips64el
libre/pacman/rePKGBUILD
testing/coreutils/PKGBUILD
testing/net-tools/PKGBUILD
Diffstat (limited to 'extra/lxpanel')
3 files changed, 0 insertions, 623 deletions
diff --git a/extra/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch b/extra/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch deleted file mode 100644 index e3da3d897..000000000 --- a/extra/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 4a974f2686d2fafdcda4a180b0483a7b17fd2d71 Mon Sep 17 00:00:00 2001 -From: Marty Jack <martyj@linux.local> -Date: Thu, 22 Jul 2010 19:46:13 -0400 -Subject: [PATCH 3/3] Fix build issue with symbol "alarm" showing up on F14 (Bug3033293) - ---- - src/plugins/batt/batt.c | 6 +++--- - 1 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/plugins/batt/batt.c b/src/plugins/batt/batt.c -index 288231f..05c0deb 100644 ---- a/src/plugins/batt/batt.c -+++ b/src/plugins/batt/batt.c -@@ -95,7 +95,7 @@ typedef struct { - typedef struct { - char *command; - sem_t *lock; --} alarm; -+} Alarm; - - static void destructor(Plugin *p); - static void update_display(lx_battery *lx_b, gboolean repaint); -@@ -103,7 +103,7 @@ static void update_display(lx_battery *lx_b, gboolean repaint); - /* alarmProcess takes the address of a dynamically allocated alarm struct (which - it must free). It ensures that alarm commands do not run concurrently. */ - static void * alarmProcess(void *arg) { -- alarm *a = (alarm *) arg; -+ Alarm *a = (Alarm *) arg; - - sem_wait(a->lock); - system(a->command); -@@ -157,7 +157,7 @@ void update_display(lx_battery *lx_b, gboolean repaint) { - /* Run the alarm command if it isn't already running */ - if (alarmCanRun) { - -- alarm *a = (alarm *) malloc(sizeof(alarm)); -+ Alarm *a = (Alarm *) malloc(sizeof(Alarm)); - a->command = lx_b->alarmCommand; - a->lock = &(lx_b->alarmProcessLock); - --- -1.7.1.1 - diff --git a/extra/lxpanel/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch b/extra/lxpanel/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch deleted file mode 100644 index b5483e7b0..000000000 --- a/extra/lxpanel/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch +++ /dev/null @@ -1,555 +0,0 @@ -From 438d9fdbd3e0be04de933705917d508a02b7c04b Mon Sep 17 00:00:00 2001 -From: Marty Jack <martyj@linux.local> -Date: Sat, 20 Feb 2010 16:23:57 -0500 -Subject: [PATCH 4/5] Fix failure to react to keyboard map changes initiated outside the plugin - - Occurred when setxkbmap was run, or when HAL configured the keyboard at X startup - - Caused by failure to process the NewKeyboard event - - Caused by dropping events due to faulty code to read them - - Cosmetic change, the tooltip now the Xkb Group name rather than Xkb Symbol name - ---- - src/plugins/xkb/xkb-plugin.c | 92 +++++++++-------- - src/plugins/xkb/xkb.c | 236 +++++++++++++++++++++-------------------- - src/plugins/xkb/xkb.h | 7 +- - 3 files changed, 173 insertions(+), 162 deletions(-) - -diff --git a/src/plugins/xkb/xkb-plugin.c b/src/plugins/xkb/xkb-plugin.c -index f49a77d..80a14ba 100644 ---- a/src/plugins/xkb/xkb-plugin.c -+++ b/src/plugins/xkb/xkb-plugin.c -@@ -1,18 +1,23 @@ --/* --//==================================================================== --// xfce4-xkb-plugin - XFCE4 Xkb Layout Indicator panel plugin --// ------------------------------------------------------------------- --// Alexander Iliev <sasoiliev@mamul.org> --// 20-Feb-04 --// ------------------------------------------------------------------- --// Parts of this code belong to Michael Glickman <wmalms@yahooo.com> --// and his program wmxkb. --// WARNING: DO NOT BOTHER Michael Glickman WITH QUESTIONS ABOUT THIS --// PROGRAM!!! SEND INSTEAD EMAILS TO <sasoiliev@mamul.org> --//==================================================================== --*/ -- --/* Modified by Hong Jen Yee (PCMan) <pcman.tw@gmail.com> on 2008-04-06 for lxpanel */ -+/** -+ * Copyright (c) 2010 LxDE Developers, see the file AUTHORS for details. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ */ -+ -+/* Originally derived from xfce4-xkb-plugin, Copyright 2004 Alexander Iliev, -+ * which credits Michael Glickman. */ - - #ifdef HAVE_CONFIG_H - #include <config.h> -@@ -49,38 +54,45 @@ void xkb_redraw(XkbPlugin * xkb) - if (xkb->display_type == IMAGE) - { - int size = xkb->plugin->panel->icon_size; -- char * group_name = (char *) xkb_get_current_group_name_lowercase(xkb); -- char * filename = g_strdup_printf("%s/%s.png", FLAGSDIR, group_name); -- GdkPixbuf * unscaled_pixbuf = gdk_pixbuf_new_from_file(filename, NULL); -- g_free(filename); -- g_free(group_name); -- -- if (unscaled_pixbuf != NULL) -+ char * group_name = (char *) xkb_get_current_symbol_name_lowercase(xkb); -+ if (group_name != NULL) - { -- /* Loaded successfully. */ -- int width = gdk_pixbuf_get_width(unscaled_pixbuf); -- int height = gdk_pixbuf_get_height(unscaled_pixbuf); -- GdkPixbuf * pixbuf = gdk_pixbuf_scale_simple(unscaled_pixbuf, size * width / height, size, GDK_INTERP_BILINEAR); -- if (pixbuf != NULL) -+ char * filename = g_strdup_printf("%s/%s.png", FLAGSDIR, group_name); -+ GdkPixbuf * unscaled_pixbuf = gdk_pixbuf_new_from_file(filename, NULL); -+ g_free(filename); -+ g_free(group_name); -+ -+ if (unscaled_pixbuf != NULL) - { -- gtk_image_set_from_pixbuf(GTK_IMAGE(xkb->image), pixbuf); -- g_object_unref(G_OBJECT(pixbuf)); -- gtk_widget_hide(xkb->label); -- gtk_widget_show(xkb->image); -- gtk_widget_set_tooltip_text(xkb->btn, xkb_get_current_group_name(xkb)); -- valid_image = TRUE; -+ /* Loaded successfully. */ -+ int width = gdk_pixbuf_get_width(unscaled_pixbuf); -+ int height = gdk_pixbuf_get_height(unscaled_pixbuf); -+ GdkPixbuf * pixbuf = gdk_pixbuf_scale_simple(unscaled_pixbuf, size * width / height, size, GDK_INTERP_BILINEAR); -+ if (pixbuf != NULL) -+ { -+ gtk_image_set_from_pixbuf(GTK_IMAGE(xkb->image), pixbuf); -+ g_object_unref(G_OBJECT(pixbuf)); -+ gtk_widget_hide(xkb->label); -+ gtk_widget_show(xkb->image); -+ gtk_widget_set_tooltip_text(xkb->btn, xkb_get_current_group_name(xkb)); -+ valid_image = TRUE; -+ } -+ g_object_unref(unscaled_pixbuf); - } -- g_object_unref(unscaled_pixbuf); - } - } - - /* Set the label. */ - if ((xkb->display_type == TEXT) || ( ! valid_image)) - { -- panel_draw_label_text(xkb->plugin->panel, xkb->label, (char *) xkb_get_current_group_name(xkb), TRUE, TRUE); -- gtk_widget_hide(xkb->image); -- gtk_widget_show(xkb->label); -- gtk_widget_set_tooltip_text(xkb->btn, NULL); -+ char * group_name = (char *) xkb_get_current_symbol_name(xkb); -+ if (group_name != NULL) -+ { -+ panel_draw_label_text(xkb->plugin->panel, xkb->label, (char *) group_name, TRUE, TRUE); -+ gtk_widget_hide(xkb->image); -+ gtk_widget_show(xkb->label); -+ gtk_widget_set_tooltip_text(xkb->btn, xkb_get_current_group_name(xkb)); -+ } - } - } - -@@ -196,10 +208,6 @@ static int xkb_constructor(Plugin * plugin, char ** fp) - /* Initialize the XKB interface. */ - xkb_mechanism_constructor(xkb); - -- /* Initialize a channel to listen for XKB events. */ -- GIOChannel * channel = g_io_channel_unix_new(xkb_get_connection_number(xkb)); -- xkb->source_id = g_io_add_watch(channel, G_IO_IN | G_IO_PRI, (GIOFunc) xkb_gio_callback, (gpointer) xkb); -- - /* Connect signals. */ - g_signal_connect(xkb->btn, "button-press-event", G_CALLBACK(xkb_button_press_event), xkb); - g_signal_connect(xkb->btn, "scroll-event", G_CALLBACK(xkb_scroll_event), xkb); -diff --git a/src/plugins/xkb/xkb.c b/src/plugins/xkb/xkb.c -index 5bb0c39..898a931 100644 ---- a/src/plugins/xkb/xkb.c -+++ b/src/plugins/xkb/xkb.c -@@ -1,18 +1,23 @@ --/* --// ==================================================================== --// xfce4-xkb-plugin - XFCE4 Xkb Layout Indicator panel plugin --// ------------------------------------------------------------------- --// Alexander Iliev <sasoiliev@mamul.org> --// 20-Feb-04 --// ------------------------------------------------------------------- --// Parts of this code belong to Michael Glickman <wmalms@yahooo.com> --// and his program wmxkb. --// WARNING: DO NOT BOTHER Michael Glickman WITH QUESTIONS ABOUT THIS --// PROGRAM!!! SEND INSTEAD EMAILS TO <sasoiliev@mamul.org> --//==================================================================== --*/ -- --/* Modified by Hong Jen Yee (PCMan) <pcman.tw@gmail.com> on 2008-04-06 for lxpanel */ -+/** -+ * Copyright (c) 2010 LxDE Developers, see the file AUTHORS for details. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ */ -+ -+/* Originally derived from xfce4-xkb-plugin, Copyright 2004 Alexander Iliev, -+ * which credits Michael Glickman. */ - - #include "xkb.h" - -@@ -26,9 +31,13 @@ - #include <gdk-pixbuf/gdk-pixbuf.h> - #include <glib.h> - -+/* The X Keyboard Extension: Library Specification -+ * http://www.xfree86.org/current/XKBlib.pdf */ -+ - static void xkb_enter_locale_by_process(XkbPlugin * xkb); - static void refresh_group_xkb(XkbPlugin * xkb); --static int do_init_xkb(XkbPlugin * xkb); -+static int initialize_keyboard_description(XkbPlugin * xkb); -+static GdkFilterReturn xkb_event_filter(GdkXEvent * xevent, GdkEvent * event, XkbPlugin * xkb); - - /* Insert a process and its layout into the hash table. */ - static void xkb_enter_locale_by_process(XkbPlugin * xkb) -@@ -56,60 +65,65 @@ int xkb_get_group_count(XkbPlugin * xkb) - return xkb->group_count; - } - -+/* Get the current group name. */ -+const char * xkb_get_current_group_name(XkbPlugin * xkb) -+{ -+ return xkb->group_names[xkb->current_group_xkb_no]; -+} -+ - /* Convert a group number to a symbol name. */ - const char * xkb_get_symbol_name_by_res_no(XkbPlugin * xkb, int n) - { - return xkb->symbol_names[n]; - } - --/* Get the current group name. */ --const char * xkb_get_current_group_name(XkbPlugin * xkb) -+/* Get the current symbol name. */ -+const char * xkb_get_current_symbol_name(XkbPlugin * xkb) - { - return xkb_get_symbol_name_by_res_no(xkb, xkb->current_group_xkb_no); - } - --/* Get the current group name converted to lowercase. */ --const char * xkb_get_current_group_name_lowercase(XkbPlugin * xkb) -+/* Get the current symbol name converted to lowercase. */ -+const char * xkb_get_current_symbol_name_lowercase(XkbPlugin * xkb) - { -- const char * tmp = xkb_get_current_group_name(xkb); -- return g_utf8_strdown(tmp, -1); -+ const char * tmp = xkb_get_current_symbol_name(xkb); -+ return ((tmp != NULL) ? g_utf8_strdown(tmp, -1) : NULL); - } - - /* Refresh current group number from Xkb state. */ - static void refresh_group_xkb(XkbPlugin * xkb) - { - XkbStateRec xkb_state; -- XkbGetState(xkb->dsp, xkb->device_id, &xkb_state); -+ XkbGetState(GDK_DISPLAY(), XkbUseCoreKbd, &xkb_state); - xkb->current_group_xkb_no = xkb_state.group; - } - --/* Initialize the Xkb structures. */ --static int do_init_xkb(XkbPlugin * xkb) -+/* Initialize the keyboard description initially or after a NewKeyboard event. */ -+static int initialize_keyboard_description(XkbPlugin * xkb) - { -- /* Create hash table. */ -- xkb->group_hash_table = g_hash_table_new(g_direct_hash, NULL); -- -- /* Initialize the Xkb extension. */ -- int major, minor, opcode; -- Bool status = XkbQueryExtension(xkb->dsp, &opcode, -- &xkb->base_event_code, &xkb->base_error_code, &major, &minor); -- -- /* Use the core keyboard. */ -- xkb->device_id = XkbUseCoreKbd; -+ /* Free the strings. */ -+ int i; -+ for (i = 0; i < XkbNumKbdGroups; i += 1) -+ { -+ g_free(xkb->group_names[i]); -+ g_free(xkb->symbol_names[i]); -+ xkb->group_names[i] = NULL; -+ xkb->symbol_names[i] = NULL; -+ } - - /* Allocate a keyboard description structure. */ -+ int status = False; - XkbDescRec * kbd_desc_ptr = XkbAllocKeyboard(); - if (kbd_desc_ptr == NULL) - { - ERR("Failed to get keyboard description\n"); - goto HastaLaVista; - } -- kbd_desc_ptr->dpy = xkb->dsp; - - /* Fetch information into the keyboard description. */ -- XkbGetControls(xkb->dsp, XkbAllControlsMask, kbd_desc_ptr); -- XkbGetNames(xkb->dsp, XkbSymbolsNameMask, kbd_desc_ptr); -- XkbGetNames(xkb->dsp, XkbGroupNamesMask, kbd_desc_ptr); -+ XkbGetControls(GDK_DISPLAY(), XkbAllControlsMask, kbd_desc_ptr); -+ XkbGetNames(GDK_DISPLAY(), XkbSymbolsNameMask, kbd_desc_ptr); -+ XkbGetNames(GDK_DISPLAY(), XkbGroupNamesMask, kbd_desc_ptr); - - if (kbd_desc_ptr->names == NULL) - { -@@ -137,12 +151,11 @@ static int do_init_xkb(XkbPlugin * xkb) - - /* Determine the group names. Trim off text beginning at a '('. */ - const Atom * tmp_group_source = kbd_desc_ptr->names->groups; -- int i; - for (i = 0; i < xkb->group_count; i++) - { - if (tmp_group_source[i] != None) - { -- char * ptr = XGetAtomName(xkb->dsp, tmp_group_source[i]); -+ char * ptr = XGetAtomName(GDK_DISPLAY(), tmp_group_source[i]); - xkb->group_names[i] = ptr; - if ((ptr != NULL) && ((ptr = strchr(ptr, '('))) != NULL) - *ptr = '\0'; -@@ -153,7 +166,7 @@ static int do_init_xkb(XkbPlugin * xkb) - Atom sym_name_atom = kbd_desc_ptr->names->symbols; - char * sym_name; - if ((sym_name_atom == None) -- || ((sym_name = XGetAtomName(xkb->dsp, sym_name_atom)) == NULL)) -+ || ((sym_name = XGetAtomName(GDK_DISPLAY(), sym_name_atom)) == NULL)) - goto HastaLaVista; - - /* Parse and store symbol names. */ -@@ -190,83 +203,106 @@ static int do_init_xkb(XkbPlugin * xkb) - { - xkb->group_count = 2; - xkb->symbol_names[1] = xkb->symbol_names[0]; -- xkb->symbol_names[0] = strdup("us"); -- xkb->group_names[0] = strdup("US/ASCII"); -- xkb->group_names[1] = strdup("Japanese"); -+ xkb->symbol_names[0] = g_strdup("us"); -+ xkb->group_names[0] = g_strdup("US/ASCII"); -+ xkb->group_names[1] = g_strdup("Japanese"); - } - else if (count < xkb->group_count) - { - /* Ensure that the names are fully initialized. */ - int j = count, k = xkb->group_count; - while(--j >= 0) xkb->symbol_names[--k] = xkb->symbol_names[j]; -- while(--k >= 0) xkb->symbol_names[k] = strdup("en_US"); -+ while(--k >= 0) xkb->symbol_names[k] = g_strdup("en_US"); - } - -- /* Enxure that the names are fully initialized. */ -+ /* Ensure that the names are fully initialized. */ - for (i = 0; i < xkb->group_count; i++) - { - if (xkb->symbol_names[i] == NULL) - { - ERR("\nGroup Symbol %i is undefined, set to 'U/A' !\n", i+1); -- xkb->symbol_names[i] = strdup("U/A"); -+ xkb->symbol_names[i] = g_strdup("U/A"); - } - } - -+ /* Create or recreate hash table. -+ * The layout that was associated to the windows may or may not be at the same group number, -+ * and worse, may no longer exist, which there is no meaningful way to deal with. */ -+ if (xkb->group_hash_table != NULL) -+ g_hash_table_destroy(xkb->group_hash_table); -+ xkb->group_hash_table = g_hash_table_new(g_direct_hash, NULL); -+ - status = True; - - HastaLaVista: - if (kbd_desc_ptr != NULL) - XkbFreeKeyboard(kbd_desc_ptr, 0, True); -+ - return status; - } - -+/* GDK event filter that receives events from all windows and the Xkb extension. */ -+static GdkFilterReturn xkb_event_filter(GdkXEvent * xevent, GdkEvent * event, XkbPlugin * xkb) -+{ -+ XEvent * ev = (XEvent *) xevent; -+ -+ if (ev->xany.type == xkb->base_event_code + XkbEventCode) -+ { -+ /* Xkb event. */ -+ XkbEvent * xkbev = (XkbEvent *) ev; -+ if (xkbev->any.xkb_type == XkbNewKeyboardNotify) -+ { -+ initialize_keyboard_description(xkb); -+ refresh_group_xkb(xkb); -+ xkb_redraw(xkb); -+ xkb_enter_locale_by_process(xkb); -+ } -+ else if (xkbev->any.xkb_type == XkbStateNotify) -+ { -+ if (xkbev->state.group != xkb->current_group_xkb_no) -+ { -+ /* Switch to the new group and redraw the display. */ -+ xkb->current_group_xkb_no = xkbev->state.group; -+ refresh_group_xkb(xkb); -+ xkb_redraw(xkb); -+ xkb_enter_locale_by_process(xkb); -+ } -+ } -+ } -+ return GDK_FILTER_CONTINUE; -+} -+ - /* Initialize the Xkb interface. */ - void xkb_mechanism_constructor(XkbPlugin * xkb) - { -- /* Enable the Xkb extension on all clients. */ -- XkbIgnoreExtension(False); -- -- /* Open the display. */ -- int major = XkbMajorVersion; -- int minor = XkbMinorVersion; -- char * display_name = ""; -- int event_code; -- int error_rtrn; -- int reason_rtrn; -- xkb->dsp = XkbOpenDisplay(display_name, &event_code, &error_rtrn, &major, &minor, &reason_rtrn); -- -- switch (reason_rtrn) -+ /* Initialize Xkb extension. */ -+ int opcode; -+ int maj = XkbMajorVersion; -+ int min = XkbMinorVersion; -+ if ((XkbLibraryVersion(&maj, &min)) -+ && (XkbQueryExtension(GDK_DISPLAY(), &opcode, &xkb->base_event_code, &xkb->base_error_code, &maj, &min))) - { -- case XkbOD_BadLibraryVersion: -- ERR("Bad XKB library version.\n"); -- return; -- case XkbOD_ConnectionRefused: -- ERR("Connection to X server refused.\n"); -- return; -- case XkbOD_BadServerVersion: -- ERR("Bad X server version.\n"); -- return; -- case XkbOD_NonXkbServer: -- ERR("XKB not present.\n"); -- return; -- case XkbOD_Success: -- break; -- } -+ /* Read the keyboard description. */ -+ initialize_keyboard_description(xkb); - -- /* Initialize our mechanism. */ -- if (do_init_xkb(xkb) != True) -- return; -+ /* Establish GDK event filter. */ -+ gdk_window_add_filter(NULL, (GdkFilterFunc) xkb_event_filter, (gpointer) xkb); - -- /* Specify events we will receive. */ -- XkbSelectEventDetails(xkb->dsp, xkb->device_id, XkbStateNotify, XkbAllStateComponentsMask, XkbGroupStateMask); -+ /* Specify events we will receive. */ -+ XkbSelectEvents(GDK_DISPLAY(), XkbUseCoreKbd, XkbNewKeyboardNotifyMask, XkbNewKeyboardNotifyMask); -+ XkbSelectEventDetails(GDK_DISPLAY(), XkbUseCoreKbd, XkbStateNotify, XkbAllStateComponentsMask, XkbGroupStateMask); - -- /* Get current state. */ -- refresh_group_xkb(xkb); -+ /* Get current state. */ -+ refresh_group_xkb(xkb); -+ } - } - - /* Deallocate resources associated with Xkb interface. */ - void xkb_mechanism_destructor(XkbPlugin * xkb) - { -+ /* Remove event filter. */ -+ gdk_window_remove_filter(NULL, (GdkFilterFunc) xkb_event_filter, xkb); -+ - /* Free group and symbol name memory. */ - int i; - for (i = 0; i < xkb->group_count; i++) -@@ -283,21 +319,11 @@ void xkb_mechanism_destructor(XkbPlugin * xkb) - } - } - -- /* Close the display. */ -- XCloseDisplay(xkb->dsp); -- xkb->dsp = NULL; -- - /* Destroy the hash table. */ - g_hash_table_destroy(xkb->group_hash_table); - xkb->group_hash_table = NULL; - } - --/* Return the connection number for the display. */ --int xkb_get_connection_number(XkbPlugin * xkb) --{ -- return ConnectionNumber(xkb->dsp); --} -- - /* Set the layout to the next layout. */ - int xkb_change_group(XkbPlugin * xkb, int increment) - { -@@ -307,33 +333,13 @@ int xkb_change_group(XkbPlugin * xkb, int increment) - if (next_group >= xkb->group_count) next_group = 0; - - /* Execute the change. */ -- XkbLockGroup(xkb->dsp, xkb->device_id, next_group); -+ XkbLockGroup(GDK_DISPLAY(), XkbUseCoreKbd, next_group); - refresh_group_xkb(xkb); - xkb_redraw(xkb); - xkb_enter_locale_by_process(xkb); - return 1; - } - --/* Callback when activity detected on the Xkb channel. */ --gboolean xkb_gio_callback(GIOChannel * source, GIOCondition condition, gpointer data) --{ -- XkbPlugin * xkb = (XkbPlugin *) data; -- -- XkbEvent evnt; -- XNextEvent(xkb->dsp, &evnt.core); -- if ((evnt.type == xkb->base_event_code) -- && (evnt.any.xkb_type == XkbStateNotify) -- && (evnt.state.group != xkb->current_group_xkb_no)) -- { -- /* Switch to the new group and redraw the display. */ -- xkb->current_group_xkb_no = evnt.state.group; -- refresh_group_xkb(xkb); -- xkb_redraw(xkb); -- xkb_enter_locale_by_process(xkb); -- } -- return TRUE; --} -- - /* React to change of focus by switching to the application's layout or the default layout. */ - void xkb_active_window_changed(XkbPlugin * xkb, gint pid) - { -@@ -345,7 +351,7 @@ void xkb_active_window_changed(XkbPlugin * xkb, gint pid) - - if (new_group_xkb_no < xkb->group_count) - { -- XkbLockGroup(xkb->dsp, xkb->device_id, new_group_xkb_no); -+ XkbLockGroup(GDK_DISPLAY(), XkbUseCoreKbd, new_group_xkb_no); - refresh_group_xkb(xkb); - } - } -diff --git a/src/plugins/xkb/xkb.h b/src/plugins/xkb/xkb.h -index 9265198..20c7ed3 100644 ---- a/src/plugins/xkb/xkb.h -+++ b/src/plugins/xkb/xkb.h -@@ -49,10 +49,8 @@ typedef struct { - GtkWidget * per_app_default_layout_menu; /* Combo box of all available layouts */ - - /* Mechanism. */ -- Display * dsp; /* Handle to X display */ - int base_event_code; /* Result of initializing Xkb extension */ - int base_error_code; -- int device_id; /* Keyboard device ID (always "core keyboard") */ - int current_group_xkb_no; /* Current layout */ - int group_count; /* Count of groups as returned by Xkb */ - char * group_names[XkbNumKbdGroups]; /* Group names as returned by Xkb */ -@@ -67,12 +65,11 @@ extern int xkb_get_current_group_xkb_no(XkbPlugin * xkb); - extern int xkb_get_group_count(XkbPlugin * xkb); - extern const char * xkb_get_symbol_name_by_res_no(XkbPlugin * xkb, int group_res_no); - extern const char * xkb_get_current_group_name(XkbPlugin * xkb); --extern const char * xkb_get_current_group_name_lowercase(XkbPlugin * xkb); -+extern const char * xkb_get_current_symbol_name(XkbPlugin * xkb); -+extern const char * xkb_get_current_symbol_name_lowercase(XkbPlugin * xkb); - extern void xkb_mechanism_constructor(XkbPlugin * xkb); - extern void xkb_mechanism_destructor(XkbPlugin * xkb); --extern int xkb_get_connection_number(XkbPlugin * xkb); - extern int xkb_change_group(XkbPlugin * xkb, int increment); --extern gboolean xkb_gio_callback(GIOChannel * source, GIOCondition condition, gpointer data); - extern void xkb_active_window_changed(XkbPlugin * xkb, GPid pid); - - #endif --- -1.7.0 - diff --git a/extra/lxpanel/PKGBUILD b/extra/lxpanel/PKGBUILD deleted file mode 100644 index eb189f7ac..000000000 --- a/extra/lxpanel/PKGBUILD +++ /dev/null @@ -1,25 +0,0 @@ -$Id: PKGBUILD 94639 2010-10-08 22:08:39Z angvp $ -# Maintainer: Angel Velasquez <angvp@archlinux.org> -# Maintainer: Juergen Hoetzel <juergen@archlinux.org> -pkgname=lxpanel -pkgver=0.5.6 -pkgrel=1 -pkgdesc="Panel of the LXDE Desktop" -arch=('i686' 'x86_64' 'mips64el') -license=('GPL2') -url="http://lxde.org/" -groups=('lxde') -depends=('gtk2' 'alsa-lib' 'menu-cache' 'lxmenu-data') -source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz - Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch) -optdepends=(pcmanfm) -md5sums=('3c6b5498b5f4109c3913b10a66809fe6' - 'afe03191cbeccfc702f9a04bffd62dbf') - -build() { - cd "$srcdir/$pkgname-$pkgver" - patch -p1 -i $srcdir/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch - ./configure --sysconfdir=/etc --prefix=/usr - make - make DESTDIR="$pkgdir" install -} |