From d395b185d92776878d1c23fbeaddfc72f948c647 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Fri, 22 Jun 2018 16:43:33 +0900 Subject: [PATCH 1/2] i3ipc-glib: init at 0.6.0 IPC library used to interact with the window manager www.i3wm.org --- .../window-managers/i3/i3ipc-glib.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/applications/window-managers/i3/i3ipc-glib.nix diff --git a/pkgs/applications/window-managers/i3/i3ipc-glib.nix b/pkgs/applications/window-managers/i3/i3ipc-glib.nix new file mode 100644 index 000000000000..87e11774d43b --- /dev/null +++ b/pkgs/applications/window-managers/i3/i3ipc-glib.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, pkgconfig, xproto, libxcb +, autoreconfHook, json-glib, gtk-doc, which +, gobjectIntrospection +}: + +stdenv.mkDerivation rec { + + name = "i3ipc-glib-${version}"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "acrisci"; + repo = "i3ipc-glib"; + rev = "v${version}"; + sha256 = "1gmk1zjafrn6jh4j7r0wkwrpwvf9drl1lcw8vya23i1f4zbk0wh4"; + }; + + nativeBuildInputs = [ autoreconfHook which pkgconfig ]; + + buildInputs = [ libxcb json-glib gtk-doc xproto gobjectIntrospection ]; + + + preAutoreconf = '' + gtkdocize + ''; + + meta = with stdenv.lib; { + description = "A C interface library to i3wm"; + homepage = https://github.com/acrisci/i3ipc-glib; + maintainers = with maintainers; [teto]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d63580c89c1..52d5cb71cc14 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16460,6 +16460,8 @@ with pkgs; i3cat = callPackage ../tools/misc/i3cat { }; + i3ipc-glib = callPackage ../applications/window-managers/i3/i3ipc-glib.nix { }; + i3lock = callPackage ../applications/window-managers/i3/lock.nix { cairo = cairo.override { xcbSupport = true; }; }; From 6664babe85ecd888af441350b798778d725ff1d6 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Fri, 22 Jun 2018 16:44:53 +0900 Subject: [PATCH 2/2] i3-easyfocus: init at 20180622 Fast window switcher. Attributes and display one letter per window on your current workspace, upon keypress, will focus the matching window. --- .../window-managers/i3/easyfocus.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/applications/window-managers/i3/easyfocus.nix diff --git a/pkgs/applications/window-managers/i3/easyfocus.nix b/pkgs/applications/window-managers/i3/easyfocus.nix new file mode 100644 index 000000000000..337ecdd651ff --- /dev/null +++ b/pkgs/applications/window-managers/i3/easyfocus.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, pkgconfig, xproto, libxcb, xcbutilkeysyms +, xlibs , i3ipc-glib , glib +}: + +stdenv.mkDerivation rec { + name = "i3easyfocus-${version}"; + version = "20180622"; + + src = fetchFromGitHub { + owner = "cornerman"; + repo = "i3-easyfocus"; + rev = "3631d5af612d58c3d027f59c86b185590bd78ae1"; + sha256 = "1wgknmmm7iz0wxsdh29gmx4arizva9101pzhnmac30bmixf3nzhr"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libxcb xcbutilkeysyms xproto xlibs.libX11.dev i3ipc-glib glib.dev ]; + + # Makefile has no rule for 'install' + installPhase = '' + mkdir -p $out/bin + cp i3-easyfocus $out/bin + ''; + + meta = with stdenv.lib; { + description = "Focus and select windows in i3"; + homepage = https://github.com/cornerman/i3-easyfocus; + maintainers = with maintainers; [teto]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 52d5cb71cc14..cfa4adecdccf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16454,6 +16454,8 @@ with pkgs; i3-gaps = callPackage ../applications/window-managers/i3/gaps.nix { }; + i3-easyfocus = callPackage ../applications/window-managers/i3/easyfocus.nix { }; + i3blocks = callPackage ../applications/window-managers/i3/blocks.nix { }; i3blocks-gaps = callPackage ../applications/window-managers/i3/blocks-gaps.nix { };