about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/window-managers
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-03-15 10:36:38 +0000
committerAlyssa Ross <hi@alyssa.is>2022-03-16 11:37:19 +0000
commitd435710923ac6e6f9fc155534800745004f2ce93 (patch)
tree386f9401476f96bdc6ec25173a090198942b5d5b /nixpkgs/pkgs/applications/window-managers
parentc725f0011e91ae49d351b981690eb66b862b6104 (diff)
parent3239fd2b8f728106491154b44625662e10259af2 (diff)
downloadnixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.gz
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.bz2
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.lz
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.xz
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.zst
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.zip
Merge commit '3239fd2b8f728106491154b44625662e10259af2'
Conflicts:
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
-rw-r--r--nixpkgs/pkgs/applications/window-managers/berry/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/swallow.nix44
-rw-r--r--nixpkgs/pkgs/applications/window-managers/icewm/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/window-managers/jwm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch29
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/bg.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/idle.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/lock.nix9
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix3
14 files changed, 101 insertions, 76 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/berry/default.nix b/nixpkgs/pkgs/applications/window-managers/berry/default.nix
index 23aa8ff8201e..f6ba52013f6f 100644
--- a/nixpkgs/pkgs/applications/window-managers/berry/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/berry/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "berry";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchFromGitHub {
     owner = "JLErvin";
     repo = pname;
     rev = version;
-    hash = "sha256-E1kjqSv2eylJ/9EGcxQrJ2P7VaehyUiirk0TxlPWSnM=";
+    hash = "sha256-6asph0QXzhmHuYcfrLcQ8RTP4QzX8m6AcCp5ImA++9M=";
   };
 
   nativeBuildInputs = [
@@ -50,11 +50,12 @@ stdenv.mkDerivation rec {
       comment = meta.description;
       desktopName = "Berry Window Manager";
       genericName = "Berry Window Manager";
-      categories = "Utility;";
+      categories = [ "Utility" ];
     })
   ];
 
   meta = with lib; {
+    homepage = "https://berrywm.org/";
     description = "A healthy, bite-sized window manager";
     longDescription = ''
       berry is a healthy, bite-sized window manager written in C for unix
@@ -69,11 +70,8 @@ stdenv.mkDerivation rec {
       - Intuitively place new windows in unoccupied spaces.
       - Virtual desktops.
     '';
-    homepage = "https://berrywm.org/";
     license = licenses.mit;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
-# TODO: report upstream that `which` is not POSIX; the `command` shell builtin
-# should be used instead
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix b/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix
index 4647f0a07217..f3c2e13fbdcb 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/balance-workspace.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "i3-balance-workspace";
-  version = "1.8.5";
+  version = "1.8.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b5d72b756f79878a058484825bb343b100433e00a01f80c9c6d1ccc9f4af57a";
+    sha256 = "sha256-zJdn/Q6r60FQgfehtQfeDkmN0Rz3ZaqgNhiWvjyQFy0=";
   };
 
   propagatedBuildInputs = [ i3ipc ];
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index da04da4e9eae..cdcfcca15eae 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.21.5";
+  version = "0.21.6";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0maPT1NdWFkSupU6CL2cFd6hlZ2BMxAOK6f3rQbfFA8=";
+    sha256 = "sha256-2PBGw5LHIOOPXBZ+12wL2ZGH+gfbkXNIItpE6SLT8so=";
   };
 
-  cargoSha256 = "sha256-QUecTmw8pWqrTdcstbXoFf53dFfwFN51tQ7ngUzkyV0=";
+  cargoSha256 = "sha256-wtxfdQw5zKCxYu7N2BpcLVTlitQmwY7s8oO4dpK8MjE=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
@@ -56,7 +56,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Very resource-friendly and feature-rich replacement for i3status";
     homepage = "https://github.com/greshake/i3status-rust";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ backuitist globin ma27 ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/swallow.nix b/nixpkgs/pkgs/applications/window-managers/i3/swallow.nix
new file mode 100644
index 000000000000..31101721e4c4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/i3/swallow.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, poetry-core
+, i3ipc
+, xlib
+, six
+}:
+
+buildPythonApplication rec {
+  pname = "i3-swallow";
+  version = "unstable-2022-02-19";
+
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "jamesofarrell";
+    repo = "i3-swallow";
+    rev = "6fbc04645c483fe733de56b56743e453693d4c78";
+    sha256 = "1l3x8mixwq4n0lnyp0wz5vijgnypamq6lqjazcd2ywl2jv8d6fif";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    i3ipc
+    xlib
+    six
+  ];
+
+  # No tests available
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/jamesofarrell/i3-swallow";
+    description = "Swallow a terminal window in i3wm";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    mainProgram = "swallow";
+    maintainers = [ maintainers.ivar ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
index deac4bed6079..75cb96f27f4a 100644
--- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.9.4";
+  version = "2.9.6";
 
   src = fetchFromGitHub {
-    owner  = "ice-wm";
+    owner = "ice-wm";
     repo = pname;
     rev = version;
-    hash = "sha256-ne2lqo9CAhGgC8dd9R03zhFXy9nPBQR0NcfAY0DeVj4=";
+    hash = "sha256-qC8gEVJ/cmsEbF8jMzv7zyvVcjlbXhgHU3ixe7RLcnA=";
   };
 
   nativeBuildInputs = [
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
     perl
     pkg-config
   ];
+
   buildInputs = [
     expat
     fontconfig
@@ -108,11 +109,11 @@ stdenv.mkDerivation rec {
       system. Application windows can be managed by keyboard and mouse. Windows
       can be iconified to the taskbar, to the tray, to the desktop or be made
       hidden. They are controllable by a quick switch window (Alt+Tab) and in a
-      window list. A handful of configurable focus models are
-      menu-selectable. Setups with multiple monitors are supported by RandR and
-      Xinerama. IceWM is very configurable, themeable and well documented. It
-      includes an optional external background wallpaper manager with
-      transparency support, a simple session manager and a system tray.
+      window list. A handful of configurable focus models are menu-selectable.
+      Setups with multiple monitors are supported by RandR and Xinerama. IceWM
+      is very configurable, themeable and well documented. It includes an
+      optional external background wallpaper manager with transparency support,
+      a simple session manager and a system tray.
     '';
     license = licenses.lgpl2Only;
     maintainers = [ maintainers.AndersonTorres ];
diff --git a/nixpkgs/pkgs/applications/window-managers/jwm/default.nix b/nixpkgs/pkgs/applications/window-managers/jwm/default.nix
index 2c9461d6388b..8a9b72265b99 100644
--- a/nixpkgs/pkgs/applications/window-managers/jwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/jwm/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jwm";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "joewing";
     repo = "jwm";
     rev = "v${version}";
-    sha256 = "19fnrlw05njib13ljh7pmi48myfclra1xhy4b6hi74c6w6yz2fgj";
+    sha256 = "sha256-7CEL2ddlABM7SYjMVUs3pu0O+2cVsz04slsdUIbgZuM=";
   };
 
   nativeBuildInputs = [ pkg-config gettext which autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
index 580fd29faa04..f58b71ef03ad 100644
--- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix
@@ -21,20 +21,15 @@
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "labwc";
     repo = pname;
     rev = version;
-    hash = "sha256-O9jVDR7UROt5u8inUsZjbzB3dQTosiLYqXkeOyGrbaM=";
+    hash = "sha256-G0EQuXSHftl4JLXKIro+tmhbApwAhlzcjPEL7DP6LHk=";
   };
 
-  patches = [
-    # Required to fix the build with wlroots 0.15.1:
-    ./relax-the-version-constraint-for-wlroots.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -64,6 +59,6 @@ stdenv.mkDerivation rec {
     description = "A Wayland stacking compositor, similar to Openbox";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    inherit (wayland.meta) platforms;
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch b/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
deleted file mode 100644
index 9a790f285164..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 21d8bfcf7899f5ec50b29f523ace4c19cbfbe919 Mon Sep 17 00:00:00 2001
-From: Michael Weiss <dev.primeos@gmail.com>
-Date: Fri, 4 Feb 2022 21:17:05 +0100
-Subject: [PATCH] build: Relax the version constraint for wlroots to accept
- patch releases
-
-Patch releases only contain backwards compatible changes (mainly bug
-fixes) so we want to allow them. This fixes the build with the recently
-released wlroots 0.15.1 and uses the same version constraints as other
-projects that depend on wlroots (e.g., Sway).
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index f950b8e..1905dda 100644
---- a/meson.build
-+++ b/meson.build
-@@ -37,7 +37,7 @@ if git.found()
- endif
- add_project_arguments('-DLABWC_VERSION=@0@'.format(version), language: 'c')
-
--wlroots_version = ['=0.15.0']
-+wlroots_version = ['>=0.15.0', '<0.16.0']
- wlroots_proj = subproject(
-   'wlroots',
-   default_options: ['default_library=static', 'examples=false'],
---
-2.34.1
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index c4a33628e131..4a48225d8013 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -69,4 +69,7 @@ in
   name = "${unwrapped.pname}-${unwrapped.version}";
   # export underlying qtile package
   passthru = { inherit unwrapped; };
+
+  # restore original qtile attrs
+  inherit (unwrapped) pname version meta;
 })
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
index 6d91d8c8f46c..e98adefa4476 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swaybg";
-  version = "1.1";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swaybg";
     rev = "v${version}";
-    sha256 = "17508q9wsw6c1lsxlcbxj74z2naqhwi5c7lkbq24m4lk8qmy0576";
+    hash = "sha256-Lt/hn/K+CjcmU3Bs5wChiZq0VGNcraH4tSVYsmYnKjc=";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
index 5a98a38664d8..0503b0c76e5e 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
@@ -8,8 +8,19 @@
 , isNixOS ? false
 
 , enableXWayland ? true
+, systemdSupport ? stdenv.isLinux
+, dbusSupport ? true
+, dbus
+, trayEnabled ? systemdSupport && dbusSupport
 }:
 
+# The "sd-bus-provider" meson option does not include a "none" option,
+# but it is silently ignored iff "-Dtray=disabled".  We use "basu"
+# (which is not in nixpkgs) instead of "none" to alert us if this
+# changes: https://github.com/swaywm/sway/issues/6843#issuecomment-1047288761
+assert trayEnabled -> systemdSupport && dbusSupport;
+let sd-bus-provider = if systemdSupport then "libsystemd" else "basu"; in
+
 stdenv.mkDerivation rec {
   pname = "sway-unwrapped";
   version = "1.7";
@@ -50,12 +61,16 @@ stdenv.mkDerivation rec {
     wayland libxkbcommon pcre json_c libevdev pango cairo libinput librsvg
     wayland-protocols libdrm
     (wlroots.override { inherit enableXWayland; })
-  ] ++ lib.optional gdkPixbufSupport gdk-pixbuf;
+  ] ++ lib.optional gdkPixbufSupport gdk-pixbuf
+    ++ lib.optionals dbusSupport [
+    dbus
+  ];
 
-  mesonFlags = [
-    "-Dsd-bus-provider=libsystemd"
-  ] ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled"
+  mesonFlags =
+    [ "-Dsd-bus-provider=${sd-bus-provider}" ]
+    ++ lib.optional gdkPixbufSupport "-Dgdk-pixbuf=enabled"
     ++ lib.optional (!enableXWayland) "-Dxwayland=disabled"
+    ++ lib.optional (!trayEnabled)    "-Dtray=disabled"
   ;
 
   passthru.tests.basic = nixosTests.sway;
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
index fd424e3074a7..0928fbcfb4ef 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchFromGitHub
 , meson, ninja, pkg-config, scdoc, wayland-scanner
-, wayland, wayland-protocols, systemd
+, wayland, wayland-protocols
+, systemdSupport ? stdenv.isLinux, systemd
 }:
 
 stdenv.mkDerivation rec {
@@ -15,9 +16,10 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
-  buildInputs = [ wayland wayland-protocols systemd ];
+  buildInputs = [ wayland wayland-protocols ]
+                ++ lib.optionals systemdSupport [ systemd ];
 
-  mesonFlags = [ "-Dman-pages=enabled" "-Dlogind=enabled" ];
+  mesonFlags = [ "-Dman-pages=enabled" "-Dlogind=${if systemdSupport then "enabled" else "disabled"}" ];
 
   meta = with lib; {
     description = "Idle management daemon for Wayland";
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/lock.nix b/nixpkgs/pkgs/applications/window-managers/sway/lock.nix
index 6dccedad827b..b70160b1dbfd 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/lock.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/lock.nix
@@ -5,20 +5,15 @@
 
 stdenv.mkDerivation rec {
   pname = "swaylock";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swaylock";
     rev = version;
-    sha256 = "0r95p4w11dwm5ra614vddz83r8j7z6gd120z2vcchy7m9b0f15kf";
+    sha256 = "sha256-VVGgidmSQWKxZNx9Cd6z52apxpxVfmX3Ut/G9kzfDcY=";
   };
 
-  postPatch = ''
-    substituteInPlace meson.build \
-      --replace "version: '1.4'" "version: '${version}'"
-  '';
-
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
index 827fce897026..c1f531683d70 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
@@ -8,6 +8,7 @@
 , isNixOS ? false
 
 , enableXWayland ? true
+, dbusSupport ? true
 }:
 
 assert extraSessionCommands != "" -> withBaseWrapper;
@@ -27,7 +28,7 @@ let
        export DBUS_SESSION_BUS_ADDRESS
        exec ${sway}/bin/sway "$@"
      else
-       exec ${dbus}/bin/dbus-run-session ${sway}/bin/sway "$@"
+       exec ${if !dbusSupport then "" else "${dbus}/bin/dbus-run-session"} ${sway}/bin/sway "$@"
      fi
    '';
 in symlinkJoin {