about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/xfce/applications/mousepad-12134.patch90
-rw-r--r--pkgs/desktops/xfce/applications/mousepad.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-light-locker.patch17
-rw-r--r--pkgs/desktops/xfce/default.nix11
4 files changed, 109 insertions, 11 deletions
diff --git a/pkgs/desktops/xfce/applications/mousepad-12134.patch b/pkgs/desktops/xfce/applications/mousepad-12134.patch
new file mode 100644
index 000000000000..74a28ecf61af
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/mousepad-12134.patch
@@ -0,0 +1,90 @@
+diff -urNZ a/mousepad/mousepad-action-group.c b/mousepad/mousepad-action-group.c
+--- a/mousepad/mousepad-action-group.c	2014-09-01 20:50:07.000000000 +0000
++++ b/mousepad/mousepad-action-group.c	2017-12-18 16:57:46.836538403 +0000
+@@ -302,11 +302,6 @@
+   gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
+   self->locked = FALSE;
+ 
+-  /* update the setting when the active action is changed */
+-  self->locked = TRUE;
+-  MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, gtk_source_style_scheme_get_id (scheme));
+-  self->locked = FALSE;
+-
+   g_object_notify (G_OBJECT (self), "active-style-scheme");
+ }
+ 
+@@ -473,6 +468,8 @@
+ mousepad_action_group_style_scheme_action_activate (MousepadActionGroup       *self,
+                                                     MousepadStyleSchemeAction *action)
+ {
++  const gchar *scheme_name = NULL;
++
+   /* only update the active action if we're not already in the process of
+    * setting it and the sender action is actually active */
+   if (! self->locked &&
+@@ -481,7 +478,14 @@
+       GtkSourceStyleScheme *scheme;
+ 
+       scheme = mousepad_style_scheme_action_get_style_scheme (action);
+-      mousepad_action_group_set_active_style_scheme (self, scheme);
++
++      /* update the setting when the active action is changed */
++      if (scheme != NULL)
++        scheme_name = gtk_source_style_scheme_get_id(scheme);
++
++      self->locked = TRUE;
++      MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, scheme_name);
++      self->locked = FALSE;
+     }
+ }
+ 
+diff -urNZ a/mousepad/mousepad-window.c b/mousepad/mousepad-window.c
+--- a/mousepad/mousepad-window.c	2014-09-01 20:58:02.000000000 +0000
++++ b/mousepad/mousepad-window.c	2017-12-18 17:07:51.099321408 +0000
+@@ -712,32 +712,6 @@
+ 
+ 
+ static void
+-mousepad_window_action_group_style_scheme_changed (MousepadWindow      *window,
+-                                                   GParamSpec          *pspec,
+-                                                   MousepadActionGroup *group)
+-{
+-  GtkSourceStyleScheme *scheme;
+-  const gchar          *scheme_id;
+-  gint                  npages, i;
+-
+-  /* get the new active language */
+-  scheme = mousepad_action_group_get_active_style_scheme (group);
+-  scheme_id = gtk_source_style_scheme_get_id (scheme);
+-
+-  /* update the color scheme on all the documents */
+-  npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (window->notebook));
+-  for (i = 0; i < npages; i++)
+-    {
+-      MousepadDocument *document;
+-
+-      document = MOUSEPAD_DOCUMENT (gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->notebook), i));
+-      mousepad_view_set_color_scheme (document->textview, scheme_id);
+-    }
+-}
+-
+-
+-
+-static void
+ mousepad_window_create_style_schemes_menu (MousepadWindow *window)
+ {
+   GtkWidget           *menu, *item;
+@@ -751,13 +725,6 @@
+   gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
+   gtk_widget_show_all (menu);
+   gtk_widget_show (item);
+-  
+-  /* watch for activations of the style schemes actions */
+-  g_signal_connect_object (window->action_group,
+-                           "notify::active-style-scheme",
+-                           G_CALLBACK (mousepad_window_action_group_style_scheme_changed),
+-                           window,
+-                           G_CONNECT_SWAPPED);
+ }
+ 
+ 
diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix
index c15ab310f47b..a2b91aaaa79e 100644
--- a/pkgs/desktops/xfce/applications/mousepad.nix
+++ b/pkgs/desktops/xfce/applications/mousepad.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
+  patches = [ ./mousepad-12134.patch ];
+
   buildInputs =
     [ pkgconfig intltool libxfce4util
       gtk gtksourceview dbus dbus_glib makeWrapper
diff --git a/pkgs/desktops/xfce/core/xfce4-light-locker.patch b/pkgs/desktops/xfce/core/xfce4-light-locker.patch
index 4e1dcc1efa71..0fabdffd7ed6 100644
--- a/pkgs/desktops/xfce/core/xfce4-light-locker.patch
+++ b/pkgs/desktops/xfce/core/xfce4-light-locker.patch
@@ -1,16 +1,25 @@
 --- ./scripts/xflock4.orig	2017-08-06 23:05:53.807688995 +0100
 +++ ./scripts/xflock4	2017-08-06 23:09:06.171789989 +0100
-@@ -24,10 +24,11 @@
+@@ -24,12 +24,19 @
  PATH=/bin:/usr/bin
  export PATH
-
+ 
 -# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
-+# Lock by xscreensaver, gnome-screensaver or light-locker, if a respective daemon is running
++# First test for the command set in the session's xfconf channel
++LOCK_CMD=$(xfconf-query -c xfce4-session -p /general/LockCommand)
++
++# Lock by xscreensaver, gnome-screensaver, or light-locker, if a respective daemon is running
  for lock_cmd in \
++    "$LOCK_CMD" \
      "xscreensaver-command -lock" \
 -    "gnome-screensaver-command --lock"
 +    "gnome-screensaver-command --lock" \
 +    "light-locker-command -l"
  do
-     $lock_cmd >/dev/null 2>&1 && exit
+-    $lock_cmd >/dev/null 2>&1 && exit
++    if [ ! -z "$lock_cmd" ]; then
++        $lock_cmd >/dev/null 2>&1 && exit
++    fi
  done
+ 
+ # else run another access locking utility, if installed
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 6fa9c991dbd9..b18f3466770a 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -58,17 +58,14 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   parole          = callPackage ./applications/parole.nix { };
   ristretto       = callPackage ./applications/ristretto.nix { };
   terminal        = xfce4terminal; # it has changed its name
-  xfce4mixer      = callPackage ./applications/xfce4-mixer.nix {
-    pulseaudioSupport = config.pulseaudio or false;
-  };
+  xfce4mixer      = callPackage ./applications/xfce4-mixer.nix { };
+  xfce4mixer_pulse = callPackage ./applications/xfce4-mixer.nix { pulseaudioSupport = true; };
   xfce4notifyd    = callPackage ./applications/xfce4-notifyd.nix { };
   xfce4taskmanager= callPackage ./applications/xfce4-taskmanager.nix { };
   xfce4terminal   = callPackage ./applications/terminal.nix { };
   xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter.nix { };
-  xfce4volumed    = let
-    gst = callPackage ./applications/xfce4-volumed.nix { };
-    pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
-  in if config.pulseaudio or false then pulse else gst;
+  xfce4volumed    = callPackage ./applications/xfce4-volumed.nix { };
+  xfce4volumed_pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
 
   #### ART                  from "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"