about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/window-managers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
-rw-r--r--nixpkgs/pkgs/applications/window-managers/bspwm/unstable.nix31
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwl/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix26
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix26
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix9
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/wsr.nix33
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sawfish/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch38
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/wsr.nix33
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix29
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix2
26 files changed, 307 insertions, 152 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/bspwm/unstable.nix b/nixpkgs/pkgs/applications/window-managers/bspwm/unstable.nix
deleted file mode 100644
index 937184483405..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/bspwm/unstable.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub, libxcb, libXinerama, xcbutil, xcbutilkeysyms, xcbutilwm }:
-
-stdenv.mkDerivation {
-  name = "bspwm-unstable-2016-09-30";
-
-
-  src = fetchFromGitHub {
-    owner   = "baskerville";
-    repo    = "bspwm";
-    rev     = "8664c007e44de162c1597fd7e163635b274fb747";
-    sha256  = "0clvpz32z38i8kr10hqlifa661szpfn93c63m2aq2h4dwmr44slz";
-  };
-
-  buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
-
-  buildPhase = ''
-    make PREFIX=$out
-  '';
-
-  installPhase = ''
-    make PREFIX=$out install
-  '';
-
-  meta = {
-    description = "A tiling window manager based on binary space partitioning (git version)";
-    homepage = "https://github.com/baskerville/bspwm";
-    maintainers = [ lib.maintainers.meisternu lib.maintainers.epitrochoid ];
-    license = lib.licenses.bsd2;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
index a4e5d7f70282..93ac815346e4 100644
--- a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cagebreak";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "project-repo";
     repo = "cagebreak";
     rev = version;
-    hash = "sha256-P6zBVQEv+fKdverNIXhoEavu51uGKbSHx3Sh5FWsc2E=";
+    hash = "sha256-F7fqDVbJS6pVgmj6C1/l9PAaz5yzcYpaq6oc6a6v/Qk=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ];
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dxwayland=${lib.boolToString withXwayland}"
     "-Dversion_override=${version}"
+    "-Dman-pages=true"
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/cwm/default.nix b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
index 69c9cc1c37cb..24c595081573 100644
--- a/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, yacc, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, bison, pkg-config }:
 
 stdenv.mkDerivation rec {
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libX11 libXinerama libXrandr libXft yacc ];
+  buildInputs = [ libX11 libXinerama libXrandr libXft bison ];
 
   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
 
diff --git a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
index 9a56f865c348..d8f102ed7675 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix
@@ -2,6 +2,7 @@
 , lib
 , fetchFromGitHub
 , pkg-config
+, libinput
 , libxcb
 , libxkbcommon
 , wayland
@@ -11,31 +12,55 @@
 , patches ? [ ]
 , conf ? null
 , writeText
+, fetchpatch
 }:
 
+let
+  # Add two patches to fix compile errors with wlroots 0.13:
+  totalPatches = patches ++ [
+    # Fix the renamed constant WLR_KEY_PRESSED => WL_KEYBOARD_KEY_STATE_PRESSED
+    # https://github.com/djpohly/dwl/pull/66
+    (fetchpatch {
+      url = "https://github.com/djpohly/dwl/commit/a42613db9d9f6debfa4fb2363d75af9457d238ed.patch";
+      sha256 = "0h76hx1fhazi07gqg7sljh13f91v6bvjy7m9qqmimhvqgfwdcc0j";
+    })
+    # Use the new signature for wlr_backend_autocreate, which removes an argument:
+    # https://github.com/djpohly/dwl/pull/76
+    (fetchpatch {
+      url = "https://github.com/djpohly/dwl/commit/0ff13cf216056a36a261f4eed53c6a864989a9fb.patch";
+      sha256 = "18clpdb4il1vxf1b0cx0qrwild68s9dism8ab66zpmvxs5qag2dm";
+    })
+  ];
+in
+
 stdenv.mkDerivation rec {
   pname = "dwl";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "djpohly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "QoKaeF5DbSX0xciwc/0VKpubn/001cJjoZ+UzVDX4qE=";
+    sha256 = "gUaFTkpIQDswEubllMgvxPfCaEYFO7mODzjPyW7XsGQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
+    libinput
     libxcb
     libxkbcommon
     wayland
     wayland-protocols
     wlroots
-  ] ++ lib.optionals enable-xwayland [ xwayland libX11 ];
+  ] ++ lib.optionals enable-xwayland [
+    libX11
+    xwayland
+  ];
 
   # Allow users to set their own list of patches
-  inherit patches;
+  patches = totalPatches;
 
+  # Last line of config.mk enables XWayland
   prePatch = lib.optionalString enable-xwayland ''
     sed -i -e '$ s|^#||' config.mk
   '';
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
index d419b0ebe3a8..e32cd38ec2d4 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -1,10 +1,10 @@
 { lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkg-config, xorg
 , enableAlsaUtils ? true, alsaUtils, coreutils
-, enableNetwork ? true, dnsutils, iproute, wirelesstools }:
+, enableNetwork ? true, dnsutils, iproute2, wirelesstools }:
 
 let
   bins = lib.optionals enableAlsaUtils [ alsaUtils coreutils ]
-    ++ lib.optionals enableNetwork [ dnsutils iproute wirelesstools ];
+    ++ lib.optionals enableNetwork [ dnsutils iproute2 wirelesstools ];
 in
 
 rustPlatform.buildRustPackage rec {
diff --git a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix
index ad45f01915da..ce0b40c0bb76 100644
--- a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix
@@ -1,44 +1,42 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, asciidoc
+{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, freetype, asciidoc
 , xdotool, xorgserver, xsetroot, xterm, runtimeShell
 , nixosTests }:
 
-# Doc generation is disabled by default when cross compiling because asciidoc
-# dependency is broken when cross compiling for now
-
-let
-  cross = stdenv.buildPlatform != stdenv.targetPlatform;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "herbstluftwm";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz";
-    sha256 = "0r4qaklv97qcq8p0pnz4f2zqg69vfai6c2qi1ydi2kz24xqjf5hy";
+    sha256 = "0avfhr68f6fjnafjdcyxcx7dkg38f2nadmhpj971qyqzfq2f6i38";
   };
 
   outputs = [
     "out"
-    "doc" # share/doc exists with examples even without generated html documentation
-  ] ++ lib.optionals (!cross) [
+    "doc"
     "man"
   ];
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_SYSCONF_PREFIX=${placeholder "out"}/etc"
-  ] ++ lib.optional cross "-DWITH_DOCUMENTATION=OFF";
+  ];
 
   nativeBuildInputs = [
     cmake
     pkg-config
-    python3
-  ] ++ lib.optional (!cross) asciidoc;
+  ];
+
+  depsBuildBuild = [
+    asciidoc
+  ];
 
   buildInputs = [
     libX11
     libXext
     libXinerama
     libXrandr
+    libXft
+    freetype
   ];
 
   patches = [
@@ -75,6 +73,9 @@ in stdenv.mkDerivation rec {
   '';
 
   pytestFlagsArray = [ "../tests" ];
+  disabledTests = [
+    "test_title_different_letters_are_drawn"
+  ];
 
   passthru = {
     tests.herbstluftwm = nixosTests.herbstluftwm;
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix b/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix
new file mode 100644
index 000000000000..d24715aa9804
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "i3-auto-layout";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "chmln";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ps08lga6qkgc8cgf5cx2lgwlqcnd2yazphh9xd2fznnzrllfxxz";
+  };
+
+  cargoSha256 = "1ch5mh515rlqmr65x96xcvrx6iaigqgjxc7sbwbznzkc5kmvwhc0";
+
+  # Currently no tests are implemented, so we avoid building the package twice
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Automatic, optimal tiling for i3wm";
+    homepage = "https://github.com/chmln/i3-auto-layout";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mephistophiles ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
index 9c97c72ad5df..df774aa417f3 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, lib, stdenv, perl, makeWrapper
-, iproute, acpi, sysstat, alsaUtils
+, iproute2, acpi, sysstat, alsaUtils
 , scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
               "load_average" "memory" "volume" "wifi" ]
 }:
@@ -30,13 +30,13 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/libexec/i3blocks/bandwidth \
-      --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)}
+      --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute2)}
     wrapProgram $out/libexec/i3blocks/battery \
       --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)}
     wrapProgram $out/libexec/i3blocks/cpu_usage \
       --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)}
     wrapProgram $out/libexec/i3blocks/iface \
-      --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)}
+      --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute2)}
     wrapProgram $out/libexec/i3blocks/volume \
       --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)}
   '';
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/default.nix b/nixpkgs/pkgs/applications/window-managers/i3/default.nix
index d05b187ca78a..305c1d728f34 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "i3";
-  version = "4.19";
+  version = "4.19.2";
 
   src = fetchurl {
     url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
-    sha256 = "0wjq6lkidg0g474xsln1fhbxci7zclq3748sda10f1n7q01qp95c";
+    sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix b/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix
new file mode 100644
index 000000000000..35751da8172d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "i3-ratiosplit";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "333fred";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yfmr5zk2c2il9d31yjjbr48sqgcq6hp4a99hl5mjm2ajyhy5bz3";
+  };
+
+  cargoSha256 = "0d5qd1wid5l1pl3ckrlfgdb980myi5gxcir39caywb9pkbnfndz6";
+
+  # Currently no tests are implemented, so we avoid building the package twice
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Resize newly created windows";
+    homepage = "https://github.com/333fred/i3-ratiosplit";
+    license = licenses.mit;
+    maintainers = with maintainers; [ svrana ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
index 6f22070dbc86..3581e4749431 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-color.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.13.c.1";
+  version = "2.13.c.2";
   pname = "i3lock-color";
 
   src = fetchFromGitHub {
     owner = "PandorasFox";
     repo = "i3lock-color";
     rev = version;
-    sha256 = "sha256-E+ejc26eyCJ0PnMpDgQrouaBIaUH0SWlzB08fQs8lDw=";
+    sha256 = "sha256-cMj1uB2Hf7v5Rukw9c5YeUmwbdTn1+PV13bUaOWzBp0=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index be7e88a25019..88d035bce661 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -6,25 +6,26 @@
 , dbus
 , libpulseaudio
 , notmuch
+, openssl
 , ethtool
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.14.3";
+  version = "0.14.7";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1k9dgmd4wz9950kr35da31rhph43gmvg8dif7hg1xw41xch6bi60";
+    sha256 = "1ndqh4bzwim32n8psgsgdd47xmlb45rhvcwla1wm506byb21nk4c";
   };
 
-  cargoSha256 = "0qqkcgl9iz4kxl1a2vv2p7vy7wxn970y28jynf3n7hfp16i3liy2";
+  cargoSha256 = "098dzwqwbhcyswm73m880z0w03i7xrq56x79vfyvacw4k27q2zm9";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
-  buildInputs = [ dbus libpulseaudio notmuch ];
+  buildInputs = [ dbus libpulseaudio notmuch openssl ];
 
   cargoBuildFlags = [
     "--features=notmuch"
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix b/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix
new file mode 100644
index 000000000000..97da815b5d7b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/i3/wsr.nix
@@ -0,0 +1,33 @@
+{ lib, fetchFromGitHub, rustPlatform, libxcb, python3 }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "i3wsr";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "roosta";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1zpyncg29y8cv5nw0vgd69nywbj1ppxf6qfm4zc6zz0gk0vxy4pn";
+  };
+
+  cargoSha256 = "0snys419d32anf73jcvrq8h9kp1fq0maqcxz6ww04yg2jv6j47nc";
+
+  nativeBuildInputs = [ python3 ];
+  buildInputs = [ libxcb ];
+
+  # has not tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Automatically change i3 workspace names based on their contents";
+    longDescription = ''
+      Automatically sets the workspace names to match the windows on the workspace.
+      The chosen name for a workspace is a user-defined composite of the WM_CLASS X11
+      window property for each window in a workspace.
+    '';
+    homepage = "https://github.com/roosta/i3wsr";
+    license = licenses.mit;
+    maintainers = [ maintainers.sebbadk ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index 571c13e94619..8f1a920296ae 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
 , pkg-config
-, perl
 , asciidoc
 , expat
 , fontconfig
@@ -34,21 +34,26 @@
 , libxcb
 , mkfontdir
 , pcre
+, perl
 }:
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner  = "bbidulock";
     repo = pname;
     rev = version;
-    sha256 = "sha256-n9mLD1WrHsO9W1rxopFQENxQEHp/sxuixV3PxLp2vOY=";
+    hash = "sha256-STM8t311lf0xIqs2Onmwg48xgE7V9VZrUfJrUzYRxL4=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config perl asciidoc ];
-
+  nativeBuildInputs = [
+    asciidoc
+    cmake
+    perl
+    pkg-config
+  ];
   buildInputs = [
     expat
     fontconfig
@@ -90,6 +95,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    homepage = "https://www.ice-wm.org/";
     description = "A simple, lightweight X window manager";
     longDescription = ''
       IceWM is a window manager for the X Window System. The goal of IceWM is
@@ -104,8 +110,7 @@ stdenv.mkDerivation rec {
       includes an optional external background wallpaper manager with
       transparency support, a simple session manager and a system tray.
     '';
-    homepage = "https://www.ice-wm.org/";
-    license = licenses.lgpl2;
+    license = licenses.lgpl2Only;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
index 9d39bd537fde..c82eb76f6bf9 100644
--- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
@@ -8,7 +8,6 @@
 , glib
 , libinput
 , libxml2
-, pandoc
 , pango
 , wayland
 , wayland-protocols
@@ -16,20 +15,22 @@
 , libxcb
 , libxkbcommon
 , xwayland
+, libdrm
+, scdoc
 }:
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "unstable-2021-02-06";
+  version = "unstable-2021-03-15";
 
   src = fetchFromGitHub {
     owner = "johanmalm";
     repo = pname;
-    rev = "4a8fcf5c6d0b730b1e2e17e544ce7d7d3c72cd13";
-    sha256 = "g1ba8dchUN393eis0VAu1bIjQfthDGLaSijSavz4lfU=";
+    rev = "fddeb74527e5b860d9c1a91a237d390041c758b6";
+    sha256 = "0rhniv5j4bypqxxj0nbpa3hclmn8znal9rldv0mrgbizn3wsbs54";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja pandoc ];
+  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [
     cairo
     glib
@@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
     libxcb
     libxkbcommon
     xwayland
+    libdrm
   ];
 
   mesonFlags = [ "-Dxwayland=enabled" ];
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index 72170401d793..bab0439bf8bc 100644
--- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
@@ -17,7 +17,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-j57LHPU3U3ipUGQDrZ8KCuELOVJ3BxhLXsJePOO6rTM=";
 
-  buildInputs = [ makeWrapper libX11 libXinerama ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ libX11 libXinerama ];
 
   postInstall = ''
     wrapProgram $out/bin/leftwm --prefix LD_LIBRARY_PATH : "${rpath}"
@@ -31,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mschneider ];
+    changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG";
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix b/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix
index 7615c6c4bd80..cb76f0c465cc 100644
--- a/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sawfish/default.nix
@@ -1,20 +1,23 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
-, pkg-config
-, which
 , autoreconfHook
-, rep-gtk
-, pango
 , gdk-pixbuf-xlib
-, imlib
 , gettext
-, texinfo
+, gtk2
+, imlib
+, libICE
+, libSM
 , libXinerama
 , libXrandr
 , libXtst
-, libICE
-, libSM
+, librep
 , makeWrapper
+, pango
+, pkg-config
+, rep-gtk
+, texinfo
+, which
 }:
 
 stdenv.mkDerivation rec {
@@ -26,20 +29,42 @@ stdenv.mkDerivation rec {
     sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ which
-    rep-gtk pango gdk-pixbuf-xlib imlib gettext texinfo
-    libXinerama libXrandr libXtst libICE libSM
-    makeWrapper ];
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    librep
+    makeWrapper
+    pkg-config
+    texinfo
+    which
+  ];
+  buildInputs = [
+    gdk-pixbuf-xlib
+    gtk2
+    imlib
+    libICE
+    libSM
+    libXinerama
+    libXrandr
+    libXtst
+    librep
+    pango
+    rep-gtk
+  ];
 
-  patchPhase = ''
+  postPatch = ''
     sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in
     sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in
   '';
 
+  strictDeps = true;
+
   postInstall = ''
-    for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about \
-             $out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do
+    for i in $out/lib/sawfish/sawfish-menu \
+             $out/bin/sawfish-about \
+             $out/bin/sawfish-client \
+             $out/bin/sawfish-config \
+             $out/bin/sawfish; do
       wrapProgram $i \
         --prefix REP_DL_LOAD_PATH : "$out/lib/rep" \
         --set REP_LOAD_PATH "$out/share/sawfish/lisp"
@@ -47,16 +72,17 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    homepage = "http://sawfish.tuxfamily.org/";
     description = "An extensible, Lisp-based window manager";
     longDescription = ''
-      Sawfish is an extensible window manager using a Lisp-based scripting language.
-      Its policy is very minimal compared to most window managers. Its aim is simply
-      to manage windows in the most flexible and attractive manner possible.
-      All high-level WM functions are implemented in Lisp for future extensibility
-      or redefinition.
+      Sawfish is an extensible window manager using a Lisp-based scripting
+      language. Its policy is very minimal compared to most window managers. Its
+      aim is simply to manage windows in the most flexible and attractive manner
+      possible. All high-level WM functions are implemented in Lisp for future
+      extensibility or redefinition.
     '';
-    homepage = "https://sawfish.fandom.com/wiki/Main_Page";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.AndersonTorres ];
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
index b9565fc23a41..76a135c2dcc1 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, substituteAll, swaybg
 , meson, ninja, pkg-config, wayland, scdoc
 , libxkbcommon, pcre, json_c, libevdev, pango, cairo, libinput, librsvg
-, wlroots, wayland-protocols
+, wlroots, wayland-protocols, libdrm
 
 , gdkPixbufSupport ? true, gdk-pixbuf
 , xwaylandSupport ? !(lib.elem "-Dxwayland=disabled" (wlroots.mesonFlags or []))
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sway-unwrapped";
-  version = "1.5.1";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "1xsa3h8zhf29p0mi90baxpr76jkd9pd1gr97ky8cnjbcs4isj9j0";
+    sha256 = "0vnplva11yafhbijrk68wy7pw0psn9jm0caaymswq1s951xsn1c8";
   };
 
   patches = [
@@ -34,11 +34,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     wayland libxkbcommon pcre json_c libevdev pango cairo libinput librsvg
-    wlroots wayland-protocols
+    wlroots wayland-protocols libdrm
   ] ++ lib.optional gdkPixbufSupport gdk-pixbuf;
 
-  mesonFlags = [ "-Ddefault-wallpaper=false" ]
-    ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled"
+  mesonFlags = [
+    "-Ddefault-wallpaper=false"
+    "-Dsd-bus-provider=libsystemd"
+  ] ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled"
     ++ lib.optional xwaylandSupport "-Dxwayland=enabled";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch b/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch
index 26a3d40d66cb..46a170abc04a 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch
+++ b/nixpkgs/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch
@@ -1,22 +1,26 @@
-From 26f9c65ef037892977a824f0d7d7111066856b53 Mon Sep 17 00:00:00 2001
-From: Michael Weiss <dev.primeos@gmail.com>
-Date: Sat, 27 Apr 2019 14:26:16 +0200
+From 92283df3acbffa5c1bb21f23cdd686113d905114 Mon Sep 17 00:00:00 2001
+From: Patrick Hilhorst <git@hilhorst.be>
+Date: Wed, 31 Mar 2021 21:14:13 +0200
 Subject: [PATCH] Load configs from /etc but fallback to /nix/store
 
 This change will load all configuration files from /etc, to make it easy
 to override them, but fallback to /nix/store/.../etc/sway/config to make
 Sway work out-of-the-box with the default configuration on non NixOS
 systems.
+
+Original patch by Michael Weiss, updated for Sway 1.6 by Patrick Hilhorst
+
+Co-authored-by: Michael Weiss <dev.primeos@gmail.com>
 ---
  meson.build   | 3 ++-
- sway/config.c | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
+ sway/config.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 02b5d606..c03a9c0f 100644
+index b7a29660..8ae8ceb3 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -129,7 +129,8 @@ if scdoc.found()
+@@ -164,7 +164,8 @@ if scdoc.found()
  	endforeach
  endif
  
@@ -25,18 +29,20 @@ index 02b5d606..c03a9c0f 100644
 +add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
  
  version = '"@0@"'.format(meson.project_version())
- if git.found()
+ git = find_program('git', native: true, required: false)
 diff --git a/sway/config.c b/sway/config.c
-index 4cd21bbc..dd855753 100644
+index 76b9ec08..fb5b51aa 100644
 --- a/sway/config.c
 +++ b/sway/config.c
-@@ -317,6 +317,7 @@ static char *get_config_path(void) {
- 		"$XDG_CONFIG_HOME/i3/config",
- 		SYSCONFDIR "/sway/config",
- 		SYSCONFDIR "/i3/config",
-+		NIX_SYSCONFDIR "/sway/config",
+@@ -374,7 +374,8 @@ static char *get_config_path(void) {
+ 		{ .prefix = home, .config_folder = ".i3"},
+ 		{ .prefix = config_home, .config_folder = "i3"},
+ 		{ .prefix = SYSCONFDIR, .config_folder = "sway"},
+-		{ .prefix = SYSCONFDIR, .config_folder = "i3"}
++		{ .prefix = SYSCONFDIR, .config_folder = "i3"},
++		{ .prefix = NIX_SYSCONFDIR, .config_folder = "sway"},
  	};
  
- 	char *config_home = getenv("XDG_CONFIG_HOME");
+ 	size_t num_config_paths = sizeof(config_paths)/sizeof(config_paths[0]);
 -- 
-2.19.2
+2.30.1
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix b/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix
new file mode 100644
index 000000000000..15bf977f8fd9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/sway/wsr.nix
@@ -0,0 +1,33 @@
+{ lib, fetchFromGitHub, rustPlatform, libxcb, python3 }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "swaywsr";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "pedroscaff";
+    repo = pname;
+    rev = "6c4671c702f647395d983aaf607286db1c692db6";
+    sha256 = "0bmpbhyvgnbi5baj6v0wdxpdh9cnlzvcc44vh3vihmzsp6i5q05a";
+  };
+
+  cargoSha256 = "15wa03279lflr16a6kw7zcn3nvalnjydk9g6nj7xqxmc7zkpf0rm";
+
+  nativeBuildInputs = [ python3 ];
+  buildInputs = [ libxcb ];
+
+  # has not tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Automatically change sway workspace names based on their contents";
+    longDescription = ''
+      Automatically sets the workspace names to match the windows on the workspace.
+      The chosen name for a workspace is a composite of the app_id or WM_CLASS X11
+      window property for each window in a workspace.
+    '';
+    homepage = "https://github.com/pedroscaff/swaywsr";
+    license = licenses.mit;
+    maintainers = [ maintainers.sebbadk ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix
index 6c22227c0c51..a77d3f8bf5d8 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/applications.nix
@@ -1,23 +1,20 @@
-{ newScope, wayfirePlugins }:
+{ lib, newScope, wayfirePlugins }:
 
-let
-  self = with self; {
-    inherit wayfirePlugins;
+lib.makeExtensible (self: with self; {
+  inherit wayfirePlugins;
 
-    callPackage = newScope self;
+  callPackage = newScope self;
 
-    wayfire = callPackage ./. { };
+  wayfire = callPackage ./. { };
 
-    wcm = callPackage ./wcm.nix {
-      inherit (wayfirePlugins) wf-shell;
-    };
+  wcm = callPackage ./wcm.nix {
+    inherit (wayfirePlugins) wf-shell;
+  };
 
-    wrapWayfireApplication = callPackage ./wrapper.nix { };
+  wrapWayfireApplication = callPackage ./wrapper.nix { };
 
-    withPlugins = selector: self // {
-      wayfire = wrapWayfireApplication wayfire selector;
-      wcm = wrapWayfireApplication wcm selector;
-    };
+  withPlugins = selector: self // {
+    wayfire = wrapWayfireApplication wayfire selector;
+    wcm = wrapWayfireApplication wcm selector;
   };
-in
-self
+})
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix
index d6ac6aeb84e7..9d524019ad5f 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wcm.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, wrapGAppsHook
-, gnome3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell
+, gtk3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja pkg-config wayland wrapGAppsHook ];
   buildInputs = [
-    gnome3.gtk libevdev libxml2 wayfire wayland
+    gtk3 libevdev libxml2 wayfire wayland
     wayland-protocols wf-config wf-shell
   ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
index 3948e9a32abc..cc99e79fca8d 100644
--- a/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wayfire/wf-shell.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, git
-, alsaLib, gnome3, gtk-layer-shell, pulseaudio, wayfire, wf-config
+, alsaLib, gtkmm3, gtk-layer-shell, pulseaudio, wayfire, wf-config
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
   buildInputs = [
-    alsaLib gnome3.gtkmm gtk-layer-shell pulseaudio wayfire wf-config
+    alsaLib gtkmm3 gtk-layer-shell pulseaudio wayfire wf-config
   ];
 
   mesonFlags = [ "--sysconfdir" "/etc" ];
diff --git a/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix b/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
index e427a85d0386..c201c55dcea5 100644
--- a/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
+++ b/nixpkgs/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       --replace "/usr/bin/install" "install"
   '';
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   preInstall = ''
     runHook preInstall
diff --git a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
index b78b7c015703..0acad8edbe59 100644
--- a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix
@@ -29,8 +29,8 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ unzip libixp_hg txt2tags dash python which
+  nativeBuildInputs = [ pkg-config unzip ];
+  buildInputs = [ libixp_hg txt2tags dash python which
                   libX11 libXrender libXext libXinerama libXrandr libXft ];
 
   # For some reason including mercurial in buildInputs did not help
diff --git a/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
index ebabcf196d5b..830242667db6 100644
--- a/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/kalj/xmonad-log-applet";
     license = licenses.bsd3;
-    broken = desktopSupport == "gnomeflashback";
+    broken = desktopSupport == "gnomeflashback" || desktopSupport == "xfce4";
     description = "An applet that will display XMonad log information (${desktopSupport} version)";
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];