replace home grown screenshotting with flameshot

This commit is contained in:
notgne2 2022-12-12 02:25:54 -07:00
parent 5ce906b628
commit 0f165c54f5
Signed by: notgne2
SSH Key Fingerprint: SHA256:qlFCAimT/PvNIG3u+aYT9pIqFCWgu6sNsWjpV1vHLIE
3 changed files with 17 additions and 98 deletions

View File

@ -10,87 +10,6 @@ with lib; let
lockCommand = pkgs.writeScript "lock.sh" '' lockCommand = pkgs.writeScript "lock.sh" ''
${pkgs.swaylock-effects}/bin/swaylock -f --clock --indicator --screenshots --effect-scale 0.8 --effect-blur 8x3 --effect-vignette 0.2:0.5 --fade-in 0.5 --text-color ${config.ezcolors.base16.base08} --inside-color ${config.ezcolors.base16.base00} --ring-color ${config.ezcolors.base16.base01} --datestr "%Y-%m-%e" --timestr "%I:%M %p" ${pkgs.swaylock-effects}/bin/swaylock -f --clock --indicator --screenshots --effect-scale 0.8 --effect-blur 8x3 --effect-vignette 0.2:0.5 --fade-in 0.5 --text-color ${config.ezcolors.base16.base08} --inside-color ${config.ezcolors.base16.base00} --ring-color ${config.ezcolors.base16.base01} --datestr "%Y-%m-%e" --timestr "%I:%M %p"
''; '';
selshot = pkgs.writeScript "selshot.sh" ''
#!${pkgs.zsh}/bin/zsh
${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" $1
'';
selvid = pkgs.writeScript "selvid.sh" ''
#!${pkgs.zsh}/bin/zsh
${pkgs.wf-recorder}/bin/wf-recorder -g "$(${pkgs.slurp}/bin/slurp)" -f $1
'';
getscrloc = pkgs.writeScript "getscrloc.sh" ''
#!${pkgs.zsh}/bin/zsh
mkdir -p "${cfg.screenshotsPath}"
echo "${cfg.screenshotsPath}/$(date +%F_%T).''${1:-png}"
'';
scrsaveclip = pkgs.writeScript "scr-save-clip.sh" ''
#!${pkgs.zsh}/bin/zsh
LOC=$(${getscrloc})
${selshot} $LOC
${pkgs.wl-clipboard}/bin/wl-copy -t image/png < $LOC
'';
scrsaveup =
if cfg.uploadScript != null
then
pkgs.writeScript "scr-save-up.sh" ''
#!${pkgs.zsh}/bin/zsh
LOC=$(${getscrloc})
${selshot} $LOC
${cfg.uploadScript} $LOC | xargs echo -n | ${pkgs.wl-clipboard}/bin/wl-copy
notify-send "Screenshot Uploaded!"
''
else null;
scrvidsaveclip = pkgs.writeScript "scr-vid-save-clip.sh" ''
#!${pkgs.zsh}/bin/zsh
LOC=$(${getscrloc} mp4)
${selvid} $LOC
${pkgs.wl-clipboard}/bin/wl-copy -t video/mp4 < $LOC
'';
scrvidsaveup =
if cfg.uploadScript != null
then
pkgs.writeScript "scr-vid-save-up.sh" ''
#!${pkgs.zsh}/bin/zsh
LOC=$(${getscrloc} mp4)
${selvid} $LOC
${cfg.uploadScript} $LOC | ${pkgs.findutils}/bin/xargs echo -n | ${pkgs.wl-clipboard}/bin/wl-copy
notify-send "Screen Recording Uploaded!"
''
else null;
scrvidstop = pkgs.writeScript "scr-vid-stop.sh" ''
#!${pkgs.zsh}/bin/zsh
${pkgs.procps}/bin/pkill -2 wf-recorder
'';
ezDrv = pkgs.runCommand "ez-commands" {} (
''
mkdir -p $out/bin
ln -s ${selshot} $out/bin/selshot
ln -s ${selvid} $out/bin/selvid
ln -s ${getscrloc} $out/bin/getscrloc
ln -s ${scrsaveclip} $out/bin/scrsaveclip
ln -s ${scrvidsaveclip} $out/bin/scrvidsaveclip
ln -s ${scrvidstop} $out/bin/scrvidstop
''
+ (
if cfg.uploadScript != null
then ''
ln -s ${cfg.uploadScript} $out/bin/upload_file
ln -s ${scrsaveup} $out/bin/scrsaveup
ln -s ${scrvidsaveup} $out/bin/scrvidsaveup
''
else ""
)
);
in { in {
options.ezpcusr = { options.ezpcusr = {
enable = mkEnableOption "Enable simple PC user config"; enable = mkEnableOption "Enable simple PC user config";
@ -241,14 +160,8 @@ in {
{ {
"${modifier}+q" = "kill"; "${modifier}+q" = "kill";
"Print" = "exec ${scrsaveclip}"; "Print" = "exec ${config.services.flameshot.package}/bin/flameshot gui -p=\"${config.services.flameshot.settings.General.savePath}/$(date '+${config.services.flameshot.settings.General.filenamePattern}')\" --raw | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png";
"Shift+Print" = "Shift+Print" = "exec ${pkgs.wl-clipboard}/bin/wl-paste > /tmp/clipup && ${if cfg.uploadScript != null then cfg.uploadScript else ":"} /tmp/clipup | ${pkgs.wl-clipboard}/bin/wl-copy && ${pkgs.libnotify}/bin/notify-send 'Clipboard uploaded!'";
if cfg.uploadScript != null
then "exec ${scrsaveup}"
else "nop";
"Ctrl+Print" = "exec ${scrvidsaveclip}";
"Ctrl+Alt+Print" = "exec ${scrvidstop}";
"${modifier}+minus" = volumeDown; "${modifier}+minus" = volumeDown;
"${modifier}+equal" = volumeUp; "${modifier}+equal" = volumeUp;
@ -591,9 +504,6 @@ in {
ydotool ydotool
keyutils keyutils
# ezpcusr stuff
ezDrv
# programs # programs
pavucontrol pavucontrol
ark ark
@ -611,5 +521,13 @@ in {
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;
terminal = lib.mkDefault "${pkgs.kermit-terminal}/bin/kermit"; terminal = lib.mkDefault "${pkgs.kermit-terminal}/bin/kermit";
}; };
services.flameshot = {
enable = true;
settings.General = {
filenamePattern = "%F_%T";
savePath = "Media/Screenshots";
};
};
}; };
} }

View File

@ -204,13 +204,9 @@ in {
#!${pkgs.zsh}/bin/zsh #!${pkgs.zsh}/bin/zsh
fileid=$(${pkgs.pwgen}/bin/pwgen 16 1) fileid=$(${pkgs.pwgen}/bin/pwgen 16 1)
filename=$(basename $1) extension=$(file "$1" --extension | cut -d' ' -f2 | sed 's/???/txt/')
extension=$(echo "''${filename##*.}" | awk '{gsub(/^ +| +$/,"")} {print $0}')
if [[ "$extension" = "$filename" ]] then
extension=$(grep "$(file -b --mime-type $1)" ${mimeTypes} | awk '{print $2}')
fi
rsync -a --chmod=664 "$1" "wizbos.club:~/public/uploads/$fileid.$extension" ssh wizbos.club "cat > ~/public/uploads/$fileid.$extension" < "$1"
echo "https://p.gen2.space/uploads/$fileid.$extension" echo "https://p.gen2.space/uploads/$fileid.$extension"
''; '';

View File

@ -22,6 +22,11 @@ in {
}; };
}; };
}; };
extraPortals = with pkgs; [
# used for xdg-open and whatnot
xdg-desktop-portal-gtk
xdg-desktop-portal-kde
];
}; };
environment.sessionVariables = { environment.sessionVariables = {