screenshot but in bash

This commit is contained in:
Ivan Kirilov Dimitrov 2024-07-30 18:58:07 +02:00
parent 243c6232d6
commit 60538957a4
No known key found for this signature in database
GPG Key ID: 0BDAD4B211C49294
2 changed files with 17 additions and 27 deletions

View File

@ -207,7 +207,6 @@ toplevel@{ moduleWithSystem, ... }: {
"F8" = "exec doas ${pkgs.light}/bin/light -U 10";
"Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock";
"${modifier}+p" = "exec ${menu}";
"${modifier}+Shift+a" = "exec ${pkgs.screenshot}/bin/screenshot area";
"${modifier}+Shift+s" = "exec ${pkgs.screenshot}/bin/screenshot";
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
"End" = "exec rofi -show calc";

View File

@ -11,36 +11,27 @@ top@{ inputs, ... }: {
bingwp = pkgs.writers.writeNuBin "bingwp" ''
http get "https://pic.idimitrov.dev/latest.png" | save -f ([(xdg-user-dir PICTURES), "bg.png"] | str join "/")
'';
screenshot = pkgs.writers.writeNuBin "screenshot" ''
let tmp_img = "/tmp/screen.png" | path join
let ss_dir = ((xdg-user-dir PICTURES | str trim) | path join "ss")
let pic_dir = ($ss_dir | path join (([(date now | format date "%Y-%m-%d_%H-%M-%S"), ".png"] | str join)))
screenshot = pkgs.writeShellApplication {
name = "screenshot";
runtimeInputs = with pkgs; [ wl-clipboard xdg-utils ];
text = ''
ss_dir="$(xdg-user-dir PICTURES)/ss"
pic_dir="$ss_dir/$(date "+%Y-%m-%d_%H-%M-%S").png"
mkdir $ss_dir
mkdir -p "$ss_dir"
def copy_image [] {
open $pic_dir | wl-copy
}
copy_image () {
wl-copy < "$pic_dir"
}
def prepare_screen [] {
let grim_id = pueue add -i -p grim $tmp_img
let imv_id = pueue add -a $grim_id -p imv -f $tmp_img
grim -g $"(slurp -b '#FFFFFF00' -c '#FF0000FF')" $pic_dir
pueue kill $imv_id $grim_id
pueue wait
pueue remove $imv_id $grim_id
}
main () {
grim "$pic_dir"
copy_image
}
def "main area" [] {
prepare_screen
copy_image
}
def main [] {
grim $pic_dir
copy_image
}
'';
main
'';
};
cursors = pkgs.catppuccin-cursors.overrideAttrs (prev: rec {
version = "0.3.1";
nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.xcur2png ];