summary refs log tree commit diff
path: root/pkgs/applications/window-managers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/window-managers')
-rw-r--r--pkgs/applications/window-managers/bar/default.nix4
-rw-r--r--pkgs/applications/window-managers/bar/xft.nix26
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix8
-rw-r--r--pkgs/applications/window-managers/compiz/default.nix3
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix44
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix9
-rw-r--r--pkgs/applications/window-managers/oroborus/default.nix27
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix47
-rw-r--r--pkgs/applications/window-managers/qtile/restart_executable.patch12
-rw-r--r--pkgs/applications/window-managers/spectrwm/default.nix9
-rw-r--r--pkgs/applications/window-managers/weston/default.nix5
-rw-r--r--pkgs/applications/window-managers/wmii-hg/default.nix45
-rw-r--r--pkgs/applications/window-managers/wmii/default.nix35
-rw-r--r--pkgs/applications/window-managers/wmii31/default.nix35
-rw-r--r--pkgs/applications/window-managers/xmonad/wrapper.nix4
15 files changed, 208 insertions, 105 deletions
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix
index 46a19b90b8bb..964390d3b59b 100644
--- a/pkgs/applications/window-managers/bar/default.nix
+++ b/pkgs/applications/window-managers/bar/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, perl, libxcb }:
 
 let
-  version = "1.0";
+  version = "1.1";
 in
   stdenv.mkDerivation rec {
     name = "bar-${version}";
   
     src = fetchurl {
       url = "https://github.com/LemonBoy/bar/archive/v${version}.tar.gz";
-      sha256 = "1n2vak2acs37sslxl250cnz9c3irif5z4s54wi9qjyxbfzr2h2nc";
+      sha256 = "171ciw676cvj80zzbqfbg9nwix36zph0683zmqf279q9b9bmayan";
     };
   
     buildInputs = [ libxcb perl ];
diff --git a/pkgs/applications/window-managers/bar/xft.nix b/pkgs/applications/window-managers/bar/xft.nix
new file mode 100644
index 000000000000..c671f1a4e037
--- /dev/null
+++ b/pkgs/applications/window-managers/bar/xft.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, perl, libxcb, libXft }:
+
+let
+  version = "2015-07-23";
+in
+  stdenv.mkDerivation rec {
+    name = "bar-xft-git-${version}";
+
+    src = fetchgit {
+      url = "https://github.com/krypt-n/bar";
+      rev = "020a3e1848ce03287886e9ff80b0b443e9aed543";
+      sha256 = "1xzs37syhlwyjfxnk36qnij5bqa0mi53lf1k851viw4qai2bfkgr";
+    };
+
+    buildInputs = [ libxcb libXft perl ];
+
+    prePatch = ''sed -i "s@/usr@$out@" Makefile'';
+
+    meta = {
+      description = "A lightweight xcb based bar with XFT-support";
+      homepage = https://github.com/krypt-n/bar;
+      maintainers = [ stdenv.lib.maintainers.hiberno ];
+      license = "Custom";
+      platforms = stdenv.lib.platforms.linux;
+    };
+}
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
index c17107ae97b8..fbe7e33baadc 100644
--- a/pkgs/applications/window-managers/bspwm/default.nix
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, libxcb, libXinerama, sxhkd, xcbutil, xcbutilkeysyms, xcbutilwm }:
 
 stdenv.mkDerivation rec {
-  name = "bspwm-0.8.9";
+  name = "bspwm-0.9";
   
 
   src = fetchurl {
-    url = "https://github.com/baskerville/bspwm/archive/0.8.9.tar.gz";
-    sha256 = "750c76132914661d8d5edf7809e9b601977215d31e747dd780c60fd562913d55";
+    url = "https://github.com/baskerville/bspwm/archive/0.9.tar.gz";
+    sha256 = "1efb2db7b8a251bcc006d66a050cf66e9d311761c94890bebf91a32905042fde";
   };
 
   buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A tiling window manager based on binary space partitioning";
     homepage = http://github.com/baskerville/bspwm;
-    maintainers = [ stdenv.lib.maintainers.meisternu ];
+    maintainers = [ stdenv.lib.maintainers.meisternu stdenv.lib.maintainers.epitrochoid ];
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/window-managers/compiz/default.nix b/pkgs/applications/window-managers/compiz/default.nix
index 6b9a579a08ba..977409d0ef1e 100644
--- a/pkgs/applications/window-managers/compiz/default.nix
+++ b/pkgs/applications/window-managers/compiz/default.nix
@@ -50,6 +50,9 @@ stdenv.mkDerivation rec {
       --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages"
   '';
 
+  # automatic moving fails, perhaps due to having two $out/lib*/pkgconfig
+  dontMoveLib64 = true;
+
   meta = {
     description = "Compoziting window manager";
     homepage = "http://launchpad.net/compiz/";
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index f3d88c55c589..b1b63df574a0 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -1,35 +1,39 @@
-{ stdenv, fetchurl, gettext, libjpeg, libtiff, libungif, libpng, freetype
-, fontconfig, xlibs, automake, pkgconfig, gdk_pixbuf }:
+{ stdenv, fetchurl, cmake, gettext
+, libjpeg, libtiff, libungif, libpng, imlib, expat
+, freetype, fontconfig, pkgconfig, gdk_pixbuf
+, mkfontdir, libX11, libXft, libXext, libXinerama
+, libXrandr, libICE, libSM, libXpm, libXdmcp, libxcb
+, libpthreadstubs }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "icewm-1.3.8";
+  name = "icewm-${version}";
+  version = "1.3.10";
 
   buildInputs =
-    [ gettext libjpeg libtiff libungif libpng
-      xlibs.libX11 xlibs.libXft xlibs.libXext xlibs.libXinerama xlibs.libXrandr
-      xlibs.libICE xlibs.libSM freetype fontconfig
-      pkgconfig gdk_pixbuf
-    ];
+  [ cmake gettext libjpeg libtiff libungif libpng imlib expat
+    freetype fontconfig pkgconfig gdk_pixbuf mkfontdir libX11
+    libXft libXext libXinerama libXrandr libICE libSM libXpm
+    libXdmcp libxcb libpthreadstubs ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/icewm/${name}.tar.gz";
-    sha256 = "066d1mw0vm9ygxnyxksfi6k4vzclvnlkvj04pj3kbcmv1fg8sn0p";
+    url = "https://github.com/bbidulock/icewm/archive/${version}.tar.gz";
+    sha256 = "01i7a21gf810spmzjx32dxsmx4527qivs744rhvhaw4gr00amrns";
   };
 
-  NIX_LDFLAGS = "-lfontconfig";
-
-  # The fuloong2f is not supported by 1.3.6 still
-  #
-  # Don't know whether 1.3.7 supports fuloong2f and don't know how to test it
-  # on x86_64 hardware. So I left this 'cp' -- urkud
-
   preConfigure = ''
-    cp -v ${automake}/share/automake*/config.{sub,guess} .
+    export cmakeFlags="-DPREFIX=$out"
   '';
 
   meta = {
-    description = "A window manager for the X Window System";
+    description = "A simple, lightweight X window manager";
+    longDescription = ''
+      IceWM is a window manager for the X Window System. The goal of
+      IceWM is speed, simplicity, and not getting in the user's way.
+    '';
     homepage = http://www.icewm.org/;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index 2756525b2b02..f1369ebea7d8 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig
 , libxml2, libXinerama, libXcursor, libXau, libXrandr
-, imlib2, pango, libstartup_notification, makeWrapper}:
+, imlib2, pango, libstartup_notification, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "openbox-3.5.2";
@@ -8,8 +8,11 @@ stdenv.mkDerivation rec {
   buildInputs = [
     pkgconfig libxml2
     libXinerama libXcursor libXau libXrandr
-    imlib2 pango libstartup_notification
-    makeWrapper
+    libstartup_notification makeWrapper
+  ];
+
+  propagatedBuildInputs = [
+    pango imlib2
   ];
 
   src = fetchurl {
diff --git a/pkgs/applications/window-managers/oroborus/default.nix b/pkgs/applications/window-managers/oroborus/default.nix
new file mode 100644
index 000000000000..226b33be0603
--- /dev/null
+++ b/pkgs/applications/window-managers/oroborus/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig
+, freetype, fribidi
+, libSM, libICE, libXt, libXaw, libXmu
+, libXext, libXft, libXpm, libXrandr
+, libXrender, xextproto, libXinerama }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "oroborus-${version}";
+  version = "2.0.20";
+
+  buildInputs = [ pkgconfig freetype fribidi libSM libICE libXt libXaw libXmu libXext libXft libXpm libXrandr libXrender xextproto libXinerama ];
+
+  src = fetchurl {
+    url = "http://ftp.debian.org/debian/pool/main/o/oroborus/oroborus_${version}.tar.gz";
+    sha256 = "12bvk8x8rfnymbfbwmdcrd9g8m1zxbcq7rgvfdkjr0gnpi0aa82j";
+  };
+
+  meta = {
+    description = "A really minimalistic X window manager";
+    homepage = http://www.oroborus.org/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
new file mode 100644
index 000000000000..39d942362be1
--- /dev/null
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, buildPythonPackage, python27Packages, pkgs }:
+
+buildPythonPackage rec {
+  name = "qtile-${version}";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "qtile";
+    repo = "qtile";
+    rev = "v${version}";
+    sha256 = "1g02lvk2cqy6w6y6nw6dnsmy4i9k4fyawyibpkf0a7a1nfrd6a99";
+  };
+
+  patches = [ ./restart_executable.patch ];
+
+  postPatch = ''
+    substituteInPlace libqtile/manager.py --subst-var-by out $out
+  '';
+
+  buildInputs = [ pkgs.pkgconfig pkgs.glib pkgs.xlibs.libxcb pkgs.cairo pkgs.pango python27Packages.xcffib ];
+
+  cairocffi-xcffib = python27Packages.cairocffi.override {
+    LD_LIBRARY_PATH = "${pkgs.xlibs.libxcb}/lib:${pkgs.cairo}/lib";
+    pythonPath = [ python27Packages.xcffib ];
+  };
+
+  pythonPath = with python27Packages; [ xcffib cairocffi-xcffib trollius readline ];
+
+  LD_LIBRARY_PATH = "${pkgs.xlibs.libxcb}/lib:${pkgs.cairo}/lib";
+
+  postInstall = ''
+    wrapProgram $out/bin/qtile \
+      --prefix LD_LIBRARY_PATH : ${pkgs.xlibs.libxcb}/lib \
+      --prefix LD_LIBRARY_PATH : ${pkgs.glib}/lib \
+      --prefix LD_LIBRARY_PATH : ${pkgs.cairo}/lib \
+      --prefix LD_LIBRARY_PATH : ${pkgs.pango}/lib
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.qtile.org/;
+    license = licenses.mit;
+    description = "A small, flexible, scriptable tiling window manager written in Python";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kamilchm ];
+  };
+}
+
diff --git a/pkgs/applications/window-managers/qtile/restart_executable.patch b/pkgs/applications/window-managers/qtile/restart_executable.patch
new file mode 100644
index 000000000000..a1e74a575d9e
--- /dev/null
+++ b/pkgs/applications/window-managers/qtile/restart_executable.patch
@@ -0,0 +1,12 @@
+diff -ruP a/libqtile/manager.py b/libqtile/manager.py
+--- a/libqtile/manager.py	2015-07-26 21:26:16.947976520 +0200
++++ b/libqtile/manager.py	2015-07-26 21:37:45.581316712 +0200
+@@ -1262,7 +1262,7 @@
+         argv = [s for s in argv if not s.startswith('--with-state')]
+         argv.append('--with-state=' + buf.getvalue().decode())
+ 
+-        self.cmd_execute(sys.executable, argv)
++        self.cmd_execute("@out@/bin/qtile", argv[1:])
+ 
+     def cmd_spawn(self, cmd):
+         """
diff --git a/pkgs/applications/window-managers/spectrwm/default.nix b/pkgs/applications/window-managers/spectrwm/default.nix
index ad6fcddf5be4..39825e37f30f 100644
--- a/pkgs/applications/window-managers/spectrwm/default.nix
+++ b/pkgs/applications/window-managers/spectrwm/default.nix
@@ -15,13 +15,14 @@
 
 stdenv.mkDerivation rec {
   name = "spectrwm-${version}";
-  version = "2.6.2";
+  version = "2.7.2";
 
   src = fetchurl {
-    url = "https://github.com/conformal/spectrwm/archive/SPECTRWM_2_6_2.tar.gz";
-    sha256 = "1pc9p3vwa4bsv76myqkqhp4cxspr72s5igi7cs9xrpd4xx6xc90s";
+    url = "https://github.com/conformal/spectrwm/archive/SPECTRWM_2_7_2.tar.gz";
+    sha256 = "1yssqnhxlfl1b60gziqp8c5pzs1lr8p6anrnp9ga1zfdql3b7993";
   };
 
+
   buildInputs = [
     libX11
     libxcb
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
     xcbutilwm
   ];
 
-  sourceRoot = "spectrwm-SPECTRWM_2_6_2/linux";
+  sourceRoot = "spectrwm-SPECTRWM_2_7_2/linux";
   makeFlags="PREFIX=$(out)";
   installPhase = "PREFIX=$out make install";
 
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 9b88400ef535..d270d3a2b1d6 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -6,11 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "weston-${wayland.version}";
+  name = "weston-${version}";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "1kb6a494j56sh7iy43xwkjlr3bh0nnkq4bkimwj6qirzbya12i8w";
+    sha256 = "04nkbbdglh0pqznxkdqvak3pc53jmz24d0658bn5r0cf6agycqw9";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/window-managers/wmii-hg/default.nix b/pkgs/applications/window-managers/wmii-hg/default.nix
new file mode 100644
index 000000000000..a7d492a05dc8
--- /dev/null
+++ b/pkgs/applications/window-managers/wmii-hg/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchhg, pkgconfig, libixp_hg, txt2tags, dash, python
+, libX11 , libXrender, libXext, libXinerama, libXrandr, libXft }:
+
+stdenv.mkDerivation rec {
+  rev = "2823";
+  version = "hg-2012-12-09";
+  name = "wmii-${version}";
+
+  src = fetchhg {
+    url = https://code.google.com/p/wmii/;
+    sha256 = "1wqw41jb2fhq902a04ixfzmx0lia1pawahm1ymyrs3is6mm32r51";
+    inherit rev;
+  };
+
+  # for dlopen-ing
+  patchPhase = ''
+    substituteInPlace lib/libstuff/x11/xft.c --replace "libXft.so" "${libXft}/lib/libXft.so"
+  '';
+
+  configurePhase = ''
+    for file in $(grep -lr '#!.*sh'); do
+      sed -i 's|#!.*sh|#!${dash}/bin/dash|' $file
+    done
+
+    cat <<EOF >> config.mk
+    PREFIX = $out
+    LIBIXP = ${libixp_hg}/lib/libixp.a
+    BINSH = ${dash}/bin/dash
+    EOF
+  '';
+
+  buildInputs = [ pkgconfig libixp_hg txt2tags dash python
+                  libX11 libXrender libXext libXinerama libXrandr libXft ];
+
+  # For some reason including mercurial in buildInputs did not help
+  makeFlags = "WMII_HGVERSION=hg${rev}";
+
+  meta = {
+    homepage = "https://code.google.com/p/wmii/";
+    description = "A small window manager controlled by a 9P filesystem";
+    maintainers = with stdenv.lib.maintainers; [ kovirobi ];
+    license = stdenv.lib.licenses.mit;
+    inherit version;
+  };
+}
diff --git a/pkgs/applications/window-managers/wmii/default.nix b/pkgs/applications/window-managers/wmii/default.nix
deleted file mode 100644
index e8ecc72a6d30..000000000000
--- a/pkgs/applications/window-managers/wmii/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-args: with args; stdenv.mkDerivation {
-  name = "wmii-3.6";
-
-  src = fetchurl {
-    url = http://dl.suckless.org/wmii/wmii-3.6.tar.gz;
-    sha256 = "46f39b788c5ef4695040b36cc7d9c539db0306bafc4d8cefdc5980ed4331b216";
-  };
-
-  buildInputs = [ libX11 libixp xextproto libXt libXext ];
-  inherit libixp;
-
-  phases = "unpackPhase installPhase";
-
-  installPhase = "
-     for i in libfmt libutf libregexp libbio; do
-       cd $i; make; cd ..
-     done
-     mkdir -p \$out/lib
-     cp ${libixp}/lib/libixp.a \$out/lib
-     export CFLAGS=\$NIX_CFLAGS_COMPILE
-     export LDFLAGS\=$(echo \$NIX_LDFLAGS | sed -e 's/-rpath/-L/g')
-     sed -i -e \"s%^PREFIX.*%PREFIX=\$out%\" \\
-            -e \"s%^\\(INCS.*\\)%\\1 \$NIX_CFLAGS_COMPILE%\" \\
-            -e \"s%^\\(LIBS.*\\)%\\1 \$LDFLAGS%\" \\
-            -e 's%^\\(AWKPATH = \\).*%\\1${gawk}/bin/gawk%' \\
-            config.mk
-     # don't use the default one installed by nixos!
-     #sed -i -e \"s%ixpc%\$libixp/bin/ixpc%\" wmiir
-     make install
-  ";
-  meta = { homepage = "www.suckless.org";
-           description = "a really cool window manager which can by driven by keyboard only";
-           license = stdenv.lib.licenses.mit;
-         };
-}
diff --git a/pkgs/applications/window-managers/wmii31/default.nix b/pkgs/applications/window-managers/wmii31/default.nix
deleted file mode 100644
index 568be30f1c52..000000000000
--- a/pkgs/applications/window-managers/wmii31/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-args: with args; stdenv.mkDerivation {
-  name = "wmiimenu-3.1";
-
-  src = fetchurl {
-    url = http://dl.suckless.org/wmii/wmii-3.1.tar.gz;
-    sha256 = "0sviwxbanpsfdm55zvx9hflncw35slkz41xr517y3yfgxx6qlhlk";
-  };
-
-  buildInputs = [ libX11 libixp ];
-  inherit libixp;
- 
-  phases = "unpackPhase installPhase";
-
-  installPhase = "
-     export CFLAGS=\$NIX_CFLAGS_COMPILE
-     export LDFLAGS\=$(echo \$NIX_LDFLAGS | sed -e 's/-rpath/-L/g')
-     sed -i -e \"s%^PREFIX.*%PREFIX=\$out%\" \\
-            -e \"s%^\\(INCS.*\\)%\\1 \$NIX_CFLAGS_COMPILE%\" \\
-            -e \"s%^\\(LIBS.*\\)%\\1 \$LDFLAGS%\" \\
-            config.mk
-     # don't use the default one installed by nixos!
-     # sed -i -e \"s%ixpc%\$libixp/bin/ixpc%\" wmiir
-
-     # This will fail but wmiimenu has been built (hack!)
-     set +e
-     make &> /dev/null
-     set -e
-     mkdir -p \$out/bin
-     cp cmd/wmiimenu \$out/bin
-  ";
-  meta = { homepage = "www.suckless.org";
-           description = "One small tool of the wmii window manger to let the user select an item from a list by filtering";
-           license = stdenv.lib.licenses.mit;
-         };
-}
diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix
index cb02a214d5bb..e8dc0b1fdac7 100644
--- a/pkgs/applications/window-managers/xmonad/wrapper.nix
+++ b/pkgs/applications/window-managers/xmonad/wrapper.nix
@@ -13,4 +13,8 @@ in stdenv.mkDerivation {
       --set NIX_GHC "${xmonadEnv}/bin/ghc" \
       --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage"
   '';
+
+  # trivial derivation
+  preferLocalBuild = true;
+  allowSubstitutes = false;
 }