diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
commit | 415856bdd4f48ab4f2732996f0bae58595092bbe (patch) | |
tree | ede2018b591f6dfb477fe9341ba17b9bc000fab9 /community/gsynaptics |
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community/gsynaptics')
-rw-r--r-- | community/gsynaptics/PKGBUILD | 32 | ||||
-rw-r--r-- | community/gsynaptics/build-filename.dpatch | 20 | ||||
-rw-r--r-- | community/gsynaptics/do-not-set-zero.dpatch | 189 | ||||
-rw-r--r-- | community/gsynaptics/dot-fixes.dpatch | 73 | ||||
-rw-r--r-- | community/gsynaptics/gsynaptics.install | 16 |
5 files changed, 330 insertions, 0 deletions
diff --git a/community/gsynaptics/PKGBUILD b/community/gsynaptics/PKGBUILD new file mode 100644 index 000000000..af8b8cc81 --- /dev/null +++ b/community/gsynaptics/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 248 2009-07-21 09:55:45Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgname=gsynaptics +pkgver=0.9.16 +pkgrel=1 +pkgdesc="A settings tool for Synaptics touchpad driver" +arch=(i686 x86_64) +url="http://gsynaptics.sourceforge.jp" +license=("GPL") +depends=('libgnomeui' 'synaptics') +makedepends=('intltool' 'gettext' 'gnome-doc-utils') +install=$pkgname.install +source=(http://globalbase.dl.sourceforge.jp/gsynaptics/38463/gsynaptics-$pkgver.tar.gz \ + do-not-set-zero.dpatch \ + dot-fixes.dpatch \ + build-filename.dpatch) +md5sums=('571828ddca2f1d9d6ea47e072db1959d' + 'd6308d93fd4d04c686ba24422ed99905' + '4c35d5d0803296233d50146963a0bcbc' + '11011a651f143103614fb69dd5aa77a1') + +build() { + cd $startdir/src/gsynaptics-$pkgver + patch -p1 <$srcdir/dot-fixes.dpatch + patch -p1 <$srcdir/do-not-set-zero.dpatch + patch -p1 <$srcdir/build-filename.dpatch + ./configure --prefix=/usr + make || return 1 + make DESTDIR=$startdir/pkg install +} diff --git a/community/gsynaptics/build-filename.dpatch b/community/gsynaptics/build-filename.dpatch new file mode 100644 index 000000000..c48689533 --- /dev/null +++ b/community/gsynaptics/build-filename.dpatch @@ -0,0 +1,20 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## build-filename.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: https://sourceforge.jp/tracker/index.php?func=detail&aid=12568&group_id=1720&atid=6435 +## DP: Missing terminating NULL for g_build_filename call. + +@DPATCH@ +diff -urNad gsynaptics-0.9.14~/src/main.c gsynaptics-0.9.14/src/main.c +--- gsynaptics-0.9.14~/src/main.c 2008-02-28 23:27:28.000000000 +0100 ++++ gsynaptics-0.9.14/src/main.c 2008-05-17 08:34:04.000000000 +0200 +@@ -690,7 +690,7 @@ + + gtk_window_set_default_size (GTK_WINDOW (widget), 400, -1); + +- path = g_build_filename (DATADIR "/pixmaps", "touchpad.png"); ++ path = g_build_filename (DATADIR, "pixmaps", "touchpad.png", NULL); + if (path) + { + icon_pixbuf = gdk_pixbuf_new_from_file (path, NULL); diff --git a/community/gsynaptics/do-not-set-zero.dpatch b/community/gsynaptics/do-not-set-zero.dpatch new file mode 100644 index 000000000..f3a4aee72 --- /dev/null +++ b/community/gsynaptics/do-not-set-zero.dpatch @@ -0,0 +1,189 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## do-not-set-zero.dpatch by Michal Čihař <nijel@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Do not set to 0 when some keys are not defined. +## DP: Debian bug #480744. +## DP: Forwarded to https://sourceforge.jp/tracker/index.php?func=detail&aid=12545&group_id=1720&atid=6435 + +@DPATCH@ +diff -urNad gsynaptics-0.9.14~/src/init.c gsynaptics-0.9.14/src/init.c +--- gsynaptics-0.9.14~/src/init.c 2008-02-28 23:27:41.000000000 +0100 ++++ gsynaptics-0.9.14/src/init.c 2008-05-17 09:14:12.000000000 +0200 +@@ -36,63 +36,148 @@ + { + gboolean b_value; + gint i_value; ++ GConfValue *gval = NULL; + + if (!gconf_client_dir_exists (gconf, DIRNAME, NULL)) + return; + + /* touchpad on/off */ +- b_value = gconf_client_get_bool (gconf, OFF_KEY, NULL); +- g_synaptics_set_enabled (synaptics, b_value ? 1 : 0); ++ gval = gconf_client_get (gconf, OFF_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_BOOL) { ++ b_value = gconf_value_get_bool(gval); ++ g_synaptics_set_enabled (synaptics, b_value ? 1 : 0); ++ } ++ gconf_value_free(gval); ++ } + + /* vertical scroll delta */ +- i_value = gconf_client_get_int (gconf, VERTSCROLLDELTA_KEY, NULL); +- g_synaptics_set_vertical_scroll_delta (synaptics, i_value); ++ gval = gconf_client_get (gconf, VERTSCROLLDELTA_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_vertical_scroll_delta (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + /* horizontal scroll delta */ +- i_value = gconf_client_get_int (gconf, HORIZSCROLLDELTA_KEY, NULL); +- g_synaptics_set_horizontal_scroll_delta (synaptics, i_value); ++ gval = gconf_client_get (gconf, HORIZSCROLLDELTA_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_horizontal_scroll_delta (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + /* circular scroll */ +- i_value = gconf_client_get_int (gconf, CIRCSCROLLDELTA_KEY, NULL); +- b_value = gconf_client_get_bool (gconf, CIRCULARSCROLLING_KEY, NULL); +- g_synaptics_set_circular_scroll_delta (synaptics, i_value); +- g_synaptics_set_circular_scroll_enabled (synaptics, b_value); ++ gval = gconf_client_get (gconf, CIRCSCROLLDELTA_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_circular_scroll_delta (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } ++ gval = gconf_client_get (gconf, CIRCULARSCROLLING_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_BOOL) { ++ b_value = gconf_value_get_bool(gval); ++ g_synaptics_set_circular_scroll_enabled (synaptics, b_value); ++ } ++ gconf_value_free(gval); ++ } + /* the trigger of circular scrolling */ +- i_value = gconf_client_get_int (gconf, CIRCSCROLLTRIGGER_KEY, NULL); +- g_synaptics_set_circular_scroll_trigger (synaptics, i_value); ++ gval = gconf_client_get (gconf, CIRCSCROLLTRIGGER_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_circular_scroll_trigger (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + + /* tapping time */ +- i_value = gconf_client_get_int (gconf, MAXTAPTIME_KEY, NULL); +- g_synaptics_set_tap_time (synaptics, i_value); ++ gval = gconf_client_get (gconf, MAXTAPTIME_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_tap_time (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + /* fast taps */ +- b_value = gconf_client_get_bool (gconf, FASTTAPS_KEY, NULL); +- g_synaptics_set_fast_taps (synaptics, b_value); ++ gval = gconf_client_get (gconf, FASTTAPS_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_BOOL) { ++ b_value = gconf_value_get_bool(gval); ++ g_synaptics_set_fast_taps (synaptics, b_value); ++ } ++ gconf_value_free(gval); ++ } + + /* sensitivity */ +- i_value = gconf_client_get_int (gconf, SENSITIVITY_KEY, NULL); +- g_synaptics_set_sensitivity (synaptics, i_value); ++ gval = gconf_client_get (gconf, SENSITIVITY_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_sensitivity (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + /* coasting */ +- b_value = gconf_client_get_bool (gconf, COASTENABLE_KEY, NULL); +- g_synaptics_set_coasting_enabled (synaptics, b_value); ++ gval = gconf_client_get (gconf, COASTENABLE_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_BOOL) { ++ b_value = gconf_value_get_bool(gval); ++ g_synaptics_set_coasting_enabled (synaptics, b_value); ++ } ++ gconf_value_free(gval); ++ } + + /* edge motion */ +- b_value = gconf_client_get_bool (gconf, EDGEMOTIONUSEALWAYS_KEY, NULL); +- g_synaptics_set_edge_motion_enabled (synaptics, b_value); ++ gval = gconf_client_get (gconf, EDGEMOTIONUSEALWAYS_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_BOOL) { ++ b_value = gconf_value_get_bool(gval); ++ g_synaptics_set_edge_motion_enabled (synaptics, b_value); ++ } ++ gconf_value_free(gval); ++ } + + /* min speed */ +- i_value = gconf_client_get_int (gconf, MINSPEED_KEY, NULL); +- g_synaptics_set_min_speed (synaptics, i_value); ++ gval = gconf_client_get (gconf, MINSPEED_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_min_speed (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + /* max speed */ +- i_value = gconf_client_get_int (gconf, MAXSPEED_KEY, NULL); +- g_synaptics_set_max_speed (synaptics, i_value); ++ gval = gconf_client_get (gconf, MAXSPEED_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_max_speed (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + /* accel factor */ +- i_value = gconf_client_get_int (gconf, ACCELFACTOR_KEY, NULL); +- g_synaptics_set_accel_factor (synaptics, i_value); ++ gval = gconf_client_get (gconf, ACCELFACTOR_KEY, NULL); ++ if (gval != NULL) { ++ if (gval->type == GCONF_VALUE_INT) { ++ i_value = gconf_value_get_int(gval); ++ g_synaptics_set_accel_factor (synaptics, i_value); ++ } ++ gconf_value_free(gval); ++ } + + } + diff --git a/community/gsynaptics/dot-fixes.dpatch b/community/gsynaptics/dot-fixes.dpatch new file mode 100644 index 000000000..ec8e06fcd --- /dev/null +++ b/community/gsynaptics/dot-fixes.dpatch @@ -0,0 +1,73 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## dot-fixces.dpatch by Unknown +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix format strings to always use . as decimal separator, see +## DP: https://sourceforge.jp/tracker/index.php?func=detail&aid=12498&group_id=1720&atid=6435 +## DP: Forwarded to https://sourceforge.jp/tracker/index.php?func=detail&aid=12544&group_id=1720&atid=6435 + +@DPATCH@ +diff -urNad gsynaptics-0.9.14~/src/gsynaptics.c gsynaptics-0.9.14/src/gsynaptics.c +--- gsynaptics-0.9.14~/src/gsynaptics.c 2008-02-28 23:21:17.000000000 +0100 ++++ gsynaptics-0.9.14/src/gsynaptics.c 2008-05-17 08:36:54.000000000 +0200 +@@ -713,8 +713,9 @@ + if (priv->synclient) + { + gchar *command; +- command = g_strdup_printf ("synclient AccelFactor=%f", +- (gdouble)value / 1000); ++ char strval[G_ASCII_DTOSTR_BUF_SIZE]; ++ g_ascii_dtostr(strval, sizeof(strval), (gdouble)value / 1000); ++ command = g_strdup_printf ("synclient AccelFactor=%s", strval); + g_spawn_command_line_async (command, NULL); + g_free (command); + } +@@ -734,8 +735,9 @@ + if (priv->synclient) + { + gchar *command; +- command = g_strdup_printf ("synclient MaxSpeed=%f", +- (gdouble)value / 1000); ++ char strval[G_ASCII_DTOSTR_BUF_SIZE]; ++ g_ascii_dtostr(strval, sizeof(strval), (gdouble)value / 1000); ++ command = g_strdup_printf ("synclient MaxSpeed=%s", strval); + g_spawn_command_line_async (command, NULL); + g_free (command); + } +@@ -755,8 +757,9 @@ + if (priv->synclient) + { + gchar *command; +- command = g_strdup_printf ("synclient MinSpeed=%f", +- (gdouble)value / 1000); ++ char strval[G_ASCII_DTOSTR_BUF_SIZE]; ++ g_ascii_dtostr(strval, sizeof(strval), (gdouble)value / 1000); ++ command = g_strdup_printf ("synclient MinSpeed=%s", strval); + g_spawn_command_line_async (command, NULL); + g_free (command); + } +@@ -822,8 +825,10 @@ + if (priv->synclient) + { + gchar *command; +- command = g_strdup_printf ("synclient CoastingSpeedThreshold=%f", +- thresh); ++ char strval[G_ASCII_DTOSTR_BUF_SIZE]; ++ g_ascii_dtostr(strval, sizeof(strval), thresh); ++ command = g_strdup_printf ("synclient CoastingSpeed=%s", ++ strval); + g_spawn_command_line_async (command, NULL); + g_free (command); + } +@@ -843,8 +848,9 @@ + if (priv->synclient) + { + gchar *command; +- command = g_strdup_printf ("synclient CircScrollDelta=%f", +- (gdouble)delta / 1000); ++ char strval[G_ASCII_DTOSTR_BUF_SIZE]; ++ g_ascii_dtostr(strval, sizeof(strval), (gdouble)delta / 1000); ++ command = g_strdup_printf ("synclient CircScrollDelta=%s", strval); + g_spawn_command_line_async (command, NULL); + g_free (command); + } diff --git a/community/gsynaptics/gsynaptics.install b/community/gsynaptics/gsynaptics.install new file mode 100644 index 000000000..a0f279ee6 --- /dev/null +++ b/community/gsynaptics/gsynaptics.install @@ -0,0 +1,16 @@ +post_install() { +cat << EOF +>>> +>>> This tool can only be used if "SHMConfig" "true" is set +>>> in the synaptics section in your xorg.conf +>>> +>>> Also have gsynaptics-init start with gnome by going to +>>> [Desktop] - [Preferences] - [Sessions] - [Startup Programs] +>>> Non-GNOME users can start it with their .xinitrc or .xsession +>>> +EOF +} + +op=$1 +shift +$op $* |