dwm-taglabels

This commit is contained in:
Sam 2024-10-12 16:26:10 +01:00
parent e6c3917942
commit 89141ff555
7 changed files with 59 additions and 5 deletions

View File

@ -21,5 +21,6 @@
pkgs.pandoc pkgs.pandoc
pkgs.texlive.combined.scheme-small pkgs.texlive.combined.scheme-small
pkgs.libreoffice pkgs.libreoffice
pkgs.set_wm_class
]; ];
} }

View File

@ -31,6 +31,7 @@
./scripts/aichat-wrapper.nix ./scripts/aichat-wrapper.nix
./scripts/dmenu-wifi.nix ./scripts/dmenu-wifi.nix
./scripts/battery-status.nix ./scripts/battery-status.nix
./scripts/dmenu-set-wm-class.nix
]; ];
home.packages = [ home.packages = [

View File

@ -0,0 +1,13 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
(writeShellScriptBin "dmenu-set-wm-class" ''
${libnotify}/bin/notify-send "Set Window Class" "Select window..."
winid=$(${xorg.xwininfo}/bin/xwininfo | grep "Window id:" | grep -o "0x[0-9a-fA-F]*")
class=$(${xorg.xprop}/bin/xprop -id "$winid" WM_CLASS | grep -o "\".*\"$")
new_class=$( echo "" | ${dmenu}/bin/dmenu -p "Selected: $class. Set class name of window:")
[ -z "$new_class" ] && ${libnotify}/bin/notify-send "Set Window Class" "Nothing set, exiting" && exit
${set_wm_class}/bin/set_wm_class "$winid" "$new_class"
'')
];
}

View File

@ -26,6 +26,9 @@
control + F7 control + F7
emoji-picker emoji-picker
control + F4
dmenu-set-wm-class
''; '';
}; };
} }

View File

@ -13,11 +13,11 @@
enable = true; enable = true;
package = pkgs.dwm.overrideAttrs { package = pkgs.dwm.overrideAttrs {
#src = /home/sam/.local/share/src/dwm; #src = /home/sam/.local/share/src/dwm;
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://git.bitlab21.com/sam/dwm"; url = "https://git.bitlab21.com/sam/dwm";
rev = "49dd30c0d9970ce480ada51dfcaac1a071804c64"; rev = "c8fb47e28bb134cf08c74801c350cc478635679a";
sha256 = "0ywca25a1pdjvb4cgv5gx36x3yd6922pqvn9a5f60lcn5fv2a96n"; sha256 = "sha256-UiznF1FIt72lF8gP5WAnrleSnJJSFJKnZMhwk1HiEmQ";
}; };
}; };
}; };
}; };

View File

@ -6,4 +6,5 @@ pkgs: {
nsxiv = pkgs.callPackage ./nsxiv {}; nsxiv = pkgs.callPackage ./nsxiv {};
sqlfmt = pkgs.callPackage ./sqlfmt {}; sqlfmt = pkgs.callPackage ./sqlfmt {};
kunst = pkgs.callPackage ./kunst {}; kunst = pkgs.callPackage ./kunst {};
set_wm_class = pkgs.callPackage ./set_wm_class {};
} }

View File

@ -0,0 +1,35 @@
{ pkgs ? import <nixpkgs> { }
, fetchFromGitea ? pkgs.fetchFromGitea
, pkg-config ? pkgs.pkg-config
, libX11 ? pkgs.xorg.libX11
}:
pkgs.stdenv.mkDerivation {
pname = "set_wm_class";
name = "set_wm_class";
src = fetchFromGitea {
domain = "git.bitlab21.com";
owner = "sam";
repo = "set_wm_class";
rev = "b39fb4b360";
sha256 = "sha256-5z2YQof4jbfa1dQll5GLt2OL54UhDKZ4Dzzte7vT0zM=";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
libX11
];
buildPhase = ''
make
'';
installPhase = ''
mkdir -p $out/bin
mv set_wm_class $out/bin
'';
}