summaryrefslogtreecommitdiff
path: root/home-manager/features/gui/desktops/niri/parts/selectors.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/features/gui/desktops/niri/parts/selectors.nix')
-rw-r--r--home-manager/features/gui/desktops/niri/parts/selectors.nix13
1 files changed, 8 insertions, 5 deletions
diff --git a/home-manager/features/gui/desktops/niri/parts/selectors.nix b/home-manager/features/gui/desktops/niri/parts/selectors.nix
index 8c24ad6..54c763a 100644
--- a/home-manager/features/gui/desktops/niri/parts/selectors.nix
+++ b/home-manager/features/gui/desktops/niri/parts/selectors.nix
@@ -144,13 +144,16 @@ in {
''
)
- # Clipboard Selector
+ # Scuffed Clipboard Selector
(
writers.writeNuBin "clipboard-selector" ''
- ${lib.getExe pkgs.cliphist} list
- | cut -f 2-
- | ${lib.getExe pkgs.fuzzel} --dmenu --placeholder "Clipboard"
- | ${pkgs.wl-clipboard}/bin/wl-copy
+ let raw_list = ${lib.getExe pkgs.cliphist} list
+ let processed_list = $raw_list | split row "\n"
+ let list = $processed_list | split column "\t"
+ let choice_list = $list | each {return ($in.column1 + " " + $in.column0) }
+ let user_choice = $choice_list | to text | ${lib.getExe pkgs.fuzzel} -d --placeholder "Clipboard"
+ let choice_index = $choice_list | enumerate | where item == $user_choice | get index | get 0
+ $processed_list | get $choice_index | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy
''
)
];