diff options
Diffstat (limited to 'config/hypr')
38 files changed, 423 insertions, 372 deletions
diff --git a/config/hypr/UserConfigs/00-Readme b/config/hypr/UserConfigs/00-Readme new file mode 100644 index 00000000..315e3376 --- /dev/null +++ b/config/hypr/UserConfigs/00-Readme @@ -0,0 +1,9 @@ +Hyprland-Dots v2.2.2 + +1.) Suggest not to rename files in this folder. As this is connected and being sourced from hyprland.conf in ~/.config/hypr + +2.) This folder, along with UserScripts folder will NOT be touch during update. + +3.) However, if hyprland has a big change in settings, i.e., blur section is moved into another group, you should managed the change. + +I will update the Hyprland-Dots wiki for guidance. Make sure to check out changelogs as well diff --git a/config/hypr/configs/ENVariables.conf b/config/hypr/UserConfigs/ENVariables.conf index 4437c641..031acae3 100644 --- a/config/hypr/configs/ENVariables.conf +++ b/config/hypr/UserConfigs/ENVariables.conf @@ -20,9 +20,9 @@ env = MOZ_ENABLE_WAYLAND,1 # NVIDIA # This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected -#env = WLR_NO_HARDWARE_CURSORS,1 -#env = LIBVA_DRIVER_NAME,nvidia -#env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = WLR_NO_HARDWARE_CURSORS,1 +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia #env = GBM_BACKEND,nvidia-drm #env = __NV_PRIME_RENDER_OFFLOAD,1 diff --git a/config/hypr/configs/LaptopDisplay.conf b/config/hypr/UserConfigs/LaptopDisplay.conf index d50c9119..d50c9119 100644 --- a/config/hypr/configs/LaptopDisplay.conf +++ b/config/hypr/UserConfigs/LaptopDisplay.conf diff --git a/config/hypr/configs/Laptops.conf b/config/hypr/UserConfigs/Laptops.conf index 17047320..14413ce0 100644 --- a/config/hypr/configs/Laptops.conf +++ b/config/hypr/UserConfigs/Laptops.conf @@ -2,7 +2,9 @@ # See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings # These configs are mostly for laptops. This is addemdum to Keybinds.conf + $configs = $HOME/.config/hypr/configs +$UserConfigs = $HOME/.config/hypr/UserConfigs $mainMod = SUPER $scriptsDir = $HOME/.config/hypr/scripts @@ -20,6 +22,7 @@ bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs +bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # Screenshot active window # Below are useful when you are connecting your laptop in external display # Suggest you edit below for your laptop display @@ -37,9 +40,9 @@ bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in # NOTE: Display for laptop are being generated into LaptopDisplay.conf # This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc -#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $configs/LaptopDisplay.conf -#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $configs/LaptopDisplay.conf +#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf +#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf # for laptop-lid action (to erase the last entry) -#exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/configs/LaptopDisplay.conf +#exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf ############################################################################## diff --git a/config/hypr/configs/Monitors.conf b/config/hypr/UserConfigs/Monitors.conf index ac87862a..ca2ef0e6 100644 --- a/config/hypr/configs/Monitors.conf +++ b/config/hypr/UserConfigs/Monitors.conf @@ -5,10 +5,6 @@ # https://wiki.hyprland.org/Configuring/Monitors/ # Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info. -#Could help when scaling and not pixelating -xwayland { - force_zero_scaling = true -} # Monitors monitor=,preferred,auto,1 diff --git a/config/hypr/configs/Execs.conf b/config/hypr/UserConfigs/Startup_Apps.conf index 76ec382b..2aacba44 100644 --- a/config/hypr/configs/Execs.conf +++ b/config/hypr/UserConfigs/Startup_Apps.conf @@ -2,12 +2,11 @@ #Commands & Apps to be executed at launch $scriptsDir = $HOME/.config/hypr/scripts +$UserscriptsDir = $HOME/.config/hypr/UserScripts $lock = $scriptsDir/LockScreen.sh $SwwwRandom = $scriptsDir/WallpaperRandom.sh $WallpaperPath = $HOME/Pictures/wallpapers -# Initial boot script to start Pywal and Set wallpaper. This line and corresponding script can be safely deleted once logged in -exec-once = $HOME/.config/hypr/initial-boot.sh # wallpaper stuff / More wallpaper options below exec-once = swww query || swww init @@ -22,17 +21,18 @@ exec-once = $scriptsDir/Polkit.sh # starup apps exec-once = waybar & -exec-once = dunst & -#exec-once = blueman-applet & exec-once = nm-applet --indicator & +exec-once = swaync & +#exec-once = blueman-applet & #exec-once = rog-control-center & + #clipboard manager exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store # Rainbow borders -exec-once = $scriptsDir/RainbowBorders.sh +exec-once = $UserscriptsDir/RainbowBorders.sh # sway-idle with lock only exec-once = swayidle -w timeout 900 '$lock' @@ -51,4 +51,4 @@ exec-once = swayidle -w timeout 900 '$lock' #exec-once = $scriptsDir/PortalHyprland.sh # wlsunset - for automatic gamma adjustment. Default is 1900 to 0700 (7pm to 7am). Edit Sunset.sh accordingly -# exec-once = $scriptsDir/Sunset.sh
\ No newline at end of file +# exec-once = $UserScriptsDir/Sunset.sh
\ No newline at end of file diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf new file mode 100644 index 00000000..f55f0d5e --- /dev/null +++ b/config/hypr/UserConfigs/UserKeybinds.conf @@ -0,0 +1,29 @@ +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict +# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables +# See also Laptops.conf for laptops keybinds + +$mainMod = SUPER +$files = thunar +$term = kitty +$scriptsDir = $HOME/.config/hypr/scripts +$UserScripts = $HOME/.config/hypr/UserScripts + +# rofi App launcher +bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window +bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window + +bind = $mainMod, Return, exec, $term # Launch terminal +bind = $mainMod, T, exec, $files + +# User Added Keybinds +bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme + +# For passthrough keyboard into a VM +# bind = $mainMod ALT, P, submap, passthru +#submap = passthru +# to unbind +#bind = $mainMod ALT, P, submap, reset +#submap = reset diff --git a/config/hypr/UserConfigs/UserSettings.conf b/config/hypr/UserConfigs/UserSettings.conf new file mode 100644 index 00000000..fa2e55a9 --- /dev/null +++ b/config/hypr/UserConfigs/UserSettings.conf @@ -0,0 +1,150 @@ +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# User Settings +# This is where you put your own settings as this will not be touched during update + +## refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables + +# Sourcing colors generated by pywal +source = $HOME/.cache/wal/colors-hyprland +# blurls = waybar +# blurls = rofi + +dwindle { + pseudotile = yes + preserve_split = yes + special_scale_factor = 0.8 +} + +master { + new_is_master=1 + new_on_top=1 + mfact = 0.5 +} + +general { + sensitivity=1.00 + apply_sens_to_raw=1 + gaps_in = 4 + gaps_out = 8 + border_size = 2 + resize_on_border = true + + col.active_border = $color0 $color2 $color4 $color6 $color8 90deg + col.inactive_border = $backgroundCol + + layout = master +} + +group { + col.border_active = $color15 + + groupbar { + col.active = $color0 + } +} + +decoration { + rounding = 8 + + active_opacity = 1.0 + inactive_opacity = 0.9 + fullscreen_opacity = 1.0 + + dim_inactive = true + dim_strength = 0.1 + + drop_shadow=true + shadow_range=6 + shadow_render_power = 1 + col.shadow = $color2 + col.shadow_inactive = 0x50000000 + + blur { + enabled = true + size = 5 + passes = 2 + ignore_opacity = true + new_optimizations = true + } +} + +animations { + enabled = yes + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier = linear, 0.0, 0.0, 1.0, 1.0 + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = slow, 0, 0.85, 0.3, 1 + bezier = overshot, 0.7, 0.6, 0.1, 1.1 + bezier = bounce, 1.1, 1.6, 0.1, 0.85 + bezier = sligshot, 1, -1, 0.15, 1.25 + bezier = nice, 0, 6.9, 0.5, -4.20 + + animation = windowsIn, 1, 5, slow, popin + animation = windowsOut, 1, 5, winOut, popin + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 10, linear + animation = borderangle, 1, 180, linear, loop #used by rainbow borders and rotating colors + animation = fade, 1, 5, overshot + animation = workspaces, 1, 5, wind + animation = windows, 1, 5, bounce, popin +} + +input { + kb_layout=us + kb_variant= + kb_model= + kb_options=grp:alt_shift_toggle + kb_rules= + repeat_rate=50 + repeat_delay=300 + numlock_by_default=1 + left_handed=0 + follow_mouse=1 + float_switch_override_focus=0 + + touchpad { + disable_while_typing=1 + natural_scroll=0 + clickfinger_behavior=0 + middle_button_emulation=1 + tap-to-click=1 + drag_lock=0 + } +} + +gestures { + workspace_swipe=1 + workspace_swipe_fingers=3 + workspace_swipe_distance=400 + workspace_swipe_invert=1 + workspace_swipe_min_speed_to_force=30 + workspace_swipe_cancel_ratio=0.5 + workspace_swipe_create_new=1 + workspace_swipe_forever=1 +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + mouse_move_enables_dpms = true + #vrr = 0 + enable_swallow = true + no_direct_scanout = true #for fullscreen games + focus_on_activate = false + swallow_regex = ^(kitty)$ + #disable_autoreload = true +} + +binds { + workspace_back_and_forth=1 + allow_workspace_cycles=1 + pass_mouse_when_bound=0 +} + +#Could help when scaling and not pixelating +xwayland { + force_zero_scaling = true +} diff --git a/config/hypr/configs/WindowRules.conf b/config/hypr/UserConfigs/WindowRules.conf index a3a77cfb..a3a77cfb 100644 --- a/config/hypr/configs/WindowRules.conf +++ b/config/hypr/UserConfigs/WindowRules.conf diff --git a/config/hypr/UserScripts/00-Readme b/config/hypr/UserScripts/00-Readme new file mode 100644 index 00000000..de251df0 --- /dev/null +++ b/config/hypr/UserScripts/00-Readme @@ -0,0 +1 @@ +a) Place your new scripts here. If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this folder, and edit. Make sure to update as well the keybinds in ~/.config/hypr/UserConfigs folder if any script is attached to it
\ No newline at end of file diff --git a/config/hypr/scripts/RainbowBorders.sh b/config/hypr/UserScripts/RainbowBorders.sh index 1f5e6cdb..1f5e6cdb 100755 --- a/config/hypr/scripts/RainbowBorders.sh +++ b/config/hypr/UserScripts/RainbowBorders.sh diff --git a/config/hypr/scripts/Sunset.sh b/config/hypr/UserScripts/Sunset.sh index 96c27c5b..96c27c5b 100755 --- a/config/hypr/scripts/Sunset.sh +++ b/config/hypr/UserScripts/Sunset.sh diff --git a/config/hypr/scripts/Weather.py b/config/hypr/UserScripts/Weather.py index 154c1589..154c1589 100755 --- a/config/hypr/scripts/Weather.py +++ b/config/hypr/UserScripts/Weather.py diff --git a/config/hypr/scripts/Weather.sh b/config/hypr/UserScripts/Weather.sh index 40048710..40048710 100755 --- a/config/hypr/scripts/Weather.sh +++ b/config/hypr/UserScripts/Weather.sh diff --git a/config/hypr/scripts/ZshChangeTheme.sh b/config/hypr/UserScripts/ZshChangeTheme.sh index 7057ed2e..7057ed2e 100755 --- a/config/hypr/scripts/ZshChangeTheme.sh +++ b/config/hypr/UserScripts/ZshChangeTheme.sh diff --git a/config/hypr/configs/Keybinds.conf b/config/hypr/configs/Keybinds.conf index da27c538..84b78cff 100644 --- a/config/hypr/configs/Keybinds.conf +++ b/config/hypr/configs/Keybinds.conf @@ -1,30 +1,20 @@ ## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Default Keybinds -# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables -# See also Laptops.conf for laptops keybinds $mainMod = SUPER -$files = thunar -$browser = firefox -$term = kitty $scriptsDir = $HOME/.config/hypr/scripts -# rofi App launcher -bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run -bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run - -bind = $mainMod, Return, exec, $term # Launch terminal bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 bind = $mainMod SHIFT, Q, closewindow, bind = $mainMod SHIFT, F, togglefloating, bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat bind = $mainMod, F, fullscreen bind = $mainMod, Q, killactive, -bind = $mainMod, T, exec, $files bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh # FEATURES / EXTRAS -bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, dunst, rofi +bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi bind = $mainMod CTRL, S, exec, $scriptsDir/RofiBeats.sh # online music bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # Small help file @@ -34,9 +24,7 @@ bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF bind = $mainMod ALT, K, exec, $scriptsDir/SwitchKeyboardLayout.sh # Switch Keyboard Layout bind = $mainMod, Space, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager - -# MISC (Miscellaneous Keybinds) -bind = $mainMod SHIFT, O, exec, $scriptsDir/ZshChangeTheme.sh # Change oh-my-zsh theme +bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel # Wallpaper related keybinds bind = $mainMod, W, exec, $scriptsDir/WallpaperSelect.sh # Select wallpaper to apply @@ -59,7 +47,7 @@ bind = $mainMod SHIFT, M, exec, hyprctl dispatch splitratio -0.3 # group bind = $mainMod, G, togglegroup -bind = ALT, tab, changegroupactive # change focus to another window +bind = ALT, tab, changegroupactive #change focus to another window # Special Keys / Hot Keys bind = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up @@ -77,23 +65,23 @@ bind = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt bind = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv bind = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop -# Resize (vim style) -binde = $mainMod SHIFT, H, resizeactive,-50 0 -binde = $mainMod SHIFT, L, resizeactive,50 0 -binde = $mainMod SHIFT, K, resizeactive,0 -50 -binde = $mainMod SHIFT, J, resizeactive,0 50 +# Screenshot keybindings NOTE: You may need to press Fn key as well +bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now +bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area +bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs +bind = $mainMod ALT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs +bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active #screenshot in 10 secs +# screenshot with swappy (another screenshot tool) +bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | swappy -f - + +# Resize windows binde = $mainMod SHIFT, left, resizeactive,-50 0 binde = $mainMod SHIFT, right, resizeactive,50 0 binde = $mainMod SHIFT, up, resizeactive,0 -50 binde = $mainMod SHIFT, down, resizeactive,0 50 -# Move (vim style) -bind = $mainMod CTRL, H, movewindow, l -bind = $mainMod CTRL, L, movewindow, r -bind = $mainMod CTRL, K, movewindow, u -bind = $mainMod CTRL, J, movewindow, d - +# Move windows bind = $mainMod CTRL, left, movewindow, l bind = $mainMod CTRL, right, movewindow, r bind = $mainMod CTRL, up, movewindow, u @@ -162,20 +150,3 @@ bind = $mainMod, comma, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow - -# Screenshot keybindings NOTE: You may need to press Fn key as well -bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now -bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area -bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs -bind = $mainMod ALT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs - - -# screenshot with swappy (another screenshot tool) -bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | swappy -f - - -# If you are using Ja's Hyprland dots as Host and wants to passthrough keyboard into a VM -#bind = $mainMod ALT, P, submap, passthru -#submap = passthru -# to unbind -#bind = $mainMod ALT, P, submap, reset -#submap = reset diff --git a/config/hypr/configs/Settings.conf b/config/hypr/configs/Settings.conf index 7b0c0606..96f6f1e9 100644 --- a/config/hypr/configs/Settings.conf +++ b/config/hypr/configs/Settings.conf @@ -1,143 +1,8 @@ ## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## -## refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables - -# Sourcing colors generated by pywal -source = $HOME/.cache/wal/colors-hyprland -# blurls = waybar -# blurls = rofi - -dwindle { - pseudotile = yes - preserve_split = yes - special_scale_factor = 0.8 -} - -master { - new_is_master=1 - new_on_top=1 - mfact = 0.5 -} - -general { - sensitivity=1.00 - apply_sens_to_raw=1 - gaps_in = 4 - gaps_out = 8 - border_size = 2 - resize_on_border = true - - col.active_border = $color0 $color2 $color4 $color6 $color8 45deg - col.inactive_border = $backgroundCol - - layout = master -} - -group { - col.border_active = $color15 - - groupbar { - col.active = $color0 - } -} - -decoration { - rounding = 8 - - active_opacity = 1.0 - inactive_opacity = 0.9 - fullscreen_opacity = 1.0 +# Default Settings. avoid changing this file as during update, this will be replaced - dim_inactive = true - dim_strength = 0.1 - - drop_shadow=true - shadow_range=6 - shadow_render_power = 1 - col.shadow = $color2 - col.shadow_inactive = 0x50000000 - - blur { - enabled = true - size = 5 - passes = 2 - ignore_opacity = true - new_optimizations = true - } -} - -animations { - enabled = yes - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - bezier = linear, 0.0, 0.0, 1.0, 1.0 - bezier = wind, 0.05, 0.9, 0.1, 1.05 - bezier = winIn, 0.1, 1.1, 0.1, 1.1 - bezier = winOut, 0.3, -0.3, 0, 1 - bezier = slow, 0, 0.85, 0.3, 1 - bezier = overshot, 0.7, 0.6, 0.1, 1.1 - bezier = bounce, 1.1, 1.6, 0.1, 0.85 - bezier = sligshot, 1, -1, 0.15, 1.25 - bezier = nice, 0, 6.9, 0.5, -4.20 - - animation = windowsIn, 1, 5, slow, popin - animation = windowsOut, 1, 5, winOut, popin - animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 10, linear - animation = borderangle, 1, 100, linear, loop - animation = fade, 1, 5, overshot - animation = workspaces, 1, 5, wind - animation = windows, 1, 5, bounce, popin -} - -input { - kb_layout=us - kb_variant= - kb_model= - kb_options=grp:alt_shift_toggle - kb_rules= - repeat_rate=50 - repeat_delay=300 - numlock_by_default=1 - left_handed=0 - follow_mouse=1 - float_switch_override_focus=0 - - touchpad { - disable_while_typing=1 - natural_scroll=0 - clickfinger_behavior=0 - middle_button_emulation=1 - tap-to-click=1 - drag_lock=0 - } -} - -gestures { - workspace_swipe=1 - workspace_swipe_fingers=3 - workspace_swipe_distance=400 - workspace_swipe_invert=1 - workspace_swipe_min_speed_to_force=30 - workspace_swipe_cancel_ratio=0.5 - workspace_swipe_create_new=1 - workspace_swipe_forever=1 -} - -misc { - disable_hyprland_logo = true - disable_splash_rendering = true - mouse_move_enables_dpms = true - #vrr = 0 - enable_swallow = true - no_direct_scanout = true #for fullscreen games - focus_on_activate = false - swallow_regex = ^(kitty)$ - #disable_autoreload = true -} +## refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables -binds { - workspace_back_and_forth=1 - allow_workspace_cycles=1 - pass_mouse_when_bound=0 -} +# Initial boot script enable to apply initial wallpapers, theming, new settings etc. +exec-once = $HOME/.config/hypr/initial-boot.sh
\ No newline at end of file diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index c09e6f75..24c0be6f 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -1,17 +1,22 @@ # Sourcing external config files + +###### Default Configs $configs = $HOME/.config/hypr/configs -source=$configs/ENVariables.conf -source=$configs/Execs.conf -source=$configs/Keybinds.conf -source=$configs/Laptops.conf -source=$configs/LaptopDisplay.conf -source=$configs/Monitors.conf -source=$configs/WindowRules.conf source=$configs/Settings.conf +source=$configs/Keybinds.conf +#### User Configs +$UserConfigs = $HOME/.config/hypr/UserConfigs - +source= $UserConfigs/Startup_Apps.conf +source= $UserConfigs/ENVariables.conf +source= $UserConfigs/UserKeybinds.conf +source= $UserConfigs/UserSettings.conf +source= $UserConfigs/Monitors.conf +source= $UserConfigs/Laptops.conf +source= $UserConfigs/LaptopDisplay.conf +source= $UserConfigs/WindowRules.conf diff --git a/config/hypr/initial-boot.sh b/config/hypr/initial-boot.sh index cbf13b40..3d9faf54 100755 --- a/config/hypr/initial-boot.sh +++ b/config/hypr/initial-boot.sh @@ -1,9 +1,9 @@ #!/bin/bash - # A bash script designed to run only once dotfiles installed -# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Execs.conf +# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Settings.conf # not necessary to do since this script is only designed to run only once as long as the marker exists +# However, I do highly suggest not to touch it since again, as long as the marker exist, script wont run # Variables scriptsDir=$HOME/.config/hypr/scripts @@ -17,16 +17,16 @@ effect="--transition-bezier .43,1.19,1,.4 --transition-fps 30 --transition-type # Check if a marker file exists. if [ ! -f ~/.config/hypr/.initial_startup_done ]; then - # Initialize pywal - #printf " Initializing pywal........\n\n" - wal -i $wallpaper -s -t - + # Initialize pywal and wallpaper + if [ -f "$wallpaper" ]; then + wal -i $wallpaper -s -t > /dev/null + swww init && $swww $wallpaper $effect + "$scriptsDir/PywalSwww.sh" > /dev/null 2>&1 & + fi + # Initial symlink for Pywal Dark and Light for Rofi Themes - ln -sf "$HOME/.cache/wal/colors-rofi-dark.rasi" "$HOME/.config/rofi/pywal-color/pywal-theme.rasi" + ln -sf "$HOME/.cache/wal/colors-rofi-dark.rasi" "$HOME/.config/rofi/pywal-color/pywal-theme.rasi" > /dev/null 2>&1 & - # Initial scripts to load in order to have a proper wallpaper waybar and pywal themes - swww init && $swww "$wallpaper" $effect - # initiate GTK dark mode and apply icon and cursor theme gsettings set org.gnome.desktop.interface color-scheme prefer-dark > /dev/null 2>&1 & gsettings set org.gnome.desktop.interface gtk-theme Tokyonight-Dark-BL-LB > /dev/null 2>&1 & @@ -41,11 +41,12 @@ if [ ! -f ~/.config/hypr/.initial_startup_done ]; then "$scriptsDir/SwitchKeyboardLayout.sh" > /dev/null 2>&1 & # Initial waybar style - ln -sf "$waybar_style" "$HOME/.config/waybar/style.css" - - # Refreshing waybar, dunst, rofi etc. - "$scriptsDir/PywalSwww.sh" > /dev/null 2>&1 & - "$scriptsDir/Refresh.sh" > /dev/null 2>&1 & + if [ -f "$waybar_style" ]; then + ln -sf "$waybar_style" "$HOME/.config/waybar/style.css" + + # Refreshing waybar, swaync, rofi etc. + "$scriptsDir/Refresh.sh" > /dev/null 2>&1 & + fi # Create a marker file to indicate that the script has been executed. touch ~/.config/hypr/.initial_startup_done diff --git a/config/hypr/scripts/AirplaneMode.sh b/config/hypr/scripts/AirplaneMode.sh index 428a09bd..f3a50629 100755 --- a/config/hypr/scripts/AirplaneMode.sh +++ b/config/hypr/scripts/AirplaneMode.sh @@ -1,12 +1,14 @@ #!/bin/bash -dunst_notif="$HOME/.config/dunst/images/bell.png" +notif="$HOME/.config/swaync/images/bell.png" -wifi="$(nmcli r wifi | awk 'FNR = 2 {print $1}')" -if [ "$wifi" == "enabled" ]; then - rfkill block all & - dunstify -u normal -i "$dunst_notif" -t 1000 'airplane mode: active' +# Check if any wireless device is blocked +wifi_blocked=$(rfkill list wifi | grep -o "Soft blocked: yes") + +if [ -n "$wifi_blocked" ]; then + rfkill unblock wifi + notify-send -u low -i "$notif" 'Airplane mode: OFF' else - rfkill unblock all & - dunstify -u normal -i "$dunst_notif" -t 1000 'airplane mode: inactive' + rfkill block wifi + notify-send -u low -i "$notif" 'Airplane mode: ON' fi diff --git a/config/hypr/scripts/Brightness.sh b/config/hypr/scripts/Brightness.sh index c5c0b80f..14c03da5 100755 --- a/config/hypr/scripts/Brightness.sh +++ b/config/hypr/scripts/Brightness.sh @@ -1,6 +1,6 @@ #!/bin/bash -iDIR="$HOME/.config/dunst/icons" +iDIR="$HOME/.config/swaync/icons" notification_timeout=1000 # Get brightness @@ -26,7 +26,7 @@ get_icon() { # Notify notify_user() { - dunstify -h string:x-dunst-stack-tag:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness : $current%" + notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness : $current%" } # Change brightness diff --git a/config/hypr/scripts/BrightnessKbd.sh b/config/hypr/scripts/BrightnessKbd.sh index c6d6afd3..3bdcebcb 100755 --- a/config/hypr/scripts/BrightnessKbd.sh +++ b/config/hypr/scripts/BrightnessKbd.sh @@ -1,6 +1,6 @@ #!/bin/bash -iDIR="$HOME/.config/dunst/icons" +iDIR="$HOME/.config/swaync/icons" # Get keyboard brightness get_kbd_backlight() { @@ -24,7 +24,7 @@ get_icon() { } # Notify notify_user() { - dunstify -h string:x-dunst-stack-tag:brightness_notif -h int:value:$current -u low -i "$icon" "Keyboard Brightness : $current%" + notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Keyboard Brightness : $current%" } # Change brightness diff --git a/config/hypr/scripts/ChangeBlur.sh b/config/hypr/scripts/ChangeBlur.sh index 891e22eb..95789f5c 100755 --- a/config/hypr/scripts/ChangeBlur.sh +++ b/config/hypr/scripts/ChangeBlur.sh @@ -1,15 +1,15 @@ #!/bin/bash -dunst_notif="$HOME/.config/dunst/images/bell.png" +notif="$HOME/.config/swaync/images/bell.png" STATE=$(hyprctl -j getoption decoration:blur:passes | jq ".int") if [ "${STATE}" == "2" ]; then hyprctl keyword decoration:blur:size 2 hyprctl keyword decoration:blur:passes 1 - dunstify -u low -i "$dunst_notif" "Less blur" + notify-send -e -u low -i "$notif" "Less blur" else hyprctl keyword decoration:blur:size 5 hyprctl keyword decoration:blur:passes 2 - dunstify -u low -i "$dunst_notif" "Normal blur" + notify-send -e -u low -i "$notif" "Normal blur" fi diff --git a/config/hypr/scripts/ChangeLayout.sh b/config/hypr/scripts/ChangeLayout.sh index 28b72035..93bc2fe9 100755 --- a/config/hypr/scripts/ChangeLayout.sh +++ b/config/hypr/scripts/ChangeLayout.sh @@ -1,6 +1,6 @@ #!/bin/bash -dunst_notif="$HOME/.config/dunst/images/bell.png" +notif="$HOME/.config/swaync/images/bell.png" LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g') @@ -12,7 +12,7 @@ case $LAYOUT in hyprctl keyword bind SUPER,J,cyclenext hyprctl keyword bind SUPER,K,cyclenext,prev hyprctl keyword bind SUPER,O,togglesplit - dunstify -u low -i "$dunst_notif" "Dwindle Layout" + notify-send -e -u low -i "$notif" "Dwindle Layout" ;; "dwindle") hyprctl keyword general:layout master @@ -21,7 +21,7 @@ case $LAYOUT in hyprctl keyword unbind SUPER,O hyprctl keyword bind SUPER,J,layoutmsg,cyclenext hyprctl keyword bind SUPER,K,layoutmsg,cycleprev - dunstify -u low -i "$dunst_notif" "Master Layout" + notify-send -e -u low -i "$notif" "Master Layout" ;; *) ;; diff --git a/config/hypr/scripts/DarkLight.sh b/config/hypr/scripts/DarkLight.sh index 612540b8..ec8c4473 100755 --- a/config/hypr/scripts/DarkLight.sh +++ b/config/hypr/scripts/DarkLight.sh @@ -1,13 +1,13 @@ #!/bin/bash -#set -x +set -x # Paths wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers" dark_wallpapers="$wallpaper_base_path/Dark" light_wallpapers="$wallpaper_base_path/Light" hypr_config_path="$HOME/.config/hypr" -dunst_config="$HOME/.config/dunst" +swaync_style="$HOME/.config/swaync/style.css" SCRIPTSDIR="$HOME/.config/hypr/scripts" -dunst_notif="$HOME/.config/dunst/images/bell.png" +notif="$HOME/.config/swaync/images/bell.png" dark_rofi_pywal="$HOME/.cache/wal/colors-rofi-dark.rasi" light_rofi_pywal="$HOME/.cache/wal/colors-rofi-light.rasi" @@ -38,7 +38,7 @@ update_theme_mode() { # Function to notify user notify_user() { - dunstify -u low -i "$dunst_notif" "Switching to $1 mode" + notify-send -u low -i "$notif" "Switching to $1 mode" } # Function to set Waybar style @@ -61,13 +61,14 @@ set_waybar_style() { set_waybar_style "$next_mode" notify_user "$next_mode" -# Change background for dunst + +# swaync color change if [ "$next_mode" = "Dark" ]; then - sed -i '/background = /s/.*/ background = "#00000095"/' "${dunst_config}/dunstrc" - sed -i '/foreground = /s/.*/ foreground = "#fafafa"/' "${dunst_config}/dunstrc" + sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.8);/' "${swaync_style}" + sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${swaync_style}" else - sed -i '/background = /s/.*/ background = "#ffffff99"/' "${dunst_config}/dunstrc" - sed -i '/foreground = /s/.*/ foreground = "#00000095"/' "${dunst_config}/dunstrc" + sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.9);/' "${swaync_style}" + sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${swaync_style}" fi # Set Dynamic Wallpaper for Dark or Light Mode @@ -186,8 +187,7 @@ sleep 1 ${SCRIPTSDIR}/Refresh.sh # Display notifications for theme and icon changes -dunstify -u normal -i "$dunst_notif" "Themes are set to $selected_theme" -dunstify -u normal -i "$dunst_notif" "Icon themes set to $selected_icon" +notify-send -u normal -i "$notif" "Themes in $next_mode Mode" exit 0 diff --git a/config/hypr/scripts/GameMode.sh b/config/hypr/scripts/GameMode.sh index 0e6f83af..d53ec7d3 100755 --- a/config/hypr/scripts/GameMode.sh +++ b/config/hypr/scripts/GameMode.sh @@ -1,6 +1,6 @@ #!/bin/bash -dunst_notif="$HOME/.config/dunst/images/bell.png" +notif="$HOME/.config/swaync/images/bell.png" SCRIPTSDIR="$HOME/.config/hypr/scripts" @@ -15,7 +15,7 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then keyword general:border_size 1;\ keyword decoration:rounding 0" swww kill - dunstify -u low -i "$dunst_notif" "gamemode enabled. All animations off" + notify-send -e -u low -i "$notif" "gamemode enabled. All animations off" exit else swww init && swww img "$HOME/.config/rofi/.current_wallpaper" @@ -23,7 +23,7 @@ else ${SCRIPTSDIR}/PywalSwww.sh sleep 0.5 ${SCRIPTSDIR}/Refresh.sh - dunstify -u normal -i "$dunst_notif" "gamemode disabled. All animations normal" + notify-send -e -u normal -i "$notif" "gamemode disabled. All animations normal" exit fi hyprctl reload diff --git a/config/hypr/scripts/KeyHints.sh b/config/hypr/scripts/KeyHints.sh index 7bb80e18..180befa1 100755 --- a/config/hypr/scripts/KeyHints.sh +++ b/config/hypr/scripts/KeyHints.sh @@ -34,7 +34,6 @@ yad --width=$dynamic_width --height=$dynamic_height \ --column=Key: \ --column=Description: \ --column=Command: \ - --timeout=60 \ --timeout-indicator=bottom \ "ESC" "close this app" "" "=" "SUPER KEY (Windows Key)" "(SUPER KEY)" \ " enter" "Terminal" "(kitty)" \ @@ -45,13 +44,15 @@ yad --width=$dynamic_width --height=$dynamic_height \ " Alt V" "Clipboard Manager" "(cliphist)" \ " W" "Choose wallpaper" "(swww)" \ "CTRL ALT W" "Random wallpaper" "(swww)" \ -" CTRL B" "Choose waybar styles" "(waybar styles)" \ " B" "Hide/UnHide Waybar" "waybar" \ +" CTRL B" "Choose waybar styles" "(waybar styles)" \ " ALT B" "Choose waybar layout" "(waybar layout)" \ -" ALT R" "Reload Waybar Dunst Rofi" "" \ +" ALT R" "Reload Waybar swaync Rofi" "CHECK NOTIFICATION FIRST!!!" \ +" SHIFT N" "Launch Notification Panel" "swaync Notification Center" \ " Print" "screenshot" "(grim)" \ " Shift Print" "screenshot region" "(grim + slurp)" \ " Shift S" "screenshot region" "(swappy)" \ +"ALT Print" "Screenshot active window" "active window only" \ "CTRL ALT P" "power-menu" "(wlogout)" \ "CTRL ALT L" "screen lock" "(swaylock)" \ "CTRL ALT Del" "Hyprland Exit" "(SAVE YOUR WORK!!!)" \ @@ -64,8 +65,7 @@ yad --width=$dynamic_width --height=$dynamic_height \ " H" "Launch this app" "" \ " E" "View or EDIT Keybinds, Settings, Monitor" "" \ "" "" "" \ -"" "More tips on Hyprland-Dots github wiki page" ""\ -"" "" "" \ -"" "" "This window will auto-close in 60 secs" ""\ +"More tips:" "https://github.com/JaKooLit/Hyprland-Dots/wiki" ""\ + diff --git a/config/hypr/scripts/MediaCtrl.sh b/config/hypr/scripts/MediaCtrl.sh index f9611523..9d970443 100755 --- a/config/hypr/scripts/MediaCtrl.sh +++ b/config/hypr/scripts/MediaCtrl.sh @@ -1,6 +1,6 @@ #!/bin/bash -music_icon="$HOME/.config/dunst/icons/music.png" +music_icon="$HOME/.config/swaync/icons/music.png" # Play the next track play_next() { @@ -23,18 +23,18 @@ toggle_play_pause() { # Stop playback stop_playback() { playerctl stop - dunstify -r 123 -i "$music_icon" "Playback Stopped" + notify-send -e -u low -i "$music_icon" "Playback Stopped" } -# Display Dunst notification with song information +# Display notification with song information show_music_notification() { status=$(playerctl status) if [[ "$status" == "Playing" ]]; then song_title=$(playerctl metadata title) song_artist=$(playerctl metadata artist) - dunstify -r 123 -i "$music_icon" "Now Playing:" "$song_title\nby $song_artist" + notify-send -e -u low -i "$music_icon" "Now Playing:" "$song_title\nby $song_artist" elif [[ "$status" == "Paused" ]]; then - dunstify -r 123 -i "$music_icon" "Playback Paused" + notify-send -e -u low -i "$music_icon" "Playback Paused" fi } diff --git a/config/hypr/scripts/PywalDunst.sh b/config/hypr/scripts/PywalDunst.sh deleted file mode 100755 index 1c9398f2..00000000 --- a/config/hypr/scripts/PywalDunst.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -# -lf/nf/cf color -# Defines the foreground color for low, normal and critical notifications respectively. -# -# -lb/nb/cb color -# Defines the background color for low, normal and critical notifications respectively. -# -# -lfr/nfr/cfr color -# Defines the frame color for low, normal and critical notifications respectively. - -[ -f "$HOME/.cache/wal/colors.sh" ] && . "$HOME/.cache/wal/colors.sh" - -pkill dunst - -DUNST_FILE=~/.config/dunst/dunstrc - -# update dunst based on pywal colors. -#sed -i '/background = /s/.*/ background = "$color0"/' $DUNST_FILE -#sed -i '/foreground = /s/.*/ foreground = "'$color7'"/' $DUNST_FILE -sed -i '/frame_color = /s/.*/ frame_color = "'$color2'"/' $DUNST_FILE - -sleep 0.3 -dunst -config ~/.config/dunst/dunstrc > /dev/null 2>&1 &
\ No newline at end of file diff --git a/config/hypr/scripts/QuickEdit.sh b/config/hypr/scripts/QuickEdit.sh index 7e9d67fc..9c7cdffc 100755 --- a/config/hypr/scripts/QuickEdit.sh +++ b/config/hypr/scripts/QuickEdit.sh @@ -1,40 +1,49 @@ #!/bin/bash -hyprDir="$HOME/.config/hypr/configs" +defaultDir="$HOME/.config/hypr/configs" +userDir="$HOME/.config/hypr/UserConfigs" menu(){ printf "1. view Env-variables\n" - printf "2. view Rules\n" - printf "3. view Execs (startup)\n" - printf "4. view KeyBinds\n" + printf "2. view Window-Rules\n" + printf "3. view Startup_Apps\n" + printf "4. view User-Keybinds\n" printf "5. view Monitors\n" printf "6. view Laptop-Keybinds\n" - printf "7. view Hyprland-Settings\n" + printf "7. view User-Settings\n" + printf "8. view Default-Settings\n" + printf "9. view Default-Keybinds\n" } main() { choice=$(menu | rofi -dmenu -config ~/.config/rofi/config-compact.rasi | cut -d. -f1) case $choice in 1) - kitty -e nano "$hyprDir/ENVariables.conf" + kitty -e nano "$userDir/ENVariables.conf" ;; 2) - kitty -e nano "$hyprDir/WindowRules.conf" + kitty -e nano "$userDir/WindowRules.conf" ;; 3) - kitty -e nano "$hyprDir/Execs.conf" + kitty -e nano "$userDir/Startup_Apps.conf" ;; 4) - kitty -e nano "$hyprDir/Keybinds.conf" + kitty -e nano "$userDir/UserKeybinds.conf" ;; 5) - kitty -e nano "$hyprDir/Monitors.conf" + kitty -e nano "$userDir/Monitors.conf" ;; 6) - kitty -e nano "$hyprDir/Laptops.conf" + kitty -e nano "$userDir/Laptops.conf" ;; 7) - kitty -e nano "$hyprDir/Settings.conf" + kitty -e nano "$userDir/UserSettings.conf" + ;; + 8) + kitty -e nano "$defaultDir/Settings.conf" + ;; + 9) + kitty -e nano "$defaultDir/Keybinds.conf" ;; *) ;; diff --git a/config/hypr/scripts/Refresh.sh b/config/hypr/scripts/Refresh.sh index 0d91de8d..b5e0f556 100755 --- a/config/hypr/scripts/Refresh.sh +++ b/config/hypr/scripts/Refresh.sh @@ -1,26 +1,40 @@ #!/usr/bin/env bash SCRIPTSDIR=$HOME/.config/hypr/scripts +UserSCRIPTSDIR=$HOME/.config/hypr/UserScripts + +# Define file_exists function +file_exists() { + if [ -e "$1" ]; then + return 0 # File exists + else + return 1 # File does not exist + fi +} # Kill already running processes -_ps=(waybar rofi) +_ps=(waybar rofi swaync) for _prs in "${_ps[@]}"; do if pidof "${_prs}" >/dev/null; then pkill "${_prs}" fi done -sleep 0.1 +sleep 0.3 # Relaunch waybar waybar & -sleep 0.1 -# Relaunch dunst with pywal-borders -${SCRIPTSDIR}/PywalDunst.sh & +# relaunch swaync +sleep 0.5 +swaync > /dev/null 2>&1 & -# Relaunching rainbow borders +# Relaunching rainbow borders if the script exists sleep 1 -${SCRIPTSDIR}/RainbowBorders.sh & +if file_exists "${UserSCRIPTSDIR}/RainbowBorders.sh"; then + ${UserSCRIPTSDIR}/RainbowBorders.sh & +fi # for cava-pywal (note, need to manually restart cava once wallpaper changes) -ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true
\ No newline at end of file +ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true + +exit 0
\ No newline at end of file diff --git a/config/hypr/scripts/RefreshNoWaybar.sh b/config/hypr/scripts/RefreshNoWaybar.sh index c834a531..be06167c 100755 --- a/config/hypr/scripts/RefreshNoWaybar.sh +++ b/config/hypr/scripts/RefreshNoWaybar.sh @@ -5,6 +5,16 @@ # Modified inorder to refresh rofi background, Pywal SCRIPTSDIR=$HOME/.config/hypr/scripts +UserSCRIPTSDIR=$HOME/.config/hypr/UserScripts + +# Define file_exists function +file_exists() { + if [ -e "$1" ]; then + return 0 # File exists + else + return 1 # File does not exist + fi +} # Kill already running processes _ps=(rofi) @@ -17,13 +27,13 @@ done # Pywal refresh ${SCRIPTSDIR}/PywalSwww.sh & -sleep 0.5 -# Relaunch dunst with pywal-borders -${SCRIPTSDIR}/PywalDunst.sh & - -# Relaunching rainbow borders +# Relaunching rainbow borders if the script exists sleep 1 -${SCRIPTSDIR}/RainbowBorders.sh & +if file_exists "${UserSCRIPTSDIR}/RainbowBorders.sh"; then + ${UserSCRIPTSDIR}/RainbowBorders.sh & +fi # for cava-pywal (note, need to manually restart cava once wallpaper changes) -ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true
\ No newline at end of file +ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true + +exit 0
\ No newline at end of file diff --git a/config/hypr/scripts/RofiBeats.sh b/config/hypr/scripts/RofiBeats.sh index e0cc6f74..405451f5 100755 --- a/config/hypr/scripts/RofiBeats.sh +++ b/config/hypr/scripts/RofiBeats.sh @@ -1,7 +1,7 @@ #!/bin/bash # Directory for icons -iDIR="$HOME/.config/dunst/icons" +iDIR="$HOME/.config/swaync/icons" # Note: You can add more options below with the following format: # ["TITLE"]="link" @@ -21,7 +21,7 @@ declare -A menu_options=( # Function for displaying notifications notification() { - dunstify -u normal -i "$iDIR/music.png" "Playing now: $@" + notify-send -u normal -i "$iDIR/music.png" "Playing now: $@" } # Main function @@ -45,4 +45,4 @@ main() { } # Check if an online music process is running and send a notification, otherwise run the main function -pkill -f http && dunstify -u low -i "$iDIR/music.png" "Online Music stopped" || main +pkill -f http && notify-send -u low -i "$iDIR/music.png" "Online Music stopped" || main diff --git a/config/hypr/scripts/ScreenShot.sh b/config/hypr/scripts/ScreenShot.sh index 29fe776a..1d5eeacf 100755 --- a/config/hypr/scripts/ScreenShot.sh +++ b/config/hypr/scripts/ScreenShot.sh @@ -1,27 +1,40 @@ #!/bin/bash -iDIR="$HOME/.config/dunst/icons" +iDIR="$HOME/.config/swaync/icons" +notify_cmd_shot="notify-send -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png" -time=$(date +%Y-%m-%d-%H-%M-%S) +time=$(date "+%d-%b_%H-%M-%S") dir="$(xdg-user-dir)/Pictures/Screenshots" file="Screenshot_${time}_${RANDOM}.png" +active_window_class=$(hyprctl -j activewindow | jq -r '(.class)') +active_window_file="Screenshot_${time}_${active_window_class}.png" +active_window_path="${dir}/${active_window_file}" + # notify and view screenshot -notify_cmd_shot="dunstify -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png" notify_view() { - ${notify_cmd_shot} "Copied to clipboard." -## viewnior ${dir}/"$file" - if [[ -e "$dir/$file" ]]; then - ${notify_cmd_shot} "Screenshot Saved." - else - ${notify_cmd_shot} "Screenshot Deleted." - fi + if [[ "$1" == "active" ]]; then + if [[ -e "${active_window_path}" ]]; then + ${notify_cmd_shot} "Screenshot of '${active_window_class}' Saved." + else + ${notify_cmd_shot} "Screenshot of '${active_window_class}' not Saved" + fi + else + local check_file="$dir/$file" + if [[ -e "$check_file" ]]; then + ${notify_cmd_shot} "Screenshot Saved." + else + ${notify_cmd_shot} "Screenshot NOT Saved." + fi + fi } + + # countdown countdown() { for sec in $(seq $1 -1 1); do - dunstify -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec" + notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec" sleep 1 done } @@ -59,6 +72,17 @@ shotarea() { notify_view } +shotactive() { + active_window_class=$(hyprctl -j activewindow | jq -r '(.class)') + active_window_file="Screenshot_${time}_${active_window_class}.png" + active_window_path="${dir}/${active_window_file}" + + hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - "${active_window_path}" + sleep 1 + notify_view "active" +} + + if [[ ! -d "$dir" ]]; then mkdir -p "$dir" fi @@ -73,8 +97,10 @@ elif [[ "$1" == "--win" ]]; then shotwin elif [[ "$1" == "--area" ]]; then shotarea +elif [[ "$1" == "--active" ]]; then + shotactive else - echo -e "Available Options : --now --in5 --in10 --win --area" + echo -e "Available Options : --now --in5 --in10 --win --area --active" fi exit 0 diff --git a/config/hypr/scripts/SwitchKeyboardLayout.sh b/config/hypr/scripts/SwitchKeyboardLayout.sh index 9d1ee844..a53a567d 100755 --- a/config/hypr/scripts/SwitchKeyboardLayout.sh +++ b/config/hypr/scripts/SwitchKeyboardLayout.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash layout_f="$HOME/.cache/kb_layout" -settings_file="$HOME/.config/hypr/configs/Settings.conf" -dunst_notif="$HOME/.config/dunst/images/bell.png" +settings_file="$HOME/.config/hypr/UserConfigs/UserSettings.conf" +notif="$HOME/.config/swaync/images/bell.png" # Check if ~/.cache/kb_layout exists and create it with a default layout from Settings.conf if not found if [ ! -f "$layout_f" ]; then @@ -40,4 +40,4 @@ hyprctl keyword input:kb_layout "$new_layout" echo "$new_layout" > "$layout_f" # Notification for the new keyboard layout -dunstify -u low -i "$dunst_notif" "Keyboard layout set to $new_layout"
\ No newline at end of file +notify-send -u low -i "$notif" "new KB_Layout: $new_layout"
\ No newline at end of file diff --git a/config/hypr/scripts/TouchPad.sh b/config/hypr/scripts/TouchPad.sh index 8f633ee0..1fcb3249 100755 --- a/config/hypr/scripts/TouchPad.sh +++ b/config/hypr/scripts/TouchPad.sh @@ -1,38 +1,22 @@ #!/bin/bash -dunst_notif="$HOME/.config/dunst/images/bell.png" +HYPRLAND_DEVICE="asue1209:00-04f3:319f-touchpad" +notif="$HOME/.config/swaync/images/bell.png" -# NOTE: find the right device using hyprctl devices - HYPRLAND_DEVICE="asue1209:00-04f3:319f-touchpad" +XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/run/user/$(id -u)} +STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status" -if [ -z "$XDG_RUNTIME_DIR" ]; then - export XDG_RUNTIME_DIR=/run/user/$(id -u) -fi - -export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status" - -enable_touchpad() { - printf "true" > "$STATUS_FILE" - - dunstify -u low -i "$dunst_notif" "Enabling Touchpad" - - hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" true -} - -disable_touchpad() { - printf "false" > "$STATUS_FILE" - - dunstify -u low -i "$dunst_notif" "Disabling Touchpad" +toggle_touchpad() { + if [ ! -f "$STATUS_FILE" ] || [ "$(cat "$STATUS_FILE")" = "false" ]; then + echo "true" > "$STATUS_FILE" + action="enabled" + else + echo "false" > "$STATUS_FILE" + action="disabled" + fi - hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" false + notify-send -u low -i "$notif" "Touchpad $action" + hyprctl keyword "device:$HYPRLAND_DEVICE:enabled" "$(cat "$STATUS_FILE")" } -if ! [ -f "$STATUS_FILE" ]; then - enable_touchpad -else - if [ $(cat "$STATUS_FILE") = "true" ]; then - disable_touchpad - elif [ $(cat "$STATUS_FILE") = "false" ]; then - enable_touchpad - fi -fi +toggle_touchpad diff --git a/config/hypr/scripts/Volume.sh b/config/hypr/scripts/Volume.sh index d0eb0b68..f68491cf 100755 --- a/config/hypr/scripts/Volume.sh +++ b/config/hypr/scripts/Volume.sh @@ -1,6 +1,6 @@ #!/bin/bash -iDIR="$HOME/.config/dunst/icons" +iDIR="$HOME/.config/swaync/icons" # Get Volume get_volume() { @@ -29,9 +29,9 @@ get_icon() { # Notify notify_user() { if [[ "$(get_volume)" == "Muted" ]]; then - dunstify -h string:x-dunst-stack-tag:volume_notif -u low -i "$(get_icon)" "Volume: Muted" + notify-send -e -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: Muted" else - dunstify -h int:value:"$(get_volume | sed 's/%//')" -h string:x-dunst-stack-tag:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)" + notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)" fi } @@ -54,18 +54,18 @@ dec_volume() { # Toggle Mute toggle_mute() { if [ "$(pamixer --get-mute)" == "false" ]; then - pamixer -m && dunstify -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF" + pamixer -m && notify-send -e -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF" elif [ "$(pamixer --get-mute)" == "true" ]; then - pamixer -u && dunstify -u low -i "$(get_icon)" "Volume Switched ON" + pamixer -u && notify-send -e -u low -i "$(get_icon)" "Volume Switched ON" fi } # Toggle Mic toggle_mic() { if [ "$(pamixer --default-source --get-mute)" == "false" ]; then - pamixer --default-source -m && dunstify -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF" + pamixer --default-source -m && notify-send -e -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF" elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then - pamixer -u --default-source u && dunstify -u low -i "$iDIR/microphone.png" "Microphone Switched ON" + pamixer -u --default-source u && notify-send -e -u low -i "$iDIR/microphone.png" "Microphone Switched ON" fi } # Get Mic Icon @@ -92,7 +92,7 @@ get_mic_volume() { notify_mic_user() { volume=$(get_mic_volume) icon=$(get_mic_icon) - dunstify -h int:value:"$volume" -h "string:x-dunst-stack-tag:volume_notif" -u low -i "$icon" "Mic-Level: $volume" + notify-send -e -h int:value:"$volume" -h "string:x-canonical-private-synchronous:volume_notif" -u low -i "$icon" "Mic-Level: $volume" } # Increase MIC Volume diff --git a/config/hypr/v2.2.1 b/config/hypr/v2.2.2 index 31b3414d..31b3414d 100644 --- a/config/hypr/v2.2.1 +++ b/config/hypr/v2.2.2 |
