diff options
author | root <root@rshg054.dnsready.net> | 2011-08-08 23:14:38 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-08-08 23:14:38 +0000 |
commit | 2b6f5a28e2e55b46c1169228e1e56f3b18dd08b5 (patch) | |
tree | ebd7dccec211af75c9dfd55560b3e5f61420b784 /extra/scim | |
parent | 665308e50fd95e984da057ab8ddb6505b596b841 (diff) |
Mon Aug 8 23:14:38 UTC 2011
Diffstat (limited to 'extra/scim')
-rw-r--r-- | extra/scim/PKGBUILD | 21 | ||||
-rw-r--r-- | extra/scim/wtf.patch | 93 |
2 files changed, 105 insertions, 9 deletions
diff --git a/extra/scim/PKGBUILD b/extra/scim/PKGBUILD index e9755aada..f8d96e585 100644 --- a/extra/scim/PKGBUILD +++ b/extra/scim/PKGBUILD @@ -1,26 +1,29 @@ -# $Id: PKGBUILD 125359 2011-05-26 09:22:50Z bisson $ +# $Id: PKGBUILD 134853 2011-08-08 03:28:47Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: damir <damir@archlinux.org> # Contributor: Gan Lu <rhythm.gan@gmail.com> pkgname=scim -pkgver=1.4.10 +pkgver=1.4.11 pkgrel=1 pkgdesc='Input method user interface and development platform' url='http://www.scim-im.org/projects/scim' license=('GPL') arch=('i686' 'x86_64') -depends=('gtk2' 'gcc-libs') +options=('!libtool') makedepends=('intltool') +depends=('gtk2' 'libtool') backup=('etc/scim/config' 'etc/scim/global') -options=('!libtool') -source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/${pkgname}_$pkgver.tar.gz") -sha1sums=('bf33a6ceb199453fed909a61f54e971653fe5abf') +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz" + 'wtf.patch') +sha1sums=('dd93094f62e5707db88d4f0e7ebd3392ae75b942' + '14d2be6c8f9f4af6494c3e806d3cadef5803597a') install=install build() { - cd "$srcdir/$pkgname-$pkgver" + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../wtf.patch # revert broken commit 303 ./bootstrap ./configure \ @@ -34,7 +37,7 @@ build() { } package() { - cd "$srcdir/$pkgname-$pkgver" + cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="$pkgdir" install + make DESTDIR="${pkgdir}" install } diff --git a/extra/scim/wtf.patch b/extra/scim/wtf.patch new file mode 100644 index 000000000..c0e5ab078 --- /dev/null +++ b/extra/scim/wtf.patch @@ -0,0 +1,93 @@ +diff -aur old/extras/panel/scim_panel_gtk.cpp new/extras/panel/scim_panel_gtk.cpp +--- old/extras/panel/scim_panel_gtk.cpp 2011-08-04 13:21:29.000000000 -0700 ++++ new/extras/panel/scim_panel_gtk.cpp 2011-08-07 16:11:12.977663776 -0700 +@@ -479,12 +479,12 @@ + + static bool _should_exit = false; + ++static bool _panel_is_on = false; + +-static struct timeval _last_menu_deactivate_time = {0, 0}; ++static GThread *_panel_agent_thread = 0; ++ ++static PanelAgent *_panel_agent = 0; + +-// client repository +-static PropertyRepository _frontend_property_repository; +-static HelperPropertyRepository _helper_property_repository; + static std::vector<String> _factory_menu_uuids; + + static std::list<String> _recent_factory_uuids; +@@ -1187,16 +1187,16 @@ + + GtkRequisition ws; + gint pos_x, pos_y; ++ ++ gtk_widget_size_request (_toolbar_window, &ws); ++ ++ 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; +- 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) { +@@ -1215,6 +1215,10 @@ + else if (pos_y < 0) + pos_y = 0; + ++ if (_toolbar_window_x != pos_x || _toolbar_window_y != pos_y || force) { ++ gtk_window_move (GTK_WINDOW (_toolbar_window), pos_x, pos_y); ++ _toolbar_window_x = pos_x; ++ _toolbar_window_y = pos_y; + } + } + +@@ -1227,9 +1231,9 @@ + #endif + return gdk_screen_width (); + } +- return gdk_screen_get_width (_current_screen); +-#endif +- return gdk_screen_width (); ++ ++static int ++ui_screen_height (void) + { + #if GDK_MULTIHEAD_SAFE + if (_current_screen) +@@ -1237,10 +1241,6 @@ + #endif + return gdk_screen_height (); + } +- return gdk_screen_get_height (_current_screen); +-#endif +- return gdk_screen_height (); +-} + + static void + ui_get_workarea (int &x, int &y, int &width, int &height) +@@ -1929,11 +1929,11 @@ + static gulong motion_handler; + GdkCursor *cursor; + +- if (!_config.null () && +- (_toolbar_window_x != pos_x || _toolbar_window_y != pos_y)) { +- _config->write ( +- SCIM_CONFIG_PANEL_GTK_TOOLBAR_POS_X, pos_x); +- _config->write ( ++ if (click_type == 0 && event->button <= 1) { ++ if (_toolbar_window_draging) ++ return FALSE; ++ ++ // Connection pointer motion handler to this window. + motion_handler = g_signal_connect (G_OBJECT (window), "motion-notify-event", + G_CALLBACK (ui_toolbar_window_motion_cb), + NULL); |