about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/desktops/gnome-2.28/desktop/vte/cursor.patch33
-rw-r--r--pkgs/desktops/gnome-2.28/desktop/vte/default.nix11
2 files changed, 42 insertions, 2 deletions
diff --git a/pkgs/desktops/gnome-2.28/desktop/vte/cursor.patch b/pkgs/desktops/gnome-2.28/desktop/vte/cursor.patch
new file mode 100644
index 000000000000..c152f6b656a0
--- /dev/null
+++ b/pkgs/desktops/gnome-2.28/desktop/vte/cursor.patch
@@ -0,0 +1,33 @@
+Fix invisible cursor in xfce's terminal.
+
+http://bugzilla.xfce.org/show_bug.cgi?id=6423
+http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/vte/current/SOURCES/vte-0.25.1-cursor.patch?view=markup&pathrev=565638
+
+diff -p -up vte-0.25.1/src/vte.c.cursor vte-0.25.1/src/vte.c
+--- vte-0.25.1/src/vte.c.cursor	2010-05-03 05:28:46.000000000 -0300
++++ vte-0.25.1/src/vte.c	2010-08-03 14:06:29.000000000 -0300
+@@ -8752,6 +8752,10 @@ vte_terminal_determine_colors(VteTermina
+ 	if (highlight && !cursor && terminal->pvt->highlight_color_set) {
+ 		*fore = cell ? cell->attr.fore : VTE_DEF_FG;
+ 		*back = VTE_DEF_HL;
++	} else
++	if (reverse ^ ((cell != NULL) && (cell->attr.reverse))) {
++		*fore = cell ? cell->attr.back : VTE_DEF_BG;
++		*back = cell ? cell->attr.fore : VTE_DEF_FG;
+ 	} else {
+ 		*fore = cell ? cell->attr.fore : VTE_DEF_FG;
+ 		*back = cell ? cell->attr.back : VTE_DEF_BG;
+@@ -8782,13 +8786,6 @@ vte_terminal_determine_colors(VteTermina
+ 		}
+ 	}
+ 
+-	if (reverse ^ ((cell != NULL) && (cell->attr.reverse))) {
+-	  int tmp;
+-	  tmp = *fore;
+-	  *fore = *back;
+-	  *back = tmp;
+-	}
+-
+ 	if (!cursor && cell && cell->attr.invisible) {
+ 		*fore = *back;
+ 	}
diff --git a/pkgs/desktops/gnome-2.28/desktop/vte/default.nix b/pkgs/desktops/gnome-2.28/desktop/vte/default.nix
index b0f72ca7bbf8..b7d93622c7d6 100644
--- a/pkgs/desktops/gnome-2.28/desktop/vte/default.nix
+++ b/pkgs/desktops/gnome-2.28/desktop/vte/default.nix
@@ -1,16 +1,23 @@
-{ stdenv, fetchurl, intltool, pkgconfig, glib, gtk, ncurses,
-  pythonSupport ? false, python}:
+{ stdenv, fetchurl, intltool, pkgconfig, glib, gtk, ncurses
+, pythonSupport ? false, python}:
+
 stdenv.mkDerivation rec {
   name = "vte-0.25.1";
+  
   src = fetchurl {
     url = "http://ftp.gnome.org/pub/gnome/sources/vte/0.25/${name}.tar.bz2";
     sha256 = "105f5ifyg09nh5p6fw2w7c0n9wd8vw9cvwlh6zg49ibsar893qi5";
   };
+
+  patches = [ ./cursor.patch ];
+  
   buildInputs = [ intltool pkgconfig glib gtk ncurses ] ++
                 stdenv.lib.optional pythonSupport python;
+                
   configureFlags = ''
     ${if pythonSupport then "--enable-python" else "--disable-python"}
   '';
+  
   meta = {
     homepage = http://www.gnome.org/;
     description = "A library implementing a terminal emulator widget for GTK+";