add hyprscripts

This commit is contained in:
delta 2024-06-16 15:59:41 +03:00
parent e4328481a8
commit 2a176a4aa8
25 changed files with 498 additions and 26 deletions

View file

@ -349,11 +349,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716576411, "lastModified": 1718368322,
"narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=", "narHash": "sha256-VfMg3RsnRLQzbq0hFIh1dCM09b5C/F/qPFUOgU/CRi0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621", "rev": "dd3a853c8239d1c3f3f37de7d2b8ae4b4f3840df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -366,17 +366,18 @@
"inputs": { "inputs": {
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"systems": "systems_3", "systems": "systems_3",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1717576964, "lastModified": 1718480796,
"narHash": "sha256-+iTjt2ujiWJZW7J36s/CzMiF1CEOi20TTK+Uq53tlxk=", "narHash": "sha256-BMLFzvIn5Qdrfc1zyIXWTMA5FHx+R9JNDJ7dkwbvdzk=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "fefa55d406e38eda481ce75178cef3e43298762d", "rev": "1f5fd7e64a1c0e8d1815bdd6d168193bf9c28d6d",
"revCount": 4763, "revCount": 4839,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -436,6 +437,10 @@
}, },
"hyprlang": { "hyprlang": {
"inputs": { "inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@ -446,11 +451,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716473782, "lastModified": 1717881852,
"narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=", "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "87d5d984109c839482b88b4795db073eb9ed446f", "rev": "ec6938c66253429192274d612912649a0cfe4d28",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -459,6 +464,31 @@
"type": "github" "type": "github"
} }
}, },
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1718271409,
"narHash": "sha256-8KvVqtApNt4FWTdn1TqVvw00rpqyG9UuUPA2ilPVD1U=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "8e10e0626fb26a14b859b3811b6ed7932400c86e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": { "hyprwayland-scanner": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -471,11 +501,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716058375, "lastModified": 1718119275,
"narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=", "narHash": "sha256-nqDYXATNkyGXVmNMkT19fT4sjtSPBDS1LLOxa3Fueo4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "3afed4364790aebe0426077631af1e164a9650cc", "rev": "1419520d5f7f38d35e05504da5c1b38212a38525",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -542,11 +572,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1716330097, "lastModified": 1718318537,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -983,11 +1013,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716290197, "lastModified": 1718272114,
"narHash": "sha256-1u9Exrc7yx9qtES2brDh7/DDZ8w8ap1nboIOAtCgeuM=", "narHash": "sha256-KsX7sAwkEFpXiwyjt0HGTnnrUU58wW1jlzj5IA/LRz8=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "91e48d6acd8a5a611d26f925e51559ab743bc438", "rev": "24be4a26f0706e456fca1b61b8c79f7486a9e86d",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,9 +5,11 @@
imports = [ imports = [
./theme.nix ./theme.nix
../pkgs/cfgs
../pkgs/helix ../pkgs/helix
../pkgs/yazi ../pkgs/yazi
../pkgs/waybar ../pkgs/waybar
../pkgs/hyprland/hyprshade
]; ];
#services.blueman-applet.enable = true; #services.blueman-applet.enable = true;

View file

@ -42,6 +42,8 @@
}; };
}; };
services.openssh.enable = true;
systemd.services.sshd.wantedBy = lib.mkForce [];
services.tailscale.enable = true; services.tailscale.enable = true;
services.syncthing.enable = true; services.syncthing.enable = true;
#services.blueman.enable = true; #services.blueman.enable = true;

View file

@ -211,7 +211,15 @@ in {
programs.xfconf.enable = true; programs.xfconf.enable = true;
programs.virt-manager.enable = true; programs.virt-manager.enable = true;
programs.steam.enable = true; programs.steam = {
enable = true;
package = pkgs.steam.override (old: {
extraBwrapArgs = [
"--setenv SSL_CERT_FILE /etc/ssl/certs/ca-certificates.crt"
"--setenv SSL_CERT_DIR ${pkgs.cacert.unbundled}/etc/ssl/certs"
];
});
};
programs.steam.gamescopeSession.enable = true; programs.steam.gamescopeSession.enable = true;
programs.noisetorch.enable = true; programs.noisetorch.enable = true;
programs.gamemode.enable = true; programs.gamemode.enable = true;

63
pkgs/cfgs/default.nix Normal file
View file

@ -0,0 +1,63 @@
{ pkgs, lib, ... }:
{
# .nix for small config files that do not deserve separate folder
home.file.".config/foot/foot.ini".text = ''
font=FiraCode Nerd Font Mono Light:size=7
#box-drawings-uses-font-glyphs=true
dpi-aware=true
resize-delay-ms=10
[tweak]
max-shm-pool-size-mb=2048
font-monospace-warn=false
box-drawing-solid-shades=true
[cursor]
style=beam
blink=false
[colors]
alpha=1
#maybe change theme to cat /usr/share/foot/themes/visibone idk
#foreground=cdd6f4 # Text
##background=1e1e2e # Base
#background=000000 # Base
#regular0=45475a # Surface 1
#regular1=f38ba8 # red
#regular2=a6e3a1 # green
#regular3=f9e2af # yellow
#regular4=89b4fa # blue
#regular5=f5c2e7 # pink
#regular6=94e2d5 # teal
#regular7=bac2de # Subtext 1
#bright0=585b70 # Surface 2
#bright1=f38ba8 # red
#bright2=a6e3a1 # green
#bright3=f9e2af # yellow
#bright4=89b4fa # blue
#bright5=f5c2e7 # pink
#bright6=94e2d5 # teal
#bright7=a6adc8 # Subtext 0
foreground=ffffff # Text
background=000000 # Base
regular0=666666 # Surface 1
regular1=cc6666 # red
regular2=66cc99 # green
regular3=cc9966 # yellow
regular4=6699cc # blue
regular5=cc6699 # pink
regular6=66cccc # teal
regular7=cccccc # Subtext 1
bright0=999999 # Surface 2
bright1=ff9999 # red
bright2=99ffcc # green
bright3=ffcc99 # yellow
bright4=99ccff # blue
bright5=ff99cc # pink
bright6=99ffff # teal
bright7=ffffff # Subtext 0
'';
}

View file

@ -2,5 +2,6 @@
imports = [ imports = [
./hypr ./hypr
./anyrun ./anyrun
../scripts
]; ];
} }

View file

@ -25,6 +25,9 @@
python3 python3
grimblast grimblast
networkmanagerapplet networkmanagerapplet
hyprshade # hyprshade toggle blue-light-filter
gammastep # gammastep -O 4500K
hyprlock
]; ];
# environment.systemPackages = [ # environment.systemPackages = [
# inputs.hyprland-contrib.packages.${pkgs.system}.grimblast.override { license = licenses.gpl3; } # inputs.hyprland-contrib.packages.${pkgs.system}.grimblast.override { license = licenses.gpl3; }
@ -64,5 +67,6 @@
# "https://github.com/zakk4223/hyprland-easymotion" # "https://github.com/zakk4223/hyprland-easymotion"
# ]; # ];
}; };
home.file.".config/hypr/env_var.conf".text = builtins.readFile ./env_var.conf;
}; };
} }

View file

@ -0,0 +1,58 @@
# Environment Variables
# see https://wiki.hyprland.org/Configuring/Environment-variables/
#env = BROWSER,chromium
env = TERMINAL,footclient
#env = LC_TIME,ru_RU.UTF-8
# Theming Related Variables
# Set cursor size. See FAQ below for why you might want this variable set.
# https://wiki.hyprland.org/FAQ/
#env = XCURSOR_SIZE,24
# Set a GTK theme manually, for those who want to avoid appearance tools such as lxappearance or nwg-look
#env = GTK_THEME,
# Set your cursor theme. The theme needs to be installed and readable by your user.
#env = XCURSOR_THEME,
# the line below may help with multiple monitors
#env = WLR_EGL_NO_MODIFIERS,1
#XDG Specifications
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
# Toolkit Backend Variables
# GTK: Use wayland if available, fall back to x11 if not.
#env = GDK_BACKEND,wayland,x11
# QT: Use wayland if available, fall back to x11 if not.
#env = QT_QPA_PLATFORM,wayland,xcb
# Run SDL2 applications on Wayland. Remove or set to x11 if games that
# provide older versions of SDL cause compatibility issues
env = SDL_VIDEODRIVER,wayland
# Clutter package already has wayland enabled, this variable
#will force Clutter applications to try and use the Wayland backend
env = CLUTTER_BACKEND,wayland
# QT Variables
# (From the QT documentation) enables automatic scaling, based on the monitors pixel density
# https://doc.qt.io/qt-5/highdpi.html
#env = QT_AUTO_SCREEN_SCALE_FACTOR,1
# Tell QT applications to use the Wayland backend, and fall back to x11 if Wayland is unavailable
#env = QT_QPA_PLATFORM,wayland,xcb
# Disables window decorations on QT applications
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
#Tells QT based applications to pick your theme from qt5ct, use with Kvantum.
# env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_SCALE_FACTOR,2
env = GDK_SCALE,2

View file

@ -18,7 +18,7 @@ listener {
listener { listener {
timeout = 260 # in seconds timeout = 260 # in seconds
on-timeout = ~/scripts/swaylock # command to run when timeout has passed on-timeout = hyprlock # command to run when timeout has passed
} }
listener { listener {

View file

@ -53,6 +53,7 @@ exec-once = hyprctl setcursor Bibata-Modern-Classic 16
# exec-once = trayscale --hide-window # change tp ktailctl later # exec-once = trayscale --hide-window # change tp ktailctl later
# exec-once = hyprctl dispatch -- exec [workspace special:hdrop silent] "QT_QPA_PLATFORM=xcb telegram-desktop" # exec-once = hyprctl dispatch -- exec [workspace special:hdrop silent] "QT_QPA_PLATFORM=xcb telegram-desktop"
exec-once = /home/delta/.config/hypr/hdrop -b -g '30' -h '60' -f 'keepassxc_lite' --class org.keepassxc.KeePassXC exec-once = /home/delta/.config/hypr/hdrop -b -g '30' -h '60' -f 'keepassxc_lite' --class org.keepassxc.KeePassXC
exec-once = hyprdrop kitty -b -i kitty_hyprdrop
exec-once = dropbox exec-once = dropbox
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
@ -380,7 +381,7 @@ bind = ALT, B, exec, swaync-client --close-latest # close lathest notify
bind = $mainMod, F4, killactive, # close the active window bind = $mainMod, F4, killactive, # close the active window
bind = $mainMod, TAB, killactive, # close the active window bind = $mainMod, TAB, killactive, # close the active window
bind = $mainMod SHIFT, TAB, killactive, # close the active window bind = $mainMod SHIFT, TAB, killactive, # close the active window
bind = $mainMod, Escape, exec, /home/delta/scripts/swaylock # Lock the screen bind = $mainMod, Escape, exec, hyprlock # Lock the screen
bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window
bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland) bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland)
bind = $mainMod, E, exec, thunar # Show the graphical file browser bind = $mainMod, E, exec, thunar # Show the graphical file browser
@ -410,8 +411,8 @@ bind = ,Print , exec, wl-paste | swappy -f - # take a screenshot
#bind = $mainMod, S, exec, hyprshot -m output -s -c --clipboard-only # take a screenshot #bind = $mainMod, S, exec, hyprshot -m output -s -c --clipboard-only # take a screenshot
#bind = ALT, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy # open clipboard manager #bind = ALT, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy # open clipboard manager
#bind = ALT, V, exec, cliphist list | /home/delta/scripts/fzfmenu | cliphist decode | wl-copy # open clipboard manager #bind = ALT, V, exec, cliphist list | /home/delta/scripts/fzfmenu | cliphist decode | wl-copy # open clipboard manager
bind = ALT, V, exec, cliphist list | /home/delta/scripts/fzfmenuft | cliphist decode | wl-copy # && wtype -M ctrl v -m ctrl # open clipboard manager bind = ALT, V, exec, fzfclipboard # && wtype -M ctrl v -m ctrl # open clipboard manager
bind = ALT SHIFT, V, exec, /home/delta/scripts/clipfzfkt # && wtype -M ctrl v -m ctrl # open clipboard manager #bind = ALT SHIFT, V, exec, /home/delta/scripts/clipfzfkt # && wtype -M ctrl v -m ctrl # open clipboard manager
bind = $mainMod, R, exec, footclient --title=emoji_manager sh -c "~/scripts/shmoji/shmoji fzf | wl-copy" & hyprctl switchxkblayout at-translated-set-2-keyboard 0 bind = $mainMod, R, exec, footclient --title=emoji_manager sh -c "~/scripts/shmoji/shmoji fzf | wl-copy" & hyprctl switchxkblayout at-translated-set-2-keyboard 0
#bind = $mainMod, T, exec, ~/.config/HyprV/hyprv_util vswitch # switch HyprV version #bind = $mainMod, T, exec, ~/.config/HyprV/hyprv_util vswitch # switch HyprV version
bind = $mainMod, X, togglesplit, # dwindle bind = $mainMod, X, togglesplit, # dwindle

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -0,0 +1,18 @@
$SCRIPT = ~/.config/HyprV/waybar/scripts
bind = , xf86audioraisevolume, exec, $SCRIPT/volume --inc
bind = , xf86audiolowervolume, exec, $SCRIPT/volume --dec
bind = , xf86AudioMicMute, exec, $SCRIPT/volume --toggle-mic
bind = , xf86audioMute, exec, $SCRIPT/volume --toggle
#bind = , XF86PowerOff, exec, swaynag -m 'Shutdown?' -Z 'No' '' -b 'Yes' 'systemctl poweroff'
bind = , xf86KbdBrightnessDown, exec, $SCRIPT/kb-brightness --dec
bind = , xf86KbdBrightnessUp, exec, $SCRIPT/kb-brightness --inc
bind = , xf86MonBrightnessDown, exec, $SCRIPT/brightness --dec
bind = , xf86MonBrightnessUp, exec, $SCRIPT/brightness --inc
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous

View file

@ -0,0 +1,10 @@
{ pkgs, lib, ... }:
{
home.file.".config/hypr/shaders/extradark.glsl".text = builtins.readFile ./extradark.glsl;
home.file.".config/hypr/shaders/noblue-light.glsl".text = builtins.readFile ./noblue-light.glsl;
home.file.".config/hypr/shaders/noblue-smart.glsl".text = builtins.readFile ./noblue-smart.glsl;
home.file.".config/hypr/shaders/noblue.glsl".text = builtins.readFile ./noblue.glsl;
}

View file

@ -0,0 +1,17 @@
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
// red
pixColor[0] *= 0.7;
// green
pixColor[1] *= 0.6;
// blue
pixColor[2] *= 0.5;
gl_FragColor = pixColor;
}

View file

@ -0,0 +1,55 @@
/*
* Grayscale
*/
precision highp float;
varying vec2 v_texcoord;
uniform sampler2D tex;
// Enum for type of grayscale conversion
const int LUMINOSITY = 0;
const int LIGHTNESS = 1;
const int AVERAGE = 2;
/**
* Type of grayscale conversion.
*/
const int Type = {{#nc}}{{type}} ? LUMINOSITY{{/nc}};
// Enum for selecting luma coefficients
const int PAL = 0;
const int HDTV = 1;
const int HDR = 2;
/**
* Formula used to calculate relative luminance.
* (Only applies to type = "luminosity".)
*/
const int LuminosityType = {{#nc}}{{luminosity_type}} ? HDR{{/nc}};
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
float gray;
if (Type == LUMINOSITY) {
// https://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
if (LuminosityType == PAL) {
gray = dot(pixColor.rgb, vec3(0.299, 0.587, 0.114));
} else if (LuminosityType == HDTV) {
gray = dot(pixColor.rgb, vec3(0.2126, 0.7152, 0.0722));
} else if (LuminosityType == HDR) {
gray = dot(pixColor.rgb, vec3(0.2627, 0.6780, 0.0593));
}
} else if (Type == LIGHTNESS) {
float maxPixColor = max(pixColor.r, max(pixColor.g, pixColor.b));
float minPixColor = min(pixColor.r, min(pixColor.g, pixColor.b));
gray = (maxPixColor + minPixColor) / 2.0;
} else if (Type == AVERAGE) {
gray = (pixColor.r + pixColor.g + pixColor.b) / 3.0;
}
vec3 grayscale = vec3(gray);
gl_FragColor = vec4(grayscale, pixColor.a);
}
// vim: ft=glsl

View file

@ -0,0 +1,18 @@
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
// Apply night-shift effect by reducing blue and enhancing red/orange
// red
pixColor[0] *= 1.1;
// green
pixColor[1] *= 0.9;
// blue
pixColor[2] *= 0.7;
gl_FragColor = pixColor;
}

View file

@ -0,0 +1,29 @@
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
uniform bool makeWarmer; // Uniform to control whether to apply warm effect
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
// Check if the pixel is blue-ish but not white
if (pixColor.b > 0.1 && pixColor.r < 0.7 && pixColor.g < 0.7) {
// Remove more blue from blue-ish colors
pixColor.b *= 0.1;
} else {
// Apply your original transformations to non-blue colors
pixColor.r *= 1.2;
pixColor.g *= 0.9;
// Note: We don't multiply pixColor.b here since we only want to affect blue
// components in blue-ish colors, not overall.
}
// Apply the warm effect if makeWarmer is true
if (false) {
pixColor.r *= 1.2;
pixColor.g *= 0.8;
// You can adjust these factors to control the warmth effect
}
gl_FragColor = pixColor;
}

View file

@ -0,0 +1,17 @@
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
void main() {
vec4 pixColor = texture2D(tex, v_texcoord);
// Apply night-shift effect by reducing blue and enhancing red/orange
// red
pixColor[0] *= 1.2;
// green
pixColor[1] *= 0.9;
// blue
pixColor[2] *= 0.35;
gl_FragColor = pixColor;
}

18
pkgs/scripts/default.nix Normal file
View file

@ -0,0 +1,18 @@
{ config, pkgs, ... }:
let
# Helper function to create script binaries
mkScriptBin = name: pkgs.writeScriptBin name (builtins.readFile ./${name}.sh);
# List of script names
scriptNames = [
"fzfclipboard"
"fzfmenuft"
"swaylock"
];
# Generate the script binaries
scriptBins = map mkScriptBin scriptNames;
in {
users.users.delta.packages = scriptBins;
}

1
pkgs/scripts/fzfclipboard.sh Executable file
View file

@ -0,0 +1 @@
cliphist list | fzfmenuft | cliphist decode | wl-copy

76
pkgs/scripts/fzfmenuft.sh Executable file
View file

@ -0,0 +1,76 @@
#!/usr/bin/env bash
#coomented !/usr/bin/env bash
# fzfmenu - fzf as dmenu replacement
CONFIG="${XDG_CONFIG_HOME:-~/.config}/fzfmenu/fzfrc"
if [ -f "$CONFIG" ]; then
# load config
. "$CONFIG"
fi
awkVal() {
awk -v Val="$1" 'BEGIN{FS=OFS=" "} {for(i=1;i<=NF;i++){if($i==Val){print $(i+1);next}}}'
}
input=$(mktemp -u --suffix .fzfmenu.input)
output=$(mktemp -u --suffix .fzfmenu.output)
mkfifo "$input"
mkfifo "$output"
chmod 600 $input $output
while getopts "fbip:l:w:" opt; do case "${opt}" in
i) FZF_OPTS="$FZF_OPTS -$opt" ;;
l) FZF_OPTS="$FZF_OPTS --height $OPTARG" ;;
p) FZF_OPTS="$FZF_OPTS --header $OPTARG" ;;
w) TERM_OPTS="-into $OPTARG" ;;
f|b) printf '%s\n' "${0##*/}: option $opt ignored" ;;
*) printf '%s\n' "${0##*/}: invalid option $opt" >&2 ; exit 1 ;;
esac done
shift $(( OPTIND -1 ))
# add options from config and replace others if necesary
runHeight=$(printf '%s\n' $FZF_OPTS | awkVal "height")
if [ -z "$runHeight" ] || [ "${runHeight%\%}" -le 50 ]; then
FZF_OPTS="$FZF_OPTS $FZF_HEIGHT"
fi
runPrompt=$(printf '%s\n' $FZF_OPTS | awkVal "heder")
if [ -z "$runPrompt" ]; then
FZF_OPTS="$FZF_OPTS $FZF_HEADER"
fi
FZF_OPTS="$FZF_OPTS $FZF_MENU_OPTS"
FZF_OPTS="$FZF_OPTS $FZF_COLORS"
export FZF_OPTS
if [ -z "$FLOATING_TERMINAL" ]; then
FLOATING_TERMINAL='footclient --title=clipboard_manager'
fi
if [ -z "$EXEC_FLAG" ]; then
EXEC_FLAG=' '
fi
$FLOATING_TERMINAL $TERM_OPTS $EXEC_FLAG sh -c "cat $input | fzf $FZF_OPTS | tee $output" & disown
termPID=$!
# consume stdin into named pipe
cat > "$input"
for arg in "$@"; do
# if it's a pipe then drain it to input
[ -p "$arg" ] && { cat "$arg" > "$input"; };
done
# handle ctrl+c outside child terminal window
cleanup() {
if kill -0 "$termPID" 2>/dev/null; then
kill $termPID 2>/dev/null
fi
rm -f "$input $output"
}
trap cleanup EXIT
cat "$output"

View file

@ -0,0 +1,36 @@
color=000000
ignore-empty-password
show-failed-attempts
daemonize
show-keyboard-layout
font=Iosevka
font-size=30
indicator-radius=100
bs-hl-color=f4dbd6
caps-lock-bs-hl-color=f4dbd6
caps-lock-key-hl-color=a6da95
inside-color=00000000
inside-clear-color=00000000
inside-caps-lock-color=00000000
inside-ver-color=00000000
inside-wrong-color=00000000
key-hl-color=a6da95
layout-bg-color=00000000
layout-border-color=00000000
layout-text-color=cad3f5
line-color=00000000
line-clear-color=00000000
line-caps-lock-color=00000000
line-ver-color=00000000
line-wrong-color=00000000
ring-color=b7bdf80F
ring-clear-color=f4dbd6
ring-caps-lock-color=f5a97f
ring-ver-color=8aadf4
ring-wrong-color=ee99a0
separator-color=00000000
text-color=cad3f5
text-clear-color=f4dbd6
text-caps-lock-color=f5a97f
text-ver-color=8aadf4
text-wrong-color=ee99a0

8
pkgs/scripts/swaylock.sh Executable file
View file

@ -0,0 +1,8 @@
#!/bin/bash
sh -c "swaylock -C /home/delta/.config/swaylock/config --indicator-x-position $(shuf -i 100-1750 -n 1) --indicator-y-position $(shuf -i 50-1000 -n 1)" & hyprctl switchxkblayout at-translated-set-2-keyboard 0
#X_POS=$(shuf -i 100-1750 -n 1)
#Y_POS=$(shuf -i 50-1000 -n 1)
#swaylock -C .config/swaylock/config2 --indicator-x-position $X_POS --indicator-y-position $Y_POS

View file

@ -96,7 +96,7 @@
"low": 15 "low": 15
}, },
"interval": 10, "interval": 10,
"format": " {usage}%", "format": " {usage}%",
"max-length": 10, "max-length": 10,
"format-alt-click": "click-right", "format-alt-click": "click-right",
"format-alt": " ", "format-alt": " ",

View file

@ -2,7 +2,7 @@
border: none; border: none;
border-radius: 0; border-radius: 0;
font-family: "Iosevka Comfy Wide Duo"; font-family: "Iosevka Comfy Wide Duo";
font-weight: bold; font-weight: normal;
font-size: 16px; font-size: 16px;
min-height: 0; min-height: 0;
} }