diff options
Diffstat (limited to 'pkgs/applications/window-managers')
10 files changed, 222 insertions, 25 deletions
diff --git a/pkgs/applications/window-managers/cwm/default.nix b/pkgs/applications/window-managers/cwm/default.nix index 0e57643c64d3..27aacd78e9fa 100644 --- a/pkgs/applications/window-managers/cwm/default.nix +++ b/pkgs/applications/window-managers/cwm/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "cwm"; - version = "6.6"; + version = "6.7"; src = fetchFromGitHub { owner = "leahneukirchen"; repo = pname; rev = "v${version}"; - sha256 = "1rvb4y37vw3bpkqa6fbizgc74x3nrlkk6yf5hlm0hf8qz0c17vbl"; + sha256 = "0f9xmki2hx10k8iisfzc7nm1l31zkf1r06pdgn06ar9w9nizrld9"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix index 7dc715e126cd..e547cea3c54c 100644 --- a/pkgs/applications/window-managers/herbstluftwm/default.nix +++ b/pkgs/applications/window-managers/herbstluftwm/default.nix @@ -8,11 +8,11 @@ assert withDoc -> asciidoc != null; stdenv.mkDerivation rec { pname = "herbstluftwm"; - version = "0.8.1"; + version = "0.8.3"; src = fetchurl { url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz"; - sha256 = "0c1lf82z6a56g8asin91cmqhzk3anw0xwc44b31bpjixadmns57y"; + sha256 = "1qmb4pjf2f6g0dvcg11cw9njwmxblhqzd70ai8qnlgqw1iz3nkm1"; }; outputs = [ diff --git a/pkgs/applications/window-managers/hikari/default.nix b/pkgs/applications/window-managers/hikari/default.nix new file mode 100644 index 000000000000..274c75a3c13c --- /dev/null +++ b/pkgs/applications/window-managers/hikari/default.nix @@ -0,0 +1,75 @@ +{ stdenv, fetchzip, + pkgconfig, bmake, + cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman, + libucl, wayland, wayland-protocols, wlroots, + features ? { + gammacontrol = true; + layershell = true; + screencopy = true; + xwayland = true; + } +}: + +let + pname = "hikari"; + version = "2.0.2"; +in + +stdenv.mkDerivation { + inherit pname version; + + src = fetchzip { + url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz"; + sha256 = "1a3i01936pw11hrmjmrhzzwpndl1jqjgx376m5m724wd1j9awm68"; + }; + + nativeBuildInputs = [ pkgconfig bmake ]; + + buildInputs = [ + cairo + glib + libevdev + libinput + libxkbcommon + linux-pam + pango + pixman + libucl + wayland + wayland-protocols + wlroots + ]; + + enableParallelBuilding = true; + + # Must replace GNU Make by bmake + buildPhase = with stdenv.lib; concatStringsSep " " ( + [ "bmake" "-j$NIX_BUILD_CORES" "PREFIX=$out" ] + ++ optional stdenv.isLinux "WITH_POSIX_C_SOURCE=YES" + ++ mapAttrsToList (feat: enabled: + optionalString enabled "WITH_${toUpper feat}=YES" + ) features + ); + + # Can't suid in nix store + # Run hikari as root (it will drop privileges as early as possible), or create + # a systemd unit to give it the necessary permissions/capabilities. + patchPhase = '' + substituteInPlace Makefile --replace '4555' '555' + ''; + + installPhase = '' + bmake \ + PREFIX=$out \ + install + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Stacking Wayland compositor which is actively developed on FreeBSD but also supports Linux"; + homepage = "https://hikari.acmelabs.space"; + license = licenses.bsd2; + platforms = platforms.linux ++ platforms.freebsd; + maintainers = with maintainers; [ jpotier ]; + }; +} diff --git a/pkgs/applications/window-managers/i3/pystatus.nix b/pkgs/applications/window-managers/i3/pystatus.nix index 29bda8e4e2b0..beefdaf891c6 100644 --- a/pkgs/applications/window-managers/i3/pystatus.nix +++ b/pkgs/applications/window-managers/i3/pystatus.nix @@ -1,31 +1,45 @@ -{ stdenv, fetchFromGitHub, libpulseaudio, python3Packages, extraLibs ? [] }: +{ stdenv +, fetchFromGitHub +, libpulseaudio +, libnotify +, gobject-introspection +, python3Packages +, wrapGAppsHook +, extraLibs ? [] }: python3Packages.buildPythonApplication rec { # i3pystatus moved to rolling release: # https://github.com/enkore/i3pystatus/issues/584 - version = "unstable-2019-06-10"; + version = "unstable-2020-06-12"; pname = "i3pystatus"; - src = fetchFromGitHub - { + src = fetchFromGitHub { owner = "enkore"; repo = "i3pystatus"; - rev = "56ce08d0ff8d5d64950d6b588ebede35a95e0ce2"; - sha256 = "12938860jbcly1xwhd71jvy2dff28pwv9kqh6mab1859148bzmcg"; + rev = "dad5eb0c5c8a2ecd20c37ade4732586c6e53f44b"; + sha256 = "18ygvkl92yr69kxsym57k1mc90asdxpz4b943i61qr0s4fc5n4mq"; }; - propagatedBuildInputs = with python3Packages; [ keyring colour netifaces psutil basiciw ] ++ - [ libpulseaudio ] ++ extraLibs; + buildInputs = [ libpulseaudio libnotify gobject-introspection ]; - libpulseaudioPath = stdenv.lib.makeLibraryPath [ libpulseaudio ]; - ldWrapperSuffix = "--suffix LD_LIBRARY_PATH : \"${libpulseaudioPath}\""; - # LC_TIME != C results in locale.Error: unsupported locale setting - makeWrapperArgs = [ "--set LC_TIME C" ldWrapperSuffix ]; # libpulseaudio.so is loaded manually + propagatedBuildInputs = with python3Packages; [ + keyring colour netifaces psutil basiciw pygobject3 + ] ++ extraLibs; + + makeWrapperArgs = [ + # LC_TIME != C results in locale.Error: unsupported locale setting + "--set" "LC_TIME" "C" + "--suffix" "LD_LIBRARY_PATH" ":" "${stdenv.lib.makeLibraryPath [ libpulseaudio ]}" + ]; + + postPatch = '' + makeWrapperArgs+=(--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH") + ''; postInstall = '' makeWrapper ${python3Packages.python.interpreter} $out/bin/${pname}-python-interpreter \ --prefix PYTHONPATH : "$PYTHONPATH" \ - ${ldWrapperSuffix} + ''${makeWrapperArgs[@]} ''; # no tests in tarball diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix index 62389e1230ad..8bd3d581434e 100644 --- a/pkgs/applications/window-managers/i3/status-rust.nix +++ b/pkgs/applications/window-managers/i3/status-rust.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "i3status-rust"; - version = "0.13.1"; + version = "0.14.1"; src = fetchFromGitHub { owner = "greshake"; repo = pname; rev = "v${version}"; - sha256 = "0va6ny1v7lk30hhx4i5qyk9fwg3apy2nmh6kbmxhcf0rs5449ikg"; + sha256 = "11qhzjml04njhfa033v98m4yd522zj91s6ffvrm0m6sk7m0wyjsc"; }; - cargoSha256 = "1lywr21kk3idjyc10gy4848dmmgyqc2jjf7hpzq0vywkp639bf2x"; + cargoSha256 = "0jmmxld4rsjj6p5nazi3d8j1hh7r34q6kyfqq4wv0sjc77gcpaxd"; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix index b6b07d8d7278..05cca88e6195 100644 --- a/pkgs/applications/window-managers/icewm/default.nix +++ b/pkgs/applications/window-managers/icewm/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, cmake, gettext, perl, asciidoc , libjpeg, libtiff, libungif, libpng, imlib, expat -, freetype, fontconfig, pkgconfig, gdk-pixbuf +, freetype, fontconfig, pkgconfig, gdk-pixbuf, gdk-pixbuf-xlib, glib , mkfontdir, libX11, libXft, libXext, libXinerama , libXrandr, libICE, libSM, libXpm, libXdmcp, libxcb , libpthreadstubs, pcre, libXdamage, libXcomposite, libXfixes @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ gettext libjpeg libtiff libungif libpng imlib expat - freetype fontconfig gdk-pixbuf mkfontdir libX11 + freetype fontconfig gdk-pixbuf gdk-pixbuf-xlib glib mkfontdir libX11 libXft libXext libXinerama libXrandr libICE libSM libXpm libXdmcp libxcb libpthreadstubs pcre libsndfile fribidi libXdamage libXcomposite libXfixes diff --git a/pkgs/applications/window-managers/notion/default.nix b/pkgs/applications/window-managers/notion/default.nix index ac4f00f45453..c18b2129f098 100644 --- a/pkgs/applications/window-managers/notion/default.nix +++ b/pkgs/applications/window-managers/notion/default.nix @@ -5,7 +5,7 @@ , xlibsWrapper, makeWrapper }: -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { pname = "notion"; version = "4.0.0"; diff --git a/pkgs/applications/window-managers/sway/contrib.nix b/pkgs/applications/window-managers/sway/contrib.nix new file mode 100644 index 000000000000..e2c27fb470f7 --- /dev/null +++ b/pkgs/applications/window-managers/sway/contrib.nix @@ -0,0 +1,107 @@ +{ stdenv + +, fetchurl +, coreutils +, makeWrapper +, sway-unwrapped +, installShellFiles +, wl-clipboard +, libnotify +, slurp +, grim +, jq + +, python3Packages +}: + +{ + +grimshot = stdenv.mkDerivation rec { + pname = "grimshot"; + version = "2020-05-08"; + rev = "b1d08db5f5112ab562f89564825e3e791b0682c4"; + + # master has new fixes and features, and a man page + # after sway-1.5 these may be switched to sway-unwrapped.src + bsrc = fetchurl { + url = "https://raw.githubusercontent.com/swaywm/sway/${rev}/contrib/grimshot"; + sha256 = "1awzmzkib8a7q5s78xyh8za03lplqfpbasqp3lidqqmjqs882jq9"; + }; + + msrc = fetchurl { + url = "https://raw.githubusercontent.com/swaywm/sway/${rev}/contrib/grimshot.1"; + sha256 = "191xxjfhf61gkxl3b0f694h0nrwd7vfnyp5afk8snhhr6q7ia4jz"; + }; + + dontBuild = true; + dontUnpack = true; + dontConfigure = true; + + outputs = [ "out" "man" ]; + + nativeBuildInputs = [ makeWrapper installShellFiles ]; + + installPhase = '' + installManPage ${msrc} + + install -Dm 0755 ${bsrc} $out/bin/grimshot + wrapProgram $out/bin/grimshot --set PATH \ + "${stdenv.lib.makeBinPath [ + sway-unwrapped + wl-clipboard + coreutils + libnotify + slurp + grim + jq + ] }" + ''; + + doInstallCheck = true; + + installCheckPhase = '' + # check always returns 0 + if [[ $($out/bin/grimshot check | grep "NOT FOUND") ]]; then false + else + echo "grimshot check passed" + fi + ''; + + meta = with stdenv.lib; { + description = "A helper for screenshots within sway"; + homepage = "https://github.com/swaywm/sway/tree/master/contrib"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ + sway-unwrapped.meta.maintainers + evils + ]; + }; +}; + + +inactive-windows-transparency = python3Packages.buildPythonApplication rec { + # long name is long + lname = "inactive-windows-transparency"; + pname = "sway-${lname}"; + version = sway-unwrapped.version; + + src = sway-unwrapped.src; + + format = "other"; + dontBuild = true; + dontConfigure = true; + + propagatedBuildInputs = [ python3Packages.i3ipc ]; + + installPhase = '' + install -Dm 0755 $src/contrib/${lname}.py $out/bin/${lname}.py + ''; + + meta = sway-unwrapped.meta // { + description = "It makes inactive sway windows transparent"; + homepage = "https://github.com/swaywm/sway/tree/${sway-unwrapped.version}/contrib"; + }; +}; + +} diff --git a/pkgs/applications/window-managers/tinywm/default.nix b/pkgs/applications/window-managers/tinywm/default.nix index 0e30857267bd..d6ff4ad51a2e 100644 --- a/pkgs/applications/window-managers/tinywm/default.nix +++ b/pkgs/applications/window-managers/tinywm/default.nix @@ -42,10 +42,11 @@ stdenv.mkDerivation rec { - Resize windows interactively with Alt+Button3 drag (right mouse button) - Raise windows with Alt+F1 (not high on usability I know, but I needed a keybinding in there somewhere) - - Focus windows with the mouse pointer (X does this on its own) + - Focus windows with the mouse pointer (X does this on its own) ''; homepage = "http://incise.org/tinywm.html"; maintainers = with maintainers; [ AndersonTorres ]; platforms = libX11.meta.platforms; + license = licenses.publicDomain; }; } diff --git a/pkgs/applications/window-managers/wmfs/default.nix b/pkgs/applications/window-managers/wmfs/default.nix index 2013096d6fea..a53fc560abca 100644 --- a/pkgs/applications/window-managers/wmfs/default.nix +++ b/pkgs/applications/window-managers/wmfs/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "xorg62"; repo = "wmfs"; - sha256 = "sha256:1m7dsmmlhq2qipim659cp9aqlriz1cwrrgspl8baa5pncln0gd5c"; + sha256 = "1m7dsmmlhq2qipim659cp9aqlriz1cwrrgspl8baa5pncln0gd5c"; rev = "b7b8ff812d28c79cb22a73db2739989996fdc6c2"; }; |