rpms/scim/devel scim_panel-observe-workarea-xprop-204442.patch, NONE, 1.1 scim_panel_gtk-emacs-cc-style.patch, NONE, 1.1 scim_x11_frontend-ic-focus-LTC27940-215953.patch, NONE, 1.1 scim.spec, 1.68, 1.69 scim_panel_gtk-icon-size-fixes.patch, 1.4, 1.5

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Nov 17 09:33:38 UTC 2006


Author: petersen

Update of /cvs/dist/rpms/scim/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv14242

Modified Files:
	scim.spec scim_panel_gtk-icon-size-fixes.patch 
Added Files:
	scim_panel-observe-workarea-xprop-204442.patch 
	scim_panel_gtk-emacs-cc-style.patch 
	scim_x11_frontend-ic-focus-LTC27940-215953.patch 
Log Message:
- add scim-panel-observe-workarea-xprop.patch to make toolbar respect desktop
  work area (Takuro Ashie, #204442)
- add scim_x11_frontend-ic-focus-LTC27940-215953.patch from cvs to fix XIM
  focus preedit commit issue (#215953)
- add scim_panel_gtk-emacs-cc-style.patch to set emacs cc-mode style for panel
- reduce systray icon size even more to 11


scim_panel-observe-workarea-xprop-204442.patch:
 scim_panel_gtk.cpp |   86 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 61 insertions(+), 25 deletions(-)

--- NEW FILE scim_panel-observe-workarea-xprop-204442.patch ---
--- scim-1.4.5/extras/panel/scim_panel_gtk.cpp.12-workarea-xprop	2006-11-15 10:02:59.000000000 +1000
+++ scim-1.4.5/extras/panel/scim_panel_gtk.cpp	2006-11-17 14:20:56.000000000 +1000
@@ -33,6 +33,9 @@
 #include <errno.h>
 #include <glib.h>
 #include <gdk/gdk.h>
+#ifdef GDK_WINDOWING_X11
+#include <gdk/gdkx.h>
+#endif
 #include <gtk/gtk.h>
 #include <stdlib.h>
 #include <list>
@@ -608,6 +611,25 @@
     }
 }
 
+#ifdef GDK_WINDOWING_X11
+static GdkFilterReturn
+ui_event_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data)
+{
+    g_return_val_if_fail (gdk_xevent, GDK_FILTER_CONTINUE);
+
+    XEvent *xev = (XEvent*)gdk_xevent;
+
+    if (xev->type == PropertyNotify) {
+        if (xev->xproperty.atom == gdk_x11_get_xatom_by_name ("_NET_WORKAREA") ||
+            xev->xproperty.atom == gdk_x11_get_xatom_by_name ("_NET_CURRENT_DESKTOP")) {
+            ui_settle_toolbar_window ();
+        }
+    }
+
+    return GDK_FILTER_CONTINUE;
+}
+#endif
+
 static void
 ui_initialize (void)
 {
@@ -948,18 +970,7 @@
         gtk_widget_show_all (_toolbar_window);
         gtk_widget_hide (_toolbar_window);
 
-        GtkRequisition ws;
-        gtk_widget_size_request (_toolbar_window, &ws);
-
-        int workarea_x, workarea_y, workarea_width, workarea_height;
-        ui_get_workarea (workarea_x, workarea_y, workarea_width, workarea_height);
-
-        if (_toolbar_window_x < 0)
-            _toolbar_window_x = workarea_x + workarea_width - ws.width;
-        if (_toolbar_window_y < 0)
-            _toolbar_window_y = workarea_y + workarea_height - ws.height;
-
-        gtk_window_move (GTK_WINDOW (_toolbar_window), _toolbar_window_x, _toolbar_window_y);
+	ui_settle_toolbar_window ();
     }
 
     // Create help window
@@ -1057,6 +1068,17 @@
                                   NULL);
     }
 
+#ifdef GDK_WINDOWING_X11
+    // Add an event filter function to observe X root window's properties.
+    GdkWindow *root_window = gdk_get_default_root_window ();
+#if GDK_MULTIHEAD_SAFE
+    if (_current_screen)
+        root_window = gdk_screen_get_root_window (_current_screen);
+#endif
+    gdk_window_set_events (root_window, (GdkEventMask)GDK_PROPERTY_NOTIFY);
+    gdk_window_add_filter (root_window, ui_event_filter, NULL);
+#endif
+
     _ui_initialized = true;
 }
 
@@ -1155,13 +1177,22 @@
         return;
     }
 
+    gint workarea_x, workarea_y, workarea_width, workarea_height;
+    ui_get_workarea (workarea_x, workarea_y, workarea_width, workarea_height);
+
     GtkRequisition ws;
     gint pos_x, pos_y;
 
     gtk_widget_size_request (_toolbar_window, &ws);
 
-    pos_x = _toolbar_window_x;
-    pos_y = _toolbar_window_y;
+    pos_x = _config->read (String (SCIM_CONFIG_PANEL_GTK_TOOLBAR_POS_X),
+                           workarea_x + workarea_width - ws.width);
+    pos_y = _config->read (String (SCIM_CONFIG_PANEL_GTK_TOOLBAR_POS_Y),
+                           workarea_y + workarea_height - ws.height);
+    if (pos_x == -1 && pos_y == -1) {
+        pos_x = workarea_x + workarea_width  - ws.width;
+        pos_y = workarea_y + workarea_height - ws.height;
+    }
 
     if (_toolbar_auto_snap) {
         if ((ui_screen_width () - (pos_x + ws.width)) < pos_x)
@@ -1266,18 +1297,8 @@
         }
 
         if (_toolbar_window) {
-            GtkRequisition ws;
-            gtk_widget_size_request (_toolbar_window, &ws);
-
             gtk_window_set_screen (GTK_WINDOW (_toolbar_window), screen);
-
-            int workarea_x, workarea_y, workarea_width, workarea_height;
-            ui_get_workarea (workarea_x, workarea_y, workarea_width, workarea_height);
-
-            _toolbar_window_x = workarea_x + workarea_width - ws.width;
-            _toolbar_window_y = workarea_y + workarea_height - ws.height;
-
-            gtk_window_move (GTK_WINDOW (_toolbar_window), _toolbar_window_x, _toolbar_window_y);
+	    ui_settle_toolbar_window ();
         }
 
         if (!_lookup_table_embedded && _lookup_table_window) {
@@ -1299,6 +1320,14 @@
             gtk_window_set_screen (GTK_WINDOW (_help_dialog), screen);
         }
 
+#ifdef GDK_WINDOWING_X11
+        GdkWindow *root_window = gdk_get_default_root_window ();
+        if (_current_screen)
+            root_window = gdk_screen_get_root_window (_current_screen);
+        gdk_window_set_events (root_window, (GdkEventMask)GDK_PROPERTY_NOTIFY);
+        gdk_window_add_filter (root_window, ui_event_filter, NULL);
+#endif
+
         ui_settle_input_window ();
         ui_settle_lookup_table_window ();
         ui_settle_toolbar_window ();
@@ -2571,6 +2600,13 @@
         GdkScreen *screen = gdk_display_get_screen (gdk_display_get_default (), num);
 
         if (screen) {
+#ifdef GDK_WINDOWING_X11
+            GdkWindow *root_window = gdk_get_default_root_window ();
+            if (_current_screen)
+                root_window = gdk_screen_get_root_window (_current_screen);
+            gdk_window_remove_filter (root_window, ui_event_filter, NULL);
+#endif
+
             _current_screen = screen;
             ui_switch_screen (screen);
         }

scim_panel_gtk-emacs-cc-style.patch:
 scim_panel_gtk.cpp |    5 +++++
 1 files changed, 5 insertions(+)

--- NEW FILE scim_panel_gtk-emacs-cc-style.patch ---
diff -u scim-1.4.5/extras/panel/scim_panel_gtk.cpp.12-workarea-xprop scim-1.4.5/extras/panel/scim_panel_gtk.cpp
--- scim-1.4.5/extras/panel/scim_panel_gtk.cpp.12-workarea-xprop	2006-11-15 11:25:48.000000000 +1000
+++ scim-1.4.5/extras/panel/scim_panel_gtk.cpp	2006-11-15 11:25:48.000000000 +1000
@@ -3658,6 +3694,11 @@
     return 0;
 }
 
+// set Emacs cc-mode style
+// Local variables:
+// c-file-style: "cc-mode"
+// End:
+
 /*
 vi:ts=4:nowrap:expandtab
 */

scim_x11_frontend-ic-focus-LTC27940-215953.patch:
 scim_x11_frontend.cpp |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

--- NEW FILE scim_x11_frontend-ic-focus-LTC27940-215953.patch ---
--- scim-1.4.4.orig/modules/FrontEnd/scim_x11_frontend.cpp	2006-10-06 01:05:49.000000000 +0900
+++ scim-1.4.4/modules/FrontEnd/scim_x11_frontend.cpp	2006-10-06 10:29:55.000000000 +0900
@@ -1094,7 +1094,8 @@
     // If the ic is not focused, then return.
     if (!is_focused_ic (ic)) {
         SCIM_DEBUG_FRONTEND(1) << "IC " << call_data->icid << " is not focused, focus it first.\n";
-        ims_set_ic_focus_handler (ims, (IMChangeFocusStruct *) call_data);
+//        ims_set_ic_focus_handler (ims, (IMChangeFocusStruct *) call_data);
+	return 1;
     }
 
     XKeyEvent *event = (XKeyEvent*) &(call_data->event);


Index: scim.spec
===================================================================
RCS file: /cvs/dist/rpms/scim/devel/scim.spec,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- scim.spec	17 Nov 2006 06:57:04 -0000	1.68
+++ scim.spec	17 Nov 2006 09:33:35 -0000	1.69
@@ -3,7 +3,7 @@
 
 Name:      scim
 Version:   1.4.5
-Release:   2%{?dist}
+Release:   3%{?dist}
 Summary:   Smart Common Input Method platform
 
 License:   LGPL
@@ -30,14 +30,17 @@
 #Requires: %{_prefix}/lib/gtk-2.0/immodules/im-scim.so
 #%%endif
 PreReq:    %{_sbindir}/alternatives
-Obsoletes: iiimf-gnome-im-switcher <= 1:12.2, iiimf-server <= 1:12.2, iiimf-x <= 1:12.2
+Obsoletes: iiimf-gtk <= 1:12.2, iiimf-gnome-im-switcher <= 1:12.2, iiimf-server <= 1:12.2, iiimf-x <= 1:12.2
 Patch1:    scim-add-restart.patch
 Patch2:    gtkimm-clear-preedit-on-reset-174143.patch
 Patch6:    scim-system-default-config.patch
+Patch7:    scim_panel_gtk-emacs-cc-style.patch
 Patch8:    initial-locale-hotkey-186861.patch
 Patch9:    scim_panel_gtk-icon-size-fixes.patch
 Patch11:   scim-1.4.5-panel-menu-fixes.patch
 Patch12:   scim-fix-unload-segfault.patch
+Patch13:   scim_panel-observe-workarea-xprop-204442.patch
+Patch14:   scim_x11_frontend-ic-focus-LTC27940-215953.patch
 
 %description
 SCIM is a user friendly and full featured input method user interface and
@@ -88,10 +91,13 @@
 %patch1 -p1 -b .1-restart
 %patch2 -p1 -b .2-reset-preedit
 %patch6 -p1 -b .6-config
+%patch7 -p1 -b .7-emacs-ccmode
 %patch8 -p1 -b .8-hotkey
 %patch9 -p1 -b .9-icon-size
 %patch11 -p1 -b .11-factory-menu
 %patch12 -p1 -b .12-unloadsegfault
+%patch13 -p1 -b .13-workarea-xprop
+%patch14 -p1 -b .14-xim-focus
 
 %if %{snapshot}
 ./bootstrap
@@ -210,6 +216,15 @@
 
 
 %changelog
+* Fri Nov 17 2006 Jens Petersen <petersen at redhat.com> - 1.4.5-3
+- add scim-panel-observe-workarea-xprop.patch to make toolbar respect desktop
+  work area (Takuro Ashie, #204442)
+- add scim_x11_frontend-ic-focus-LTC27940-215953.patch from cvs to fix XIM
+  focus preedit commit issue (#215953)
+- add scim_panel_gtk-emacs-cc-style.patch to set emacs cc-mode style for panel
+- reduce systray icon size even more to 11
+
+
 * Fri Nov 17 2006 Shawn Huang <phuang at redhat.com> - 1.4.5-2
 - add scim-fix-unload-segfault.patch to fix xim process segfaulting
   when already running (#206995)
@@ -224,7 +239,7 @@
   scim-gtkimm-underline-attrib-206397.patch,
   and scim_x11_frontend-underline-attrib-206397.patch
 - update scim-system-default-config.patch, scim_panel_gtk-icon-size-fixes.patch
-- add scim-1.4.5-panel-menu-fixes.patch to fix factory menu labelling
+- add scim-1.4.5-panel-menu-fixes.patch to fix latest factory menu labelling
 - improve scim-restart script to also handle scim-bridge (#205547)
 - obsolete iiimf-csconv (#211875)
 

scim_panel_gtk-icon-size-fixes.patch:
 scim_panel_gtk.cpp |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

Index: scim_panel_gtk-icon-size-fixes.patch
===================================================================
RCS file: /cvs/dist/rpms/scim/devel/scim_panel_gtk-icon-size-fixes.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- scim_panel_gtk-icon-size-fixes.patch	3 Nov 2006 08:46:32 -0000	1.4
+++ scim_panel_gtk-icon-size-fixes.patch	17 Nov 2006 09:33:35 -0000	1.5
@@ -5,7 +5,7 @@
  
  #define TOOLBAR_ICON_SIZE                     16 
 -#define TRAY_ICON_SIZE                        16
-+#define TRAY_ICON_SIZE                        12
++#define TRAY_ICON_SIZE                        11
  #define LOOKUP_ICON_SIZE                      12
  
  /////////////////////////////////////////////////////////////////////////////




More information about the fedora-cvs-commits mailing list