Adjusts config
This commit is contained in:
parent
20f63ff346
commit
8372d7f669
53 changed files with 130 additions and 7872 deletions
|
|
@ -1,16 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
|
|
||||||
KooL's Hyprland-Dots
|
|
||||||
|
|
||||||
1.) Suggest not to rename any 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 when running upgrade.sh
|
|
||||||
|
|
||||||
3.) However, if hyprland has a big change in settings, i.e., blur section is moved into another group, you should managed the change yourself.
|
|
||||||
|
|
||||||
4.) Guidance on the keybinds. Suggest NOT to assign a keybind which I set on the default Keybinds. Else will conflict. Once Hyprland decided to have a global keybinds, then I will adjust.
|
|
||||||
|
|
||||||
5.) If you think that the default keybinds SHOULD be adjusted, open an issue on my github page and present me a valid argument. Like conflicting to GLOBAL keybinds, etc etc etc.
|
|
||||||
|
|
||||||
|
|
||||||
I will update the Hyprland-Dots wiki for guidance. Make sure to check out changelogs as well
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
||||||
|
|
||||||
# Set your defaults here
|
|
||||||
env = EDITOR,nvim #default editor
|
|
||||||
|
|
||||||
#environment-variables
|
|
||||||
env = CLUTTER_BACKEND,wayland
|
|
||||||
env = GDK_BACKEND,wayland,x11
|
|
||||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
|
||||||
env = QT_QPA_PLATFORM,wayland;xcb
|
|
||||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
|
||||||
env = QT_QPA_PLATFORMTHEME,qt6ct
|
|
||||||
env = QT_SCALE_FACTOR,1
|
|
||||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
|
||||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
|
||||||
env = XDG_SESSION_DESKTOP,Hyprland
|
|
||||||
env = XDG_SESSION_TYPE,wayland
|
|
||||||
|
|
||||||
# hyprland-qt-support
|
|
||||||
env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style
|
|
||||||
|
|
||||||
# xwayland apps scale fix (useful if you are use monitor scaling)
|
|
||||||
# see https://wiki.hyprland.org/Configuring/XWayland/
|
|
||||||
# toolkit-specific scale
|
|
||||||
env = GDK_SCALE,1
|
|
||||||
|
|
||||||
# Bibata-Modern-Ice-Cursor
|
|
||||||
# NOTE! You must have the hyprcursor version to activate this.
|
|
||||||
# If you installed from 26-Dec-2024 and choose GTK theme, then you have it.
|
|
||||||
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/
|
|
||||||
env = HYPRCURSOR_THEME,Bibata-Modern-Ice
|
|
||||||
env = HYPRCURSOR_SIZE,24
|
|
||||||
|
|
||||||
# firefox
|
|
||||||
env = MOZ_ENABLE_WAYLAND,1
|
|
||||||
|
|
||||||
# electron >28 apps (may help)
|
|
||||||
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
|
||||||
|
|
||||||
# NVIDIA
|
|
||||||
# This is from Hyprland Wiki. Below will be activated nvidia gpu detected
|
|
||||||
# See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables
|
|
||||||
#env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
#env = NVD_BACKEND,direct
|
|
||||||
|
|
||||||
# to use nvidia as primary renderer (need hyprland >0.45)
|
|
||||||
#env = AQ_DRM_DEVICES,/dev/dri/card1 (nvidia)
|
|
||||||
#env = AQ_DRM_DEVICES,/dev/dri/card0
|
|
||||||
|
|
||||||
# additional ENV's for nvidia. Caution, activate with care
|
|
||||||
#env = GBM_BACKEND,nvidia-drm
|
|
||||||
|
|
||||||
#env = __NV_PRIME_RENDER_OFFLOAD,1
|
|
||||||
#env = __VK_LAYER_NV_optimus,NVIDIA_only
|
|
||||||
#env = WLR_DRM_NO_ATOMIC,1
|
|
||||||
|
|
||||||
# FOR VM and POSSIBLY NVIDIA
|
|
||||||
# LIBGL_ALWAYS_SOFTWARE software mesa rendering
|
|
||||||
#env = LIBGL_ALWAYS_SOFTWARE,1
|
|
||||||
#env = WLR_RENDERER_ALLOW_SOFTWARE,1
|
|
||||||
|
|
||||||
# nvidia firefox (for hardware acceleration on FF)?
|
|
||||||
# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration
|
|
||||||
#env = MOZ_DISABLE_RDD_SANDBOX,1
|
|
||||||
#env = EGL_PLATFORM,wayland
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
# NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid.
|
|
||||||
# See notes on Laptops.conf
|
|
||||||
|
|
||||||
#monitor = eDP-1, preferred, auto, 1
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings
|
|
||||||
# These configs are mostly for laptops. This is addemdum to Keybinds.conf
|
|
||||||
|
|
||||||
$mainMod = SUPER
|
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
|
||||||
$UserConfigs = $HOME/.config/hypr/UserConfigs
|
|
||||||
|
|
||||||
# for disabling Touchpad. hyprctl devices to get device name.
|
|
||||||
$Touchpad_Device=asue1209:00-04f3:319f-touchpad
|
|
||||||
|
|
||||||
binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec # decrease keyboard brightness
|
|
||||||
binde = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc # increase keyboard brightness
|
|
||||||
bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button
|
|
||||||
bind = , xf86Launch3, exec, asusctl led-mode -n # FN+F4 Switch keyboard RGB profile
|
|
||||||
bind = , xf86Launch4, exec, asusctl profile -n # FN+F5 change of fan profiles (Quite, Balance, Performance)
|
|
||||||
binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec # decrease monitor brightness
|
|
||||||
binde = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc # increase monitor brightness
|
|
||||||
bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh # disable touchpad
|
|
||||||
|
|
||||||
# Screenshot keybindings using F6 (no PrinSrc button)
|
|
||||||
bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # screenshot
|
|
||||||
bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area)
|
|
||||||
bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # # screenshot (5 secs delay)
|
|
||||||
bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # screenshot (10 secs delay)
|
|
||||||
bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only)
|
|
||||||
|
|
||||||
$TOUCHPAD_ENABLED = true
|
|
||||||
device {
|
|
||||||
name = $Touchpad_Device
|
|
||||||
enabled = $TOUCHPAD_ENABLED
|
|
||||||
}
|
|
||||||
# Below are useful when you are connecting your laptop in external display
|
|
||||||
# Suggest you edit below for your laptop display
|
|
||||||
# From WIKI This is to disable laptop monitor when lid is closed.
|
|
||||||
# consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches
|
|
||||||
#bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1"
|
|
||||||
#bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable"
|
|
||||||
|
|
||||||
|
|
||||||
# WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION!
|
|
||||||
# CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper.
|
|
||||||
# CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor
|
|
||||||
# One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!!
|
|
||||||
# Make sure to comment (put # on the both the bindl = , switch ......) above
|
|
||||||
# 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" > $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 "monitor = eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf
|
|
||||||
#
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
|
|
||||||
# Monitor Configuration
|
|
||||||
# See Hyprland wiki for more details
|
|
||||||
# https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
# Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info.
|
|
||||||
|
|
||||||
monitor=DP-4, preferred, 0x0, 1
|
|
||||||
monitor=DP-2, preferred, auto-left, 1
|
|
||||||
|
|
||||||
exec=xrandr --output DP-4 --primary
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
#Commands & Apps to be executed at launch
|
|
||||||
|
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
|
||||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
|
||||||
|
|
||||||
$wallDIR=$HOME/Pictures/wallpapers
|
|
||||||
$lock = $scriptsDir/LockScreen.sh
|
|
||||||
$SwwwRandom = $UserScripts/WallpaperAutoChange.sh
|
|
||||||
|
|
||||||
# wallpaper stuff / More wallpaper options below
|
|
||||||
exec-once = swww-daemon --format xrgb
|
|
||||||
#exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes
|
|
||||||
|
|
||||||
# Startup
|
|
||||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
|
|
||||||
# Polkit (Polkit Gnome / KDE)
|
|
||||||
exec-once = $scriptsDir/Polkit.sh
|
|
||||||
|
|
||||||
# starup apps
|
|
||||||
exec-once = waybar &
|
|
||||||
exec-once = nm-applet --indicator &
|
|
||||||
exec-once = swaync &
|
|
||||||
exec-once = ags &
|
|
||||||
exec-once = blueman-applet &
|
|
||||||
exec-once = kdeconnect-indicator &
|
|
||||||
#exec-once = rog-control-center &
|
|
||||||
exec-once = sleep 5 && nwg-dock-hyprland -a start -f -nolauncher -x -i 30 -o "DP-4" &
|
|
||||||
|
|
||||||
# Rainbow borders
|
|
||||||
exec-once = $UserScripts/RainbowBorders.sh &
|
|
||||||
|
|
||||||
# Starting hypridle to start hyprlock
|
|
||||||
exec-once = hypridle &
|
|
||||||
|
|
||||||
# Start pyprland daemon
|
|
||||||
exec-once = pypr &
|
|
||||||
|
|
||||||
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
|
||||||
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
|
|
||||||
|
|
||||||
exec-once = hyprswitch init --show-title --size-factor 5.5 --workspaces-per-row 5 &
|
|
||||||
|
|
||||||
# Here are list of features available but disabled by default
|
|
||||||
# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper
|
|
||||||
|
|
||||||
# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start)
|
|
||||||
#exec-once = $scriptsDir/PortalHyprland.sh
|
|
||||||
|
|
@ -1,82 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# Decoration and Animations Settings
|
|
||||||
|
|
||||||
# Hyprland Wiki Links
|
|
||||||
# Animation - https://wiki.hyprland.org/Configuring/Animations/
|
|
||||||
# Decoration - https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
||||||
|
|
||||||
# Sourcing colors generated by wallust
|
|
||||||
source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
|
|
||||||
|
|
||||||
general {
|
|
||||||
border_size = 2
|
|
||||||
gaps_in = 6
|
|
||||||
gaps_out = 8
|
|
||||||
|
|
||||||
col.active_border = $color12
|
|
||||||
col.inactive_border = $color10
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding = 3
|
|
||||||
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = 0.9
|
|
||||||
fullscreen_opacity = 1.0
|
|
||||||
|
|
||||||
dim_inactive = true
|
|
||||||
dim_strength = 0.1
|
|
||||||
dim_special = 0.8
|
|
||||||
|
|
||||||
shadow {
|
|
||||||
enabled = true
|
|
||||||
range = 3
|
|
||||||
render_power = 1
|
|
||||||
|
|
||||||
color = $color12
|
|
||||||
color_inactive = $color10
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 6
|
|
||||||
passes = 2
|
|
||||||
ignore_opacity = true
|
|
||||||
new_optimizations = true
|
|
||||||
special = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
group {
|
|
||||||
col.border_active = $color15
|
|
||||||
|
|
||||||
groupbar {
|
|
||||||
col.active = $color0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = yes
|
|
||||||
|
|
||||||
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 = liner, 1, 1, 1, 1
|
|
||||||
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
|
||||||
bezier = smoothOut, 0.5, 0, 0.99, 0.99
|
|
||||||
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
|
|
||||||
|
|
||||||
animation = windows, 1, 6, wind, slide
|
|
||||||
animation = windowsIn, 1, 5, winIn, slide
|
|
||||||
animation = windowsOut, 1, 3, smoothOut, slide
|
|
||||||
animation = windowsMove, 1, 5, wind, slide
|
|
||||||
animation = border, 1, 1, liner
|
|
||||||
animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors
|
|
||||||
animation = fade, 1, 3, smoothOut
|
|
||||||
animation = workspaces, 1, 5, overshot
|
|
||||||
|
|
||||||
# animations for -git or version >0.42.0
|
|
||||||
animation = workspacesIn, 1, 5, winIn, slide
|
|
||||||
animation = workspacesOut, 1, 5, winOut, slide
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
# /* ---- 💫 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 # Super Key to Launch rofi menu
|
|
||||||
bind = $mainMod, Tab, exec, nwg-drawer
|
|
||||||
bind = ALT, Tab, exec, hyprswitch gui --mod-key alt --key tab
|
|
||||||
|
|
||||||
bind = $mainMod, Return, exec, $term #terminal
|
|
||||||
bind = $mainMod, T, exec, $files #file manager
|
|
||||||
|
|
||||||
bind = $mainMod ALT, C, exec, $UserScripts/RofiCalc.sh # calculator (qalculate)
|
|
||||||
|
|
||||||
# pyprland
|
|
||||||
bind = $mainMod SHIFT, Return, exec, pypr toggle term # Dropdown terminal
|
|
||||||
bind = $mainMod, Z, exec, pypr zoom # Toggle Desktop Zoom
|
|
||||||
|
|
||||||
# User Added Keybinds
|
|
||||||
bindn = ALT_L, SHIFT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Change keyboard layout
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# User Settings
|
|
||||||
# This is where you put your own settings as this will not be touched during update
|
|
||||||
# if the upgrade.sh is used.
|
|
||||||
|
|
||||||
# refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
|
|
||||||
# NOTE: some settings are in ~/.config/hypr/UserConfigs/UserDecorAnimations.conf
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
pseudotile = yes
|
|
||||||
preserve_split = yes
|
|
||||||
special_scale_factor = 0.8
|
|
||||||
}
|
|
||||||
|
|
||||||
master {
|
|
||||||
new_status = master
|
|
||||||
new_on_top = 1
|
|
||||||
mfact = 0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
|
||||||
resize_on_border = true
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options =
|
|
||||||
kb_rules =
|
|
||||||
repeat_rate = 50
|
|
||||||
repeat_delay = 300
|
|
||||||
accel_profile = flat
|
|
||||||
|
|
||||||
sensitivity = 0 #mouse sensitivity
|
|
||||||
numlock_by_default = true
|
|
||||||
left_handed = false
|
|
||||||
follow_mouse = true
|
|
||||||
float_switch_override_focus = false
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
disable_while_typing = true
|
|
||||||
natural_scroll = false
|
|
||||||
clickfinger_behavior = false
|
|
||||||
middle_button_emulation = true
|
|
||||||
tap-to-click = true
|
|
||||||
drag_lock = false
|
|
||||||
}
|
|
||||||
|
|
||||||
# below for devices with touchdevice ie. touchscreen
|
|
||||||
touchdevice {
|
|
||||||
enabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
# below is for table see link above for proper variables
|
|
||||||
tablet {
|
|
||||||
transform = 0
|
|
||||||
left_handed = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
device {
|
|
||||||
name = logitech-mx-ergo-1
|
|
||||||
accel_profile = adaptive
|
|
||||||
}
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_fingers = 3
|
|
||||||
workspace_swipe_distance = 500
|
|
||||||
workspace_swipe_invert = true
|
|
||||||
workspace_swipe_min_speed_to_force = 30
|
|
||||||
workspace_swipe_cancel_ratio = 0.5
|
|
||||||
workspace_swipe_create_new = true
|
|
||||||
workspace_swipe_forever = true
|
|
||||||
#workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
misc {
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
disable_splash_rendering = true
|
|
||||||
vfr = true
|
|
||||||
vrr = 2
|
|
||||||
mouse_move_enables_dpms = true
|
|
||||||
enable_swallow = true
|
|
||||||
swallow_regex = ^(kitty)$
|
|
||||||
focus_on_activate = false
|
|
||||||
initial_workspace_tracking = 0
|
|
||||||
middle_click_paste = false
|
|
||||||
}
|
|
||||||
|
|
||||||
#opengl {
|
|
||||||
# nvidia_anti_flicker = true
|
|
||||||
#}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
workspace_back_and_forth = true
|
|
||||||
allow_workspace_cycles = true
|
|
||||||
pass_mouse_when_bound = false
|
|
||||||
}
|
|
||||||
|
|
||||||
#Could help when scaling and not pixelating
|
|
||||||
xwayland {
|
|
||||||
enabled = true
|
|
||||||
force_zero_scaling = true
|
|
||||||
}
|
|
||||||
|
|
||||||
# render section for Hyprland >= v0.42.0
|
|
||||||
render {
|
|
||||||
explicit_sync = 2
|
|
||||||
explicit_sync_kms = 2
|
|
||||||
direct_scanout = false
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor {
|
|
||||||
sync_gsettings_theme = true
|
|
||||||
no_hardware_cursors = 2
|
|
||||||
enable_hyprcursor = true
|
|
||||||
warp_on_change_workspace = 2
|
|
||||||
no_warps = true
|
|
||||||
}
|
|
||||||
|
|
@ -1,114 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
|
|
||||||
#windowrule = noblur,gamescope
|
|
||||||
#windowrule = fullscreen,gamescope
|
|
||||||
#windowrule = workspace 6 silent,^(gamescope)$
|
|
||||||
|
|
||||||
# windowrule Position
|
|
||||||
windowrule = center,^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)
|
|
||||||
windowrule = center,^([Ww]hatsapp-for-linux)$
|
|
||||||
windowrule = center,^([Ff]erdium)$
|
|
||||||
|
|
||||||
# WINDOWRULE v2
|
|
||||||
# windowrule v2 - position
|
|
||||||
# windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center.
|
|
||||||
windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress)
|
|
||||||
windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files)
|
|
||||||
windowrulev2 = center, title:^(ROG Control)$
|
|
||||||
windowrulev2 = center, title:^(Keybindings)$
|
|
||||||
windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$
|
|
||||||
#windowrulev2 = move 72% 7%,title:^(Firefox)$
|
|
||||||
|
|
||||||
# windowrule v2 to avoid idle for fullscreen apps
|
|
||||||
windowrulev2 = idleinhibit fullscreen, class:^(*)$
|
|
||||||
windowrulev2 = idleinhibit fullscreen, title:^(*)$
|
|
||||||
windowrulev2 = idleinhibit fullscreen, fullscreen:1
|
|
||||||
|
|
||||||
# windowrule v2 move to workspace
|
|
||||||
windowrulev2 = workspace 1, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$
|
|
||||||
windowrulev2 = workspace 1, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$
|
|
||||||
windowrulev2 = workspace 1, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$
|
|
||||||
windowrulev2 = workspace 1, class:^([Tt]horium-browser|[Cc]achy-browser)$
|
|
||||||
windowrulev2 = workspace 1, class:^(zen)$ # zen browser
|
|
||||||
windowrulev2 = workspace 2, class:^(kitty)$
|
|
||||||
windowrulev2 = workspace 3, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$
|
|
||||||
windowrulev2 = workspace 3, class:^([Bb]eeper)$
|
|
||||||
windowrulev2 = workspace 3, class:^([Ff]erdium)$
|
|
||||||
windowrulev2 = workspace 3, class:^([Ww]hatsapp-for-linux)$
|
|
||||||
windowrulev2 = workspace 3, class:^(teams-for-linux)$
|
|
||||||
windowrulev2 = workspace 4, class:^([Ss]team)$
|
|
||||||
windowrulev2 = workspace 4, class:^([Ll]utris)$
|
|
||||||
windowrulev2 = workspace 4, class:^([Hh]eroic)$
|
|
||||||
windowrulev2 = workspace 5, class:^(com.github.th_ch.youtube_music)$
|
|
||||||
|
|
||||||
# windowrule v2 - float
|
|
||||||
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
|
|
||||||
windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$
|
|
||||||
windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress)
|
|
||||||
windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files)
|
|
||||||
windowrulev2 = float, class:(xdg-desktop-portal-gtk)
|
|
||||||
windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator)
|
|
||||||
windowrulev2 = float, class:(codium|codium-url-handler|VSCodium|code-oss), title:(Add Folder to Workspace)
|
|
||||||
windowrulev2 = float, class:(electron), title:(Add Folder to Workspace)
|
|
||||||
windowrulev2 = float, class:^([Rr]ofi)$
|
|
||||||
windowrulev2 = float, class:^(eog|org.gnome.Loupe)$ # image viewer
|
|
||||||
windowrulev2 = float, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$
|
|
||||||
windowrulev2 = float, class:^(nwg-look|qt5ct|qt6ct)$
|
|
||||||
windowrulev2 = float, class:^(mpv|com.github.rafostar.Clapper)$
|
|
||||||
windowrulev2 = float, class:^(nm-applet|nm-connection-editor|blueman-manager)$
|
|
||||||
windowrulev2 = float, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor
|
|
||||||
windowrulev2 = float, class:^([Yy]ad)$
|
|
||||||
windowrulev2 = float, class:^(wihotspot(-gui)?)$ # wifi hotspot
|
|
||||||
windowrulev2 = float, class:^(evince)$ # document viewer
|
|
||||||
windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ # archive manager
|
|
||||||
windowrulev2 = float, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer
|
|
||||||
windowrulev2 = float, title:(Kvantum Manager)
|
|
||||||
windowrulev2 = float, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$
|
|
||||||
windowrulev2 = float, class:^([Qq]alculate-gtk)$
|
|
||||||
#windowrulev2 = float, class:^([Ww]hatsapp-for-linux)$
|
|
||||||
windowrulev2 = float, class:^([Ff]erdium)$
|
|
||||||
windowrulev2 = float, title:^(Picture-in-Picture)$
|
|
||||||
windowrulev2 = float, title:^(ROG Control)$
|
|
||||||
#windowrulev2 = float, title:^(Firefox)$
|
|
||||||
windowrulev2 = float, title:^(hyprgui)$
|
|
||||||
windowrulev2 = float, class:^(io.ente.auth)$
|
|
||||||
|
|
||||||
|
|
||||||
# windowrule v2 - size
|
|
||||||
windowrulev2 = size 70% 70%, class:^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$
|
|
||||||
windowrulev2 = size 70% 70%, class:^(xdg-desktop-portal-gtk)$
|
|
||||||
windowrulev2 = size 60% 70%, title:(Kvantum Manager)
|
|
||||||
windowrulev2 = size 60% 70%, class:^(qt6ct)$
|
|
||||||
windowrulev2 = size 70% 70%, class:^(evince|wihotspot(-gui)?)$
|
|
||||||
windowrulev2 = size 60% 70%, class:^(file-roller|org.gnome.FileRoller)$
|
|
||||||
windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux)$
|
|
||||||
windowrulev2 = size 60% 70%, class:^([Ff]erdium)$
|
|
||||||
windowrulev2 = size 60% 70%, title:^(ROG Control)$
|
|
||||||
#windowrulev2 = size 25% 25%, title:^(Picture-in-Picture)$
|
|
||||||
#windowrulev2 = size 25% 25%, title:^(Firefox)$
|
|
||||||
windowrulev2 = size 60% 70%, title:^(hyprgui)$
|
|
||||||
windowrulev2 = size 240px 450px, class:^(libresplit)$
|
|
||||||
windowrulev2 = size 500px 1000px, class:^(io.ente.auth)$
|
|
||||||
|
|
||||||
# windowrule v2 - pinning
|
|
||||||
windowrulev2 = pin,title:^(Picture-in-Picture)$
|
|
||||||
windowrulev2 = pin,class: ^(io.ente.auth)$
|
|
||||||
|
|
||||||
#windowrulev2 = pin,title:^(Firefox)$
|
|
||||||
|
|
||||||
# windowrule v2 - extras
|
|
||||||
windowrulev2 = keepaspectratio, title:^(Picture-in-Picture)$
|
|
||||||
|
|
||||||
#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
|
|
||||||
#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1
|
|
||||||
#windowrulev2 = opacity 0.8 0.8, pinned:1
|
|
||||||
|
|
||||||
|
|
||||||
# LAYER RULES
|
|
||||||
#layerrule = unset,class:^([Rr]ofi)$
|
|
||||||
#layerrule = blur,class:^([Rr]ofi)$
|
|
||||||
#layerrule = ignorezero, <rofi>
|
|
||||||
|
|
||||||
#layerrule = ignorezero, overview
|
|
||||||
#layerrule = blur, overview
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
|
|
||||||
# You can set workspace rules to achieve workspace-specific behaviors.
|
|
||||||
# For instance, you can define a workspace where all windows are drawn without borders or gaps.
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
||||||
|
|
||||||
# Assigning workspace to a certain monitor. Below are just examples
|
|
||||||
workspace = 1, name:Browser, monitor:DP-2, default:true
|
|
||||||
workspace = 2, name:Terminal
|
|
||||||
workspace = 3, name:Discord,monitor:DP-2, default:true
|
|
||||||
workspace = 4, name:Gaming
|
|
||||||
workspace = 5, name:Music
|
|
||||||
|
|
||||||
|
|
@ -1,100 +0,0 @@
|
||||||
|
|
||||||
$mainMod = SUPER
|
|
||||||
# Default
|
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
|
||||||
$configs = $HOME/.config/hypr/configs
|
|
||||||
# User
|
|
||||||
$UserConfigs = $HOME/.config/hypr/UserConfigs
|
|
||||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
|
||||||
|
|
||||||
|
|
||||||
bind = $mainMod, Q, killactive,
|
|
||||||
bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh
|
|
||||||
|
|
||||||
# Special Keys / Hot Keys
|
|
||||||
bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc # volume up
|
|
||||||
bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec # volume down
|
|
||||||
bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic # mic mute
|
|
||||||
bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle # mute
|
|
||||||
bindl = , xf86Sleep, exec, systemctl suspend # sleep button
|
|
||||||
bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh # Airplane mode
|
|
||||||
|
|
||||||
# media controls using keyboards
|
|
||||||
bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause
|
|
||||||
bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause
|
|
||||||
bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause
|
|
||||||
bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt
|
|
||||||
bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv
|
|
||||||
bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop
|
|
||||||
|
|
||||||
# Move focus with mainMod + LHKJ
|
|
||||||
bind = $mainMod, H, movefocus, l
|
|
||||||
bind = $mainMod, L, movefocus, r
|
|
||||||
bind = $mainMod, K, movefocus, u
|
|
||||||
bind = $mainMod, J, movefocus, d
|
|
||||||
|
|
||||||
# Move windows
|
|
||||||
bind = $mainMod SHIFT, H, movewindow, l
|
|
||||||
bind = $mainMod SHIFT, L, movewindow, r
|
|
||||||
bind = $mainMod SHIFT, K, movewindow, u
|
|
||||||
bind = $mainMod SHIFT, J, movewindow, d
|
|
||||||
|
|
||||||
# Container layouts
|
|
||||||
bind = $mainMod, E, togglesplit
|
|
||||||
bind = $mainMod, W, togglegroup
|
|
||||||
|
|
||||||
bind = $mainMod SHIFT, Space, togglefloating
|
|
||||||
bind = $mainMod SHIFT, Space, pin
|
|
||||||
|
|
||||||
# Workspaces
|
|
||||||
bind = $mainMod, code:10, workspace, 1
|
|
||||||
bind = $mainMod, code:11, workspace, 2
|
|
||||||
bind = $mainMod, code:12, workspace, 3
|
|
||||||
bind = $mainMod, code:13, workspace, 4
|
|
||||||
bind = $mainMod, code:14, workspace, 5
|
|
||||||
bind = $mainMod, code:15, workspace, 6
|
|
||||||
bind = $mainMod, code:16, workspace, 7
|
|
||||||
bind = $mainMod, code:17, workspace, 8
|
|
||||||
bind = $mainMod, code:18, workspace, 9
|
|
||||||
bind = $mainMod, code:19, workspace, 10
|
|
||||||
|
|
||||||
|
|
||||||
# Move active window to a workspace silently mainMod + CTRL [0-9]
|
|
||||||
bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1
|
|
||||||
bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2
|
|
||||||
bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3
|
|
||||||
bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4
|
|
||||||
bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5
|
|
||||||
bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6
|
|
||||||
bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7
|
|
||||||
bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8
|
|
||||||
bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9
|
|
||||||
bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10
|
|
||||||
bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ]
|
|
||||||
bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
|
||||||
bind = $mainMod, bracketright, workspace, e+1
|
|
||||||
bind = $mainMod, bracketleft, workspace, e-1
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Stuff
|
|
||||||
bind = $mainMod SHIFT, C, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
|
|
||||||
bind = $mainMod SHIFT, E, exec, $scriptsDir/Wlogout.sh # power menu
|
|
||||||
bind = $mainMod, N, exec, $scriptsDir/LockScreen.sh # screen lock
|
|
||||||
bind = , Print, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area)
|
|
||||||
bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only)
|
|
||||||
|
|
||||||
bind = $mainMod, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager
|
|
||||||
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC notification panel
|
|
||||||
|
|
||||||
bind = $mainMod SHIFT, A, movecurrentworkspacetomonitor, l
|
|
||||||
bind = $mainMod SHIFT, D, movecurrentworkspacetomonitor, r
|
|
||||||
|
|
||||||
bind = $mainMod, F, fullscreen, 0
|
|
||||||
bind = $mainMod SHIFT, F, fullscreen, 1
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
|
|
||||||
# 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 linked to it
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Rofi menu for Quick Edit/View of Settings (SUPER E)
|
|
||||||
|
|
||||||
# Define preferred text editor and terminal
|
|
||||||
edit=${EDITOR:-nano}
|
|
||||||
tty=kitty
|
|
||||||
|
|
||||||
# Paths to configuration directories
|
|
||||||
configs="$HOME/.config/hypr/configs"
|
|
||||||
UserConfigs="$HOME/.config/hypr/UserConfigs"
|
|
||||||
|
|
||||||
# Function to display the menu options
|
|
||||||
menu() {
|
|
||||||
cat <<EOF
|
|
||||||
1. View / Edit Env-variables
|
|
||||||
2. View / Edit Window-Rules
|
|
||||||
3. View / Edit Startup_Apps
|
|
||||||
4. View / Edit User-Keybinds
|
|
||||||
5. View / Edit Monitors
|
|
||||||
6. View / Edit Laptop-Keybinds
|
|
||||||
7. View / Edit User-Settings
|
|
||||||
8. View / Edit Decorations & Animations
|
|
||||||
9. View / Edit Workspace-Rules
|
|
||||||
10. View / Edit Default-Settings
|
|
||||||
11. View / Edit Default-Keybinds
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main function to handle menu selection
|
|
||||||
main() {
|
|
||||||
choice=$(menu | rofi -i -dmenu -config ~/.config/rofi/config-compact.rasi | cut -d. -f1)
|
|
||||||
|
|
||||||
# Map choices to corresponding files
|
|
||||||
case $choice in
|
|
||||||
1) file="$UserConfigs/ENVariables.conf" ;;
|
|
||||||
2) file="$UserConfigs/WindowRules.conf" ;;
|
|
||||||
3) file="$UserConfigs/Startup_Apps.conf" ;;
|
|
||||||
4) file="$UserConfigs/UserKeybinds.conf" ;;
|
|
||||||
5) file="$UserConfigs/Monitors.conf" ;;
|
|
||||||
6) file="$UserConfigs/Laptops.conf" ;;
|
|
||||||
7) file="$UserConfigs/UserSettings.conf" ;;
|
|
||||||
8) file="$UserConfigs/UserDecorAnimations.conf" ;;
|
|
||||||
9) file="$UserConfigs/WorkspaceRules.conf" ;;
|
|
||||||
10) file="$configs/Settings.conf" ;;
|
|
||||||
11) file="$configs/Keybinds.conf" ;;
|
|
||||||
*) return ;; # Do nothing for invalid choices
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Open the selected file in the terminal with the text editor
|
|
||||||
$tty -e $edit "$file"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if rofi is already running
|
|
||||||
if pidof rofi > /dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
main
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# for rainbow borders animation
|
|
||||||
|
|
||||||
function random_hex() {
|
|
||||||
random_hex=("0xff$(openssl rand -hex 3)")
|
|
||||||
echo $random_hex
|
|
||||||
}
|
|
||||||
|
|
||||||
# rainbow colors only for active window
|
|
||||||
hyprctl keyword general:col.active_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg
|
|
||||||
|
|
||||||
# rainbow colors for inactive window (uncomment to take effect)
|
|
||||||
#hyprctl keyword general:col.inactive_border $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) $(random_hex) 270deg
|
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# For Rofi Beats to play online Music or Locally save media files
|
|
||||||
|
|
||||||
# Directory local music folder
|
|
||||||
mDIR="$HOME/Music/"
|
|
||||||
|
|
||||||
# Directory for icons
|
|
||||||
iDIR="$HOME/.config/swaync/icons"
|
|
||||||
|
|
||||||
# Online Stations. Edit as required
|
|
||||||
declare -A online_music=(
|
|
||||||
["Radio - Lofi Girl 🎧🎶"]="https://play.streamafrica.net/lofiradio"
|
|
||||||
["Radio - Chillhop 🎧🎶"]="http://stream.zeno.fm/fyn8eh3h5f8uv"
|
|
||||||
["FM - Easy Rock 96.3 📻🎶"]="https://radio-stations-philippines.com/easy-rock"
|
|
||||||
["FM - Easy Rock - Baguio 91.9 📻🎶"]="https://radio-stations-philippines.com/easy-rock-baguio"
|
|
||||||
["FM - Love Radio 90.7 📻🎶"]="https://radio-stations-philippines.com/love"
|
|
||||||
["FM - WRock - CEBU 96.3 📻🎶"]="https://onlineradio.ph/126-96-3-wrock.html"
|
|
||||||
["FM - Fresh Philippines 📻🎶"]="https://onlineradio.ph/553-fresh-fm.html"
|
|
||||||
["YT - Wish 107.5 YT Pinoy HipHop 📻🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJnmgMYwCKid4XIFqUKBVWEs&si=vahW_noh4UDJ5d37"
|
|
||||||
["YT - Top Youtube Music 2023 📹🎶"]="https://youtube.com/playlist?list=PLDIoUOhQQPlXr63I_vwF9GD8sAKh77dWU&si=y7qNeEVFNgA-XxKy"
|
|
||||||
["YT - Wish 107.5 YT Wishclusives 📹🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJn5B22H9HOWP3Kxxs-DkPSM&si=d_Ld2OKhGvpH48WO"
|
|
||||||
["YT - Relaxing Music 📹🎶"]="https://youtube.com/playlist?list=PLMIbmfP_9vb8BCxRoraJpoo4q1yMFg4CE"
|
|
||||||
["YT - Youtube Remix 📹🎶"]="https://youtube.com/playlist?list=PLeqTkIUlrZXlSNn3tcXAa-zbo95j0iN-0"
|
|
||||||
["YT - Korean Drama OST 📹🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ"
|
|
||||||
["YT - AfroBeatz 2024 📹🎶"]="https://www.youtube.com/watch?v=7uB-Eh9XVZQ"
|
|
||||||
["YT - Relaxing Piano Jazz Music 🎹🎶"]="https://youtu.be/85UEqRat6E4?si=jXQL1Yp2VP_G6NSn"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Populate local_music array with files from music directory and subdirectories
|
|
||||||
populate_local_music() {
|
|
||||||
local_music=()
|
|
||||||
filenames=()
|
|
||||||
while IFS= read -r file; do
|
|
||||||
local_music+=("$file")
|
|
||||||
filenames+=("$(basename "$file")")
|
|
||||||
done < <(find "$mDIR" -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.wav" -o -iname "*.ogg" -o -iname "*.mp4" \))
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function for displaying notifications
|
|
||||||
notification() {
|
|
||||||
notify-send -u normal -i "$iDIR/music.png" " Now Playing:" " $@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main function for playing local music
|
|
||||||
play_local_music() {
|
|
||||||
populate_local_music
|
|
||||||
|
|
||||||
# Prompt the user to select a song
|
|
||||||
choice=$(printf "%s\n" "${filenames[@]}" | rofi -i -dmenu -config ~/.config/rofi/config-rofi-Beats.rasi -p "Local Music")
|
|
||||||
|
|
||||||
if [ -z "$choice" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Find the corresponding file path based on user's choice and set that to play the song then continue on the list
|
|
||||||
for (( i=0; i<"${#filenames[@]}"; ++i )); do
|
|
||||||
if [ "${filenames[$i]}" = "$choice" ]; then
|
|
||||||
|
|
||||||
notification "$choice"
|
|
||||||
|
|
||||||
# Play the selected local music file using mpv
|
|
||||||
mpv --playlist-start="$i" --loop-playlist --vid=no "${local_music[@]}"
|
|
||||||
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main function for shuffling local music
|
|
||||||
shuffle_local_music() {
|
|
||||||
notification "Shuffle Play local music"
|
|
||||||
|
|
||||||
# Play music in $mDIR on shuffle
|
|
||||||
mpv --shuffle --loop-playlist --vid=no "$mDIR"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main function for playing online music
|
|
||||||
play_online_music() {
|
|
||||||
choice=$(printf "%s\n" "${!online_music[@]}" | rofi -i -dmenu -config ~/.config/rofi/config-rofi-Beats.rasi -p "Online Music")
|
|
||||||
|
|
||||||
if [ -z "$choice" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
link="${online_music[$choice]}"
|
|
||||||
|
|
||||||
notification "$choice"
|
|
||||||
|
|
||||||
# Play the selected online music using mpv
|
|
||||||
mpv --shuffle --vid=no "$link"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if an online music process is running and send a notification, otherwise run the main function
|
|
||||||
pkill mpv && notify-send -u low -i "$iDIR/music.png" "Music stopped" || {
|
|
||||||
|
|
||||||
# Check if rofi is already running
|
|
||||||
if pidof rofi > /dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Prompt the user to choose between local and online music
|
|
||||||
user_choice=$(printf "Play from Online Stations\nPlay from Music Folder\nShuffle Play from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source")
|
|
||||||
|
|
||||||
case "$user_choice" in
|
|
||||||
"Play from Music Folder")
|
|
||||||
play_local_music
|
|
||||||
;;
|
|
||||||
"Play from Online Stations")
|
|
||||||
play_online_music
|
|
||||||
;;
|
|
||||||
"Shuffle Play from Music Folder")
|
|
||||||
shuffle_local_music
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Invalid choice"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
|
||||||
# /* Calculator (using qalculate) and rofi */
|
|
||||||
# /* Submitted by: https://github.com/JosephArmas */
|
|
||||||
|
|
||||||
rofi_config="$HOME/.config/rofi/config-calc.rasi"
|
|
||||||
|
|
||||||
# Kill Rofi if already running before execution
|
|
||||||
if pgrep -x "rofi" >/dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# main function
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
result=$(
|
|
||||||
rofi -i -dmenu \
|
|
||||||
-config "$rofi_config" \
|
|
||||||
-mesg "$result = $calc_result"
|
|
||||||
)
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$result" ]; then
|
|
||||||
calc_result=$(qalc -t "$result")
|
|
||||||
echo "$calc_result" | wl-copy
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# source https://wiki.archlinux.org/title/Hyprland#Using_a_script_to_change_wallpaper_every_X_minutes
|
|
||||||
|
|
||||||
# This script will randomly go through the files of a directory, setting it
|
|
||||||
# up as the wallpaper at regular intervals
|
|
||||||
#
|
|
||||||
# NOTE: this script uses bash (not POSIX shell) for the RANDOM variable
|
|
||||||
|
|
||||||
wallust_refresh=$HOME/.config/hypr/scripts/RefreshNoWaybar.sh
|
|
||||||
|
|
||||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
|
||||||
|
|
||||||
if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
|
||||||
echo "Usage:
|
|
||||||
$0 <dir containing images>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Edit below to control the images transition
|
|
||||||
export SWWW_TRANSITION_FPS=60
|
|
||||||
export SWWW_TRANSITION_TYPE=simple
|
|
||||||
|
|
||||||
# This controls (in seconds) when to switch to the next image
|
|
||||||
INTERVAL=1800
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
find "$1" \
|
|
||||||
| while read -r img; do
|
|
||||||
echo "$((RANDOM % 1000)):$img"
|
|
||||||
done \
|
|
||||||
| sort -n | cut -d':' -f2- \
|
|
||||||
| while read -r img; do
|
|
||||||
swww img -o $focused_monitor "$img"
|
|
||||||
$wallust_refresh
|
|
||||||
sleep $INTERVAL
|
|
||||||
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
@ -1,100 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# Wallpaper Effects using ImageMagick (SUPER SHIFT W)
|
|
||||||
|
|
||||||
# Variables
|
|
||||||
current_wallpaper="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current"
|
|
||||||
wallpaper_output="$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
||||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
|
||||||
|
|
||||||
# Directory for swaync
|
|
||||||
iDIR="$HOME/.config/swaync/images"
|
|
||||||
|
|
||||||
# swww transition config
|
|
||||||
FPS=60
|
|
||||||
TYPE="wipe"
|
|
||||||
DURATION=2
|
|
||||||
BEZIER=".43,1.19,1,.4"
|
|
||||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION"
|
|
||||||
|
|
||||||
# Define ImageMagick effects
|
|
||||||
declare -A effects=(
|
|
||||||
["No Effects"]="no-effects"
|
|
||||||
["Black & White"]="magick $current_wallpaper -colorspace gray -sigmoidal-contrast 10,40% $wallpaper_output"
|
|
||||||
["Blurred"]="magick $current_wallpaper -blur 0x10 $wallpaper_output"
|
|
||||||
["Charcoal"]="magick $current_wallpaper -charcoal 0x5 $wallpaper_output"
|
|
||||||
["Edge Detect"]="magick $current_wallpaper -edge 1 $wallpaper_output"
|
|
||||||
["Emboss"]="magick $current_wallpaper -emboss 0x5 $wallpaper_output"
|
|
||||||
["Negate"]="magick $current_wallpaper -negate $wallpaper_output"
|
|
||||||
["Oil Paint"]="magick $current_wallpaper -paint 4 $wallpaper_output"
|
|
||||||
["Posterize"]="magick $current_wallpaper -posterize 4 $wallpaper_output"
|
|
||||||
["Polaroid"]="magick $current_wallpaper -polaroid 0 $wallpaper_output"
|
|
||||||
["Sepia Tone"]="magick $current_wallpaper -sepia-tone 65% $wallpaper_output"
|
|
||||||
["Solarize"]="magick $current_wallpaper -solarize 80% $wallpaper_output"
|
|
||||||
["Sharpen"]="magick $current_wallpaper -sharpen 0x5 $wallpaper_output"
|
|
||||||
["Vignette"]="magick $current_wallpaper -vignette 0x5 $wallpaper_output"
|
|
||||||
["Zoomed"]="magick $current_wallpaper -gravity Center -extent 1:1 $wallpaper_output"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Function to apply no effects
|
|
||||||
no-effects() {
|
|
||||||
swww img -o "$focused_monitor" "$current_wallpaper" $SWWW_PARAMS &&
|
|
||||||
# Wait for swww command to complete
|
|
||||||
wait $!
|
|
||||||
# Run other commands after swww
|
|
||||||
wallust run "$current_wallpaper" -s &&
|
|
||||||
wait $!
|
|
||||||
# Refresh rofi, waybar, wallust palettes
|
|
||||||
sleep 2
|
|
||||||
"$SCRIPTSDIR/Refresh.sh"
|
|
||||||
|
|
||||||
notify-send -u low -i "$iDIR/bell.png" "No wallpaper" "effects applied"
|
|
||||||
# copying wallpaper for rofi menu
|
|
||||||
cp "$current_wallpaper" "$wallpaper_output"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to run rofi menu
|
|
||||||
main() {
|
|
||||||
# Populate rofi menu options
|
|
||||||
options=("No Effects")
|
|
||||||
for effect in "${!effects[@]}"; do
|
|
||||||
[[ "$effect" != "No Effects" ]] && options+=("$effect")
|
|
||||||
done
|
|
||||||
|
|
||||||
# Show rofi menu and handle user choice
|
|
||||||
choice=$(printf "%s\n" "${options[@]}" | LC_COLLATE=C sort | rofi -dmenu -p "Choose effect" -i -config ~/.config/rofi/config-wallpaper-effect.rasi)
|
|
||||||
|
|
||||||
# Process user choice
|
|
||||||
if [[ -n "$choice" ]]; then
|
|
||||||
if [[ "$choice" == "No Effects" ]]; then
|
|
||||||
no-effects
|
|
||||||
elif [[ "${effects[$choice]+exists}" ]]; then
|
|
||||||
# Apply selected effect
|
|
||||||
notify-send -u normal -i "$iDIR/bell.png" "Applying:" "$choice effects"
|
|
||||||
eval "${effects[$choice]}"
|
|
||||||
# Wait for effects to be applied
|
|
||||||
sleep 1
|
|
||||||
# Execute swww command after image conversion
|
|
||||||
swww img -o "$focused_monitor" "$wallpaper_output" $SWWW_PARAMS &
|
|
||||||
# Wait for swww command to complete
|
|
||||||
sleep 2
|
|
||||||
# Wait for other commands to finish
|
|
||||||
wallust run "$wallpaper_output" -s &
|
|
||||||
# Wait for other commands to finish
|
|
||||||
sleep 0.5
|
|
||||||
# Refresh rofi, waybar, wallust palettes
|
|
||||||
"${SCRIPTSDIR}/Refresh.sh"
|
|
||||||
notify-send -u low -i "$iDIR/bell.png" "$choice" "effects applied"
|
|
||||||
else
|
|
||||||
echo "Effect '$choice' not recognized."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if rofi is already running and kill it
|
|
||||||
if pidof rofi > /dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
main
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Script for Random Wallpaper ( CTRL ALT W)
|
|
||||||
|
|
||||||
wallDIR="$HOME/Pictures/wallpapers"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
||||||
|
|
||||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
|
||||||
|
|
||||||
PICS=($(find ${wallDIR} -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.gif" \)))
|
|
||||||
RANDOMPICS=${PICS[ $RANDOM % ${#PICS[@]} ]}
|
|
||||||
|
|
||||||
|
|
||||||
# Transition config
|
|
||||||
FPS=30
|
|
||||||
TYPE="random"
|
|
||||||
DURATION=1
|
|
||||||
BEZIER=".43,1.19,1,.4"
|
|
||||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
|
||||||
|
|
||||||
|
|
||||||
swww query || swww-daemon --format xrgb && swww img -o $focused_monitor ${RANDOMPICS} $SWWW_PARAMS
|
|
||||||
|
|
||||||
wait $!
|
|
||||||
"$SCRIPTSDIR/WallustSwww.sh" &&
|
|
||||||
|
|
||||||
wait $!
|
|
||||||
sleep 2
|
|
||||||
"$SCRIPTSDIR/Refresh.sh"
|
|
||||||
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
|
||||||
# This script for selecting wallpapers (SUPER W)
|
|
||||||
|
|
||||||
# WALLPAPERS PATH
|
|
||||||
wallDIR="$HOME/Pictures/wallpapers"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
||||||
|
|
||||||
# variables
|
|
||||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
|
||||||
# swww transition config
|
|
||||||
FPS=60
|
|
||||||
TYPE="any"
|
|
||||||
DURATION=2
|
|
||||||
BEZIER=".43,1.19,1,.4"
|
|
||||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION"
|
|
||||||
|
|
||||||
# Check if swaybg is running
|
|
||||||
if pidof swaybg > /dev/null; then
|
|
||||||
pkill swaybg
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Retrieve image files using null delimiter to handle spaces in filenames
|
|
||||||
mapfile -d '' PICS < <(find "${wallDIR}" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" \) -print0)
|
|
||||||
|
|
||||||
RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
|
|
||||||
RANDOM_PIC_NAME=". random"
|
|
||||||
|
|
||||||
# Rofi command
|
|
||||||
rofi_command="rofi -i -show -dmenu -config ~/.config/rofi/config-wallpaper.rasi"
|
|
||||||
|
|
||||||
# Sorting Wallpapers
|
|
||||||
menu() {
|
|
||||||
# Sort the PICS array
|
|
||||||
IFS=$'\n' sorted_options=($(sort <<<"${PICS[*]}"))
|
|
||||||
|
|
||||||
# Place ". random" at the beginning with the random picture as an icon
|
|
||||||
printf "%s\x00icon\x1f%s\n" "$RANDOM_PIC_NAME" "$RANDOM_PIC"
|
|
||||||
|
|
||||||
for pic_path in "${sorted_options[@]}"; do
|
|
||||||
pic_name=$(basename "$pic_path")
|
|
||||||
|
|
||||||
# Displaying .gif to indicate animated images
|
|
||||||
if [[ ! "$pic_name" =~ \.gif$ ]]; then
|
|
||||||
printf "%s\x00icon\x1f%s\n" "$(echo "$pic_name" | cut -d. -f1)" "$pic_path"
|
|
||||||
else
|
|
||||||
printf "%s\n" "$pic_name"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# initiate swww if not running
|
|
||||||
swww query || swww-daemon --format xrgb
|
|
||||||
|
|
||||||
# Choice of wallpapers
|
|
||||||
main() {
|
|
||||||
choice=$(menu | $rofi_command)
|
|
||||||
|
|
||||||
# Trim any potential whitespace or hidden characters
|
|
||||||
choice=$(echo "$choice" | xargs)
|
|
||||||
RANDOM_PIC_NAME=$(echo "$RANDOM_PIC_NAME" | xargs)
|
|
||||||
|
|
||||||
# No choice case
|
|
||||||
if [[ -z "$choice" ]]; then
|
|
||||||
echo "No choice selected. Exiting."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Random choice case
|
|
||||||
if [[ "$choice" == "$RANDOM_PIC_NAME" ]]; then
|
|
||||||
swww img -o "$focused_monitor" "$RANDOM_PIC" $SWWW_PARAMS;
|
|
||||||
sleep 2
|
|
||||||
"$SCRIPTSDIR/WallustSwww.sh"
|
|
||||||
sleep 0.5
|
|
||||||
"$SCRIPTSDIR/Refresh.sh"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Find the index of the selected file
|
|
||||||
pic_index=-1
|
|
||||||
for i in "${!PICS[@]}"; do
|
|
||||||
filename=$(basename "${PICS[$i]}")
|
|
||||||
if [[ "$filename" == "$choice"* ]]; then
|
|
||||||
pic_index=$i
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ $pic_index -ne -1 ]]; then
|
|
||||||
swww img -o "$focused_monitor" "${PICS[$pic_index]}" $SWWW_PARAMS
|
|
||||||
else
|
|
||||||
echo "Image not found."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if rofi is already running
|
|
||||||
if pidof rofi > /dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
main
|
|
||||||
|
|
||||||
wait $!
|
|
||||||
"$SCRIPTSDIR/WallustSwww.sh" &&
|
|
||||||
|
|
||||||
wait $!
|
|
||||||
sleep 2
|
|
||||||
"$SCRIPTSDIR/Refresh.sh"
|
|
||||||
|
|
||||||
|
|
@ -1,138 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# weather using python
|
|
||||||
|
|
||||||
import subprocess
|
|
||||||
from pyquery import PyQuery # install using `pip install pyquery`
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
|
|
||||||
# original code https://gist.github.com/Surendrajat/ff3876fd2166dd86fb71180f4e9342d7
|
|
||||||
# weather icons
|
|
||||||
weather_icons = {
|
|
||||||
"sunnyDay": "",
|
|
||||||
"clearNight": "",
|
|
||||||
"cloudyFoggyDay": "",
|
|
||||||
"cloudyFoggyNight": "",
|
|
||||||
"rainyDay": "",
|
|
||||||
"rainyNight": "",
|
|
||||||
"snowyIcyDay": "",
|
|
||||||
"snowyIcyNight": "",
|
|
||||||
"severe": "",
|
|
||||||
"default": "",
|
|
||||||
}
|
|
||||||
|
|
||||||
# get location_id
|
|
||||||
# to get your own location_id, go to https://weather.com & search your location.
|
|
||||||
# once you choose your location, you can see the location_id in the URL(64 chars long hex string)
|
|
||||||
# like this: https://weather.com/en-PH/weather/today/l/bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200
|
|
||||||
location_id = "bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200" # TODO
|
|
||||||
|
|
||||||
# NOTE to change to deg F, change the URL to your preffered location after weather.com
|
|
||||||
# Default is English-Philippines with Busan, South Korea as location_id
|
|
||||||
# get html page
|
|
||||||
url = "https://weather.com/en-PH/weather/today/l/" + location_id
|
|
||||||
html_data = PyQuery(url=url)
|
|
||||||
|
|
||||||
# current temperature
|
|
||||||
temp = html_data("span[data-testid='TemperatureValue']").eq(0).text()
|
|
||||||
# print(temp)
|
|
||||||
|
|
||||||
# current status phrase
|
|
||||||
status = html_data("div[data-testid='wxPhrase']").text()
|
|
||||||
status = f"{status[:16]}.." if len(status) > 17 else status
|
|
||||||
# print(status)
|
|
||||||
|
|
||||||
# status code
|
|
||||||
status_code = html_data("#regionHeader").attr("class").split(" ")[2].split("-")[2]
|
|
||||||
# print(status_code)
|
|
||||||
|
|
||||||
# status icon
|
|
||||||
icon = (
|
|
||||||
weather_icons[status_code]
|
|
||||||
if status_code in weather_icons
|
|
||||||
else weather_icons["default"]
|
|
||||||
)
|
|
||||||
# print(icon)
|
|
||||||
|
|
||||||
# temperature feels like
|
|
||||||
temp_feel = html_data(
|
|
||||||
"div[data-testid='FeelsLikeSection'] > span > span[data-testid='TemperatureValue']"
|
|
||||||
).text()
|
|
||||||
temp_feel_text = f"Feels like {temp_feel}c"
|
|
||||||
# print(temp_feel_text)
|
|
||||||
|
|
||||||
# min-max temperature
|
|
||||||
temp_min = (
|
|
||||||
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
|
|
||||||
.eq(1)
|
|
||||||
.text()
|
|
||||||
)
|
|
||||||
temp_max = (
|
|
||||||
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
|
|
||||||
.eq(0)
|
|
||||||
.text()
|
|
||||||
)
|
|
||||||
temp_min_max = f" {temp_min}\t\t {temp_max}"
|
|
||||||
# print(temp_min_max)
|
|
||||||
|
|
||||||
# wind speed
|
|
||||||
wind_speed = html_data("span[data-testid='Wind']").text().split("\n")[1]
|
|
||||||
wind_text = f" {wind_speed}"
|
|
||||||
# print(wind_text)
|
|
||||||
|
|
||||||
# humidity
|
|
||||||
humidity = html_data("span[data-testid='PercentageValue']").text()
|
|
||||||
humidity_text = f" {humidity}"
|
|
||||||
# print(humidity_text)
|
|
||||||
|
|
||||||
# visibility
|
|
||||||
visbility = html_data("span[data-testid='VisibilityValue']").text()
|
|
||||||
visbility_text = f" {visbility}"
|
|
||||||
# print(visbility_text)
|
|
||||||
|
|
||||||
# air quality index
|
|
||||||
air_quality_index = html_data("text[data-testid='DonutChartValue']").text()
|
|
||||||
# print(air_quality_index)
|
|
||||||
|
|
||||||
# hourly rain prediction
|
|
||||||
prediction = html_data("section[aria-label='Hourly Forecast']")(
|
|
||||||
"div[data-testid='SegmentPrecipPercentage'] > span"
|
|
||||||
).text()
|
|
||||||
prediction = prediction.replace("Chance of Rain", "")
|
|
||||||
prediction = f"\n\n (hourly) {prediction}" if len(prediction) > 0 else prediction
|
|
||||||
# print(prediction)
|
|
||||||
|
|
||||||
# tooltip text
|
|
||||||
tooltip_text = str.format(
|
|
||||||
"\t\t{}\t\t\n{}\n{}\n{}\n\n{}\n{}\n{}{}",
|
|
||||||
f'<span size="xx-large">{temp}</span>',
|
|
||||||
f"<big> {icon}</big>",
|
|
||||||
f"<b>{status}</b>",
|
|
||||||
f"<small>{temp_feel_text}</small>",
|
|
||||||
f"<b>{temp_min_max}</b>",
|
|
||||||
f"{wind_text}\t{humidity_text}",
|
|
||||||
f"{visbility_text}\tAQI {air_quality_index}",
|
|
||||||
f"<i> {prediction}</i>",
|
|
||||||
)
|
|
||||||
|
|
||||||
# print waybar module data
|
|
||||||
out_data = {
|
|
||||||
"text": f"{icon} {temp}",
|
|
||||||
"alt": status,
|
|
||||||
"tooltip": tooltip_text,
|
|
||||||
"class": status_code,
|
|
||||||
}
|
|
||||||
print(json.dumps(out_data))
|
|
||||||
|
|
||||||
simple_weather =f"{icon} {status}\n" + \
|
|
||||||
f" {temp} ({temp_feel_text})\n" + \
|
|
||||||
f"{wind_text} \n" + \
|
|
||||||
f"{humidity_text} \n" + \
|
|
||||||
f"{visbility_text} AQI{air_quality_index}\n"
|
|
||||||
|
|
||||||
try:
|
|
||||||
with open(os.path.expanduser("~/.cache/.weather_cache"), "w") as file:
|
|
||||||
file.write(simple_weather)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# weather info from wttr. https://github.com/chubin/wttr.in
|
|
||||||
# Remember to add city
|
|
||||||
|
|
||||||
city=
|
|
||||||
cachedir=~/.cache/rbn
|
|
||||||
cachefile=${0##*/}-$1
|
|
||||||
|
|
||||||
if [ ! -d $cachedir ]; then
|
|
||||||
mkdir -p $cachedir
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f $cachedir/$cachefile ]; then
|
|
||||||
touch $cachedir/$cachefile
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Save current IFS
|
|
||||||
SAVEIFS=$IFS
|
|
||||||
# Change IFS to new line.
|
|
||||||
IFS=$'\n'
|
|
||||||
|
|
||||||
cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile")))
|
|
||||||
if [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ]; then
|
|
||||||
data=($(curl -s https://en.wttr.in/"$city"$1\?0qnT 2>&1))
|
|
||||||
echo ${data[0]} | cut -f1 -d, > $cachedir/$cachefile
|
|
||||||
echo ${data[1]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
|
||||||
echo ${data[2]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
|
||||||
fi
|
|
||||||
|
|
||||||
weather=($(cat $cachedir/$cachefile))
|
|
||||||
|
|
||||||
# Restore IFSClear
|
|
||||||
IFS=$SAVEIFS
|
|
||||||
|
|
||||||
temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]]+)\.\./\1 to /g')
|
|
||||||
|
|
||||||
#echo ${weather[1]##*,}
|
|
||||||
|
|
||||||
# https://fontawesome.com/icons?s=solid&c=weather
|
|
||||||
case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in
|
|
||||||
"clear" | "sunny")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"partly cloudy")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"cloudy")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"overcast")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"fog" | "freezing fog")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"patchy rain possible" | "patchy light drizzle" | "light drizzle" | "patchy light rain" | "light rain" | "light rain shower" | "mist" | "rain")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"moderate rain at times" | "moderate rain" | "heavy rain at times" | "heavy rain" | "moderate or heavy rain shower" | "torrential rain shower" | "rain shower")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"patchy snow possible" | "patchy sleet possible" | "patchy freezing drizzle possible" | "freezing drizzle" | "heavy freezing drizzle" | "light freezing rain" | "moderate or heavy freezing rain" | "light sleet" | "ice pellets" | "light sleet showers" | "moderate or heavy sleet showers")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"blowing snow" | "moderate or heavy sleet" | "patchy light snow" | "light snow" | "light snow showers")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"blizzard" | "patchy moderate snow" | "moderate snow" | "patchy heavy snow" | "heavy snow" | "moderate or heavy snow with thunder" | "moderate or heavy snow showers")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
"thundery outbreaks possible" | "patchy light rain with thunder" | "moderate or heavy rain with thunder" | "patchy light snow with thunder")
|
|
||||||
condition=""
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
condition=""
|
|
||||||
echo -e "{\"text\":\""$condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#echo $temp $condition
|
|
||||||
|
|
||||||
echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
|
||||||
|
|
||||||
cached_weather=" $temperature \n$condition ${weather[1]}"
|
|
||||||
|
|
||||||
echo -e $cached_weather > ~/.cache/.weather_cache
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Script for Oh my ZSH theme ( CTRL SHIFT O)
|
|
||||||
|
|
||||||
# preview of theme can be view here: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
|
||||||
# after choosing theme, TTY need to be closed and re-open
|
|
||||||
|
|
||||||
themes_dir="$HOME/.oh-my-zsh/themes"
|
|
||||||
file_extension=".zsh-theme"
|
|
||||||
|
|
||||||
# Directory for swaync
|
|
||||||
iDIR="$HOME/.config/swaync/images"
|
|
||||||
|
|
||||||
themes_array=($(find "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//"))
|
|
||||||
|
|
||||||
# Add "Random" option to the beginning of the array
|
|
||||||
themes_array=("Random" "${themes_array[@]}")
|
|
||||||
|
|
||||||
rofi_command="rofi -i -dmenu -config ~/.config/rofi/config-zsh-theme.rasi"
|
|
||||||
|
|
||||||
menu() {
|
|
||||||
for theme in "${themes_array[@]}"; do
|
|
||||||
echo "$theme"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
choice=$(menu | ${rofi_command})
|
|
||||||
|
|
||||||
# if nothing selected, script won't change anything
|
|
||||||
if [ -z "$choice" ]; then
|
|
||||||
notify-send -u low -i "$iDIR/bell.png" "No theme selected." "No changes made!"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
zsh_path="$HOME/.zshrc"
|
|
||||||
var_name="ZSH_THEME"
|
|
||||||
|
|
||||||
if [[ "$choice" == "Random" ]]; then
|
|
||||||
# Pick a random theme from the original themes_array (excluding "Random")
|
|
||||||
random_theme=${themes_array[$((RANDOM % (${#themes_array[@]} - 1) + 1))]}
|
|
||||||
theme_to_set="$random_theme"
|
|
||||||
notify-send -i "$iDIR/bell.png" "Random theme:" "selected: $random_theme"
|
|
||||||
else
|
|
||||||
# Set theme to the selected choice
|
|
||||||
theme_to_set="$choice"
|
|
||||||
notify-send -i "$iDIR/bell.png" "Theme selected:" "$choice"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "$zsh_path" ]; then
|
|
||||||
sed -i "s/^$var_name=.*/$var_name=\"$theme_to_set\"/" "$zsh_path"
|
|
||||||
notify-send -i "$iDIR/bell.png" "OMZ theme" "applied. restart your terminal"
|
|
||||||
else
|
|
||||||
notify-send "Error:" "~.zshrc file not found!"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if rofi is already running
|
|
||||||
if pidof rofi > /dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
main
|
|
||||||
|
|
@ -1,170 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# Default Keybinds
|
|
||||||
# visit https://wiki.hyprland.org/Configuring/Binds/ for more info
|
|
||||||
|
|
||||||
$mainMod = SUPER
|
|
||||||
# Default
|
|
||||||
$scriptsDir = $HOME/.config/hypr/scripts
|
|
||||||
$configs = $HOME/.config/hypr/configs
|
|
||||||
# User
|
|
||||||
$UserConfigs = $HOME/.config/hypr/UserConfigs
|
|
||||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
|
||||||
|
|
||||||
bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0
|
|
||||||
bind = $mainMod, Q, killactive,
|
|
||||||
bind = $mainMod, F, fullscreen
|
|
||||||
bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh
|
|
||||||
bind = $mainMod SHIFT, F, togglefloating,
|
|
||||||
bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat
|
|
||||||
bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh # screen lock
|
|
||||||
bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh # power menu
|
|
||||||
|
|
||||||
# FEATURES / EXTRAS
|
|
||||||
bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # help file
|
|
||||||
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
|
|
||||||
bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji menu
|
|
||||||
bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search using rofi
|
|
||||||
bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings
|
|
||||||
bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # Toggle animations ON/OFF
|
|
||||||
bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout
|
|
||||||
bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager
|
|
||||||
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC notification panel
|
|
||||||
|
|
||||||
# FEATURES / EXTRAS (UserScripts)
|
|
||||||
bind = $mainMod, E, exec, $UserScripts/QuickEdit.sh # Quick Edit Hyprland Settings
|
|
||||||
bind = $mainMod, W, exec, $UserScripts/WallpaperSelect.sh # Select wallpaper to apply
|
|
||||||
bind = $mainMod SHIFT, W, exec, $UserScripts/WallpaperEffects.sh # Wallpaper Effects by imagemagick
|
|
||||||
bind = CTRL ALT, W, exec, $UserScripts/WallpaperRandom.sh # Random wallpapers
|
|
||||||
bind = $mainMod ALT, O, exec, hyprctl setprop active opaque toggle # disable opacity on active window
|
|
||||||
bind = $mainMod SHIFT, K, exec, $scriptsDir/KeyBinds.sh # search keybinds via rofi
|
|
||||||
|
|
||||||
# Waybar / Bar related
|
|
||||||
bind = $mainMod, B, exec, pkill -SIGUSR1 waybar # Toggle hide/show waybar
|
|
||||||
bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu
|
|
||||||
bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu
|
|
||||||
|
|
||||||
# Dwindle Layout
|
|
||||||
bind = $mainMod SHIFT, I, togglesplit # only works on dwindle layout
|
|
||||||
bind = $mainMod, P, pseudo, # dwindle
|
|
||||||
|
|
||||||
# Master Layout
|
|
||||||
bind = $mainMod CTRL, D, layoutmsg, removemaster
|
|
||||||
bind = $mainMod, I, layoutmsg, addmaster
|
|
||||||
bind = $mainMod, J, layoutmsg, cyclenext
|
|
||||||
bind = $mainMod, K, layoutmsg, cycleprev
|
|
||||||
bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster
|
|
||||||
|
|
||||||
# Works on either layout (Master or Dwindle)
|
|
||||||
bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3
|
|
||||||
|
|
||||||
# group
|
|
||||||
bind = $mainMod, G, togglegroup # toggle group
|
|
||||||
bind = $mainMod CTRL, tab, changegroupactive # change focus to another window
|
|
||||||
|
|
||||||
# Cycle windows if floating bring to top
|
|
||||||
bind = ALT, tab, cyclenext
|
|
||||||
bind = ALT, tab, bringactivetotop
|
|
||||||
|
|
||||||
# Special Keys / Hot Keys
|
|
||||||
bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc # volume up
|
|
||||||
bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec # volume down
|
|
||||||
bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic # mic mute
|
|
||||||
bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle # mute
|
|
||||||
bindl = , xf86Sleep, exec, systemctl suspend # sleep button
|
|
||||||
bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh # Airplane mode
|
|
||||||
|
|
||||||
# media controls using keyboards
|
|
||||||
bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause
|
|
||||||
bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause
|
|
||||||
bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause
|
|
||||||
bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt
|
|
||||||
bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv
|
|
||||||
bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop
|
|
||||||
|
|
||||||
# Screenshot keybindings NOTE: You may need to press Fn key as well
|
|
||||||
bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now # screenshot
|
|
||||||
bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area)
|
|
||||||
bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 # screenshot (5 secs delay)
|
|
||||||
bind = $mainMod CTRL SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 # screenshot (10 secs delay)
|
|
||||||
bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only)
|
|
||||||
|
|
||||||
# screenshot with swappy (another screenshot tool)
|
|
||||||
bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy #screenshot (swappy)
|
|
||||||
|
|
||||||
# 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 windows
|
|
||||||
bind = $mainMod CTRL, left, movewindow, l
|
|
||||||
bind = $mainMod CTRL, right, movewindow, r
|
|
||||||
bind = $mainMod CTRL, up, movewindow, u
|
|
||||||
bind = $mainMod CTRL, down, movewindow, d
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
|
||||||
bind = $mainMod, left, movefocus, l
|
|
||||||
bind = $mainMod, right, movefocus, r
|
|
||||||
bind = $mainMod, up, movefocus, u
|
|
||||||
bind = $mainMod, down, movefocus, d
|
|
||||||
|
|
||||||
# Workspaces related
|
|
||||||
bind = $mainMod ALT, tab, workspace, m+1
|
|
||||||
bind = $mainMod SHIFT, tab, workspace, m-1
|
|
||||||
|
|
||||||
# Special workspace
|
|
||||||
bind = $mainMod SHIFT, U, movetoworkspace, special
|
|
||||||
bind = $mainMod, U, togglespecialworkspace,
|
|
||||||
|
|
||||||
# The following mappings use the key codes to better support various keyboard layouts
|
|
||||||
# 1 is code:10, 2 is code 11, etc
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
|
||||||
bind = $mainMod, code:10, workspace, 1
|
|
||||||
bind = $mainMod, code:11, workspace, 2
|
|
||||||
bind = $mainMod, code:12, workspace, 3
|
|
||||||
bind = $mainMod, code:13, workspace, 4
|
|
||||||
bind = $mainMod, code:14, workspace, 5
|
|
||||||
bind = $mainMod, code:15, workspace, 6
|
|
||||||
bind = $mainMod, code:16, workspace, 7
|
|
||||||
bind = $mainMod, code:17, workspace, 8
|
|
||||||
bind = $mainMod, code:18, workspace, 9
|
|
||||||
bind = $mainMod, code:19, workspace, 10
|
|
||||||
|
|
||||||
# Move active window and follow to workspace mainMod + SHIFT [0-9]
|
|
||||||
bind = $mainMod SHIFT, code:10, movetoworkspace, 1
|
|
||||||
bind = $mainMod SHIFT, code:11, movetoworkspace, 2
|
|
||||||
bind = $mainMod SHIFT, code:12, movetoworkspace, 3
|
|
||||||
bind = $mainMod SHIFT, code:13, movetoworkspace, 4
|
|
||||||
bind = $mainMod SHIFT, code:14, movetoworkspace, 5
|
|
||||||
bind = $mainMod SHIFT, code:15, movetoworkspace, 6
|
|
||||||
bind = $mainMod SHIFT, code:16, movetoworkspace, 7
|
|
||||||
bind = $mainMod SHIFT, code:17, movetoworkspace, 8
|
|
||||||
bind = $mainMod SHIFT, code:18, movetoworkspace, 9
|
|
||||||
bind = $mainMod SHIFT, code:19, movetoworkspace, 10
|
|
||||||
bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ]
|
|
||||||
bind = $mainMod SHIFT, bracketright, movetoworkspace, +1
|
|
||||||
|
|
||||||
# Move active window to a workspace silently mainMod + CTRL [0-9]
|
|
||||||
bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1
|
|
||||||
bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2
|
|
||||||
bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3
|
|
||||||
bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4
|
|
||||||
bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5
|
|
||||||
bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6
|
|
||||||
bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7
|
|
||||||
bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8
|
|
||||||
bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9
|
|
||||||
bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10
|
|
||||||
bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ]
|
|
||||||
bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
|
||||||
bind = $mainMod, period, workspace, e+1
|
|
||||||
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
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
|
|
||||||
# Default Settings. avoid changing this file as during update, this will be replaced
|
|
||||||
|
|
||||||
# refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables
|
|
||||||
|
|
||||||
# Initial boot script enable to apply initial wallpapers, theming, new settings etc.
|
|
||||||
exec-once = $HOME/.config/hypr/initial-boot.sh
|
|
||||||
|
|
@ -1,22 +1,12 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
$hyprPath = ~/.config/hypr
|
||||||
# Sourcing external config files
|
$config = $hyprPath/config
|
||||||
|
|
||||||
# Default Configs
|
source = $config/Startup_Apps.conf
|
||||||
$configs = $HOME/.config/hypr/configs
|
source = $config/Animation.conf
|
||||||
|
source = $config/Settings.conf
|
||||||
source=$configs/Settings.conf
|
source = $config/Decoration.conf
|
||||||
|
source = $config/ENVariables.conf
|
||||||
# User Configs
|
source = $config/Keybinds.conf
|
||||||
$UserConfigs = $HOME/.config/hypr/UserConfigs
|
source = $config/Monitors.conf
|
||||||
|
source = $config/WindowRules.conf
|
||||||
source= $UserConfigs/i3Keybinds.conf
|
source = $config/WorkspaceRules.conf
|
||||||
source= $UserConfigs/Startup_Apps.conf
|
|
||||||
source= $UserConfigs/ENVariables.conf
|
|
||||||
source= $UserConfigs/Monitors.conf
|
|
||||||
source= $UserConfigs/Laptops.conf
|
|
||||||
source= $UserConfigs/LaptopDisplay.conf
|
|
||||||
source= $UserConfigs/WindowRules.conf
|
|
||||||
source= $UserConfigs/UserDecorAnimations.conf
|
|
||||||
source= $UserConfigs/UserKeybinds.conf
|
|
||||||
source= $UserConfigs/UserSettings.conf
|
|
||||||
source= $UserConfigs/WorkspaceRules.conf
|
|
||||||
|
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
|
||||||
# A bash script designed to run only once dotfiles installed
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# marker file is located at ~/.config/hypr/.initial_startup_done
|
|
||||||
# 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
|
|
||||||
wallpaper=$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified
|
|
||||||
waybar_style="$HOME/.config/waybar/style/[Dark] Latte-Wallust combined.css"
|
|
||||||
kvantum_theme="catppuccin-mocha-blue"
|
|
||||||
color_scheme="prefer-dark"
|
|
||||||
gtk_theme="Flat-Remix-GTK-Blue-Dark"
|
|
||||||
icon_theme="Flat-Remix-Blue-Dark"
|
|
||||||
cursor_theme="Bibata-Modern-Ice"
|
|
||||||
|
|
||||||
swww="swww img"
|
|
||||||
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 30 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
|
||||||
|
|
||||||
# Check if a marker file exists.
|
|
||||||
if [ ! -f ~/.config/hypr/.initial_startup_done ]; then
|
|
||||||
sleep 1
|
|
||||||
# Initialize wallust and wallpaper
|
|
||||||
if [ -f "$wallpaper" ]; then
|
|
||||||
wallust run -s $wallpaper > /dev/null
|
|
||||||
swww query || swww-daemon && $swww $wallpaper $effect
|
|
||||||
"$scriptsDir/WallustSwww.sh" > /dev/null 2>&1 &
|
|
||||||
fi
|
|
||||||
|
|
||||||
# initiate GTK dark mode and apply icon and cursor theme
|
|
||||||
gsettings set org.gnome.desktop.interface color-scheme $color_scheme > /dev/null 2>&1 &
|
|
||||||
gsettings set org.gnome.desktop.interface gtk-theme $gtk_theme > /dev/null 2>&1 &
|
|
||||||
gsettings set org.gnome.desktop.interface icon-theme $icon_theme > /dev/null 2>&1 &
|
|
||||||
gsettings set org.gnome.desktop.interface cursor-theme $cursor_theme > /dev/null 2>&1 &
|
|
||||||
gsettings set org.gnome.desktop.interface cursor-size 24 > /dev/null 2>&1 &
|
|
||||||
|
|
||||||
# initiate kvantum theme
|
|
||||||
kvantummanager --set "$kvantum_theme" > /dev/null 2>&1 &
|
|
||||||
|
|
||||||
# initiate the kb_layout (for some reason) waybar cant launch it
|
|
||||||
"$scriptsDir/SwitchKeyboardLayout.sh" > /dev/null 2>&1 &
|
|
||||||
|
|
||||||
# Initial waybar style
|
|
||||||
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
|
|
||||||
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Airplane Mode. Turning on or off all wifi using rfkill.
|
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images/bell.png"
|
|
||||||
|
|
||||||
# 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 block wifi
|
|
||||||
notify-send -u low -i "$notif" " Airplane" " mode: ON"
|
|
||||||
fi
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Script for Monitor backlights (if supported) using brightnessctl
|
|
||||||
|
|
||||||
iDIR="$HOME/.config/swaync/icons"
|
|
||||||
notification_timeout=1000
|
|
||||||
step=10 # INCREASE/DECREASE BY THIS VALUE
|
|
||||||
|
|
||||||
# Get brightness
|
|
||||||
get_backlight() {
|
|
||||||
brightnessctl -m | cut -d, -f4 | sed 's/%//'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get icons
|
|
||||||
get_icon() {
|
|
||||||
current=$(get_backlight)
|
|
||||||
if [ "$current" -le "20" ]; then
|
|
||||||
icon="$iDIR/brightness-20.png"
|
|
||||||
elif [ "$current" -le "40" ]; then
|
|
||||||
icon="$iDIR/brightness-40.png"
|
|
||||||
elif [ "$current" -le "60" ]; then
|
|
||||||
icon="$iDIR/brightness-60.png"
|
|
||||||
elif [ "$current" -le "80" ]; then
|
|
||||||
icon="$iDIR/brightness-80.png"
|
|
||||||
else
|
|
||||||
icon="$iDIR/brightness-100.png"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Notify
|
|
||||||
notify_user() {
|
|
||||||
notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i $icon "Screen" "Brightness:$current%"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Change brightness
|
|
||||||
change_backlight() {
|
|
||||||
local current_brightness
|
|
||||||
current_brightness=$(get_backlight)
|
|
||||||
|
|
||||||
# Calculate new brightness
|
|
||||||
if [[ "$1" == "+${step}%" ]]; then
|
|
||||||
new_brightness=$((current_brightness + step))
|
|
||||||
elif [[ "$1" == "${step}%-" ]]; then
|
|
||||||
new_brightness=$((current_brightness - step))
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Ensure new brightness is within valid range
|
|
||||||
if (( new_brightness < 5 )); then
|
|
||||||
new_brightness=5
|
|
||||||
elif (( new_brightness > 100 )); then
|
|
||||||
new_brightness=100
|
|
||||||
fi
|
|
||||||
|
|
||||||
brightnessctl set "${new_brightness}%"
|
|
||||||
get_icon
|
|
||||||
current=$new_brightness
|
|
||||||
notify_user
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute accordingly
|
|
||||||
case "$1" in
|
|
||||||
"--get")
|
|
||||||
get_backlight
|
|
||||||
;;
|
|
||||||
"--inc")
|
|
||||||
change_backlight "+${step}%"
|
|
||||||
;;
|
|
||||||
"--dec")
|
|
||||||
change_backlight "${step}%-"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
get_backlight
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Script for keyboard backlights (if supported) using brightnessctl
|
|
||||||
|
|
||||||
iDIR="$HOME/.config/swaync/icons"
|
|
||||||
|
|
||||||
# Get keyboard brightness
|
|
||||||
get_kbd_backlight() {
|
|
||||||
echo $(brightnessctl -d '*::kbd_backlight' -m | cut -d, -f4)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get icons
|
|
||||||
get_icon() {
|
|
||||||
current=$(get_kbd_backlight | sed 's/%//')
|
|
||||||
if [ "$current" -le "20" ]; then
|
|
||||||
icon="$iDIR/brightness-20.png"
|
|
||||||
elif [ "$current" -le "40" ]; then
|
|
||||||
icon="$iDIR/brightness-40.png"
|
|
||||||
elif [ "$current" -le "60" ]; then
|
|
||||||
icon="$iDIR/brightness-60.png"
|
|
||||||
elif [ "$current" -le "80" ]; then
|
|
||||||
icon="$iDIR/brightness-80.png"
|
|
||||||
else
|
|
||||||
icon="$iDIR/brightness-100.png"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Notify
|
|
||||||
notify_user() {
|
|
||||||
notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Keyboard" "Brightness:$current%"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Change brightness
|
|
||||||
change_kbd_backlight() {
|
|
||||||
brightnessctl -d *::kbd_backlight set "$1" && get_icon && notify_user
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute accordingly
|
|
||||||
case "$1" in
|
|
||||||
"--get")
|
|
||||||
get_kbd_backlight
|
|
||||||
;;
|
|
||||||
"--inc")
|
|
||||||
change_kbd_backlight "+30%"
|
|
||||||
;;
|
|
||||||
"--dec")
|
|
||||||
change_kbd_backlight "30%-"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
get_kbd_backlight
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Script for changing blurs on the fly
|
|
||||||
|
|
||||||
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
|
|
||||||
notify-send -e -u low -i "$notif" " Less Blur"
|
|
||||||
else
|
|
||||||
hyprctl keyword decoration:blur:size 5
|
|
||||||
hyprctl keyword decoration:blur:passes 2
|
|
||||||
notify-send -e -u low -i "$notif" " Normal Blur"
|
|
||||||
fi
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# for changing Hyprland Layouts (Master or Dwindle) on the fly
|
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images/bell.png"
|
|
||||||
|
|
||||||
LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g')
|
|
||||||
|
|
||||||
case $LAYOUT in
|
|
||||||
"master")
|
|
||||||
hyprctl keyword general:layout dwindle
|
|
||||||
hyprctl keyword unbind SUPER,J
|
|
||||||
hyprctl keyword unbind SUPER,K
|
|
||||||
hyprctl keyword bind SUPER,J,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,K,cyclenext,prev
|
|
||||||
hyprctl keyword bind SUPER,O,togglesplit
|
|
||||||
notify-send -e -u low -i "$notif" " Dwindle Layout"
|
|
||||||
;;
|
|
||||||
"dwindle")
|
|
||||||
hyprctl keyword general:layout master
|
|
||||||
hyprctl keyword unbind SUPER,J
|
|
||||||
hyprctl keyword unbind SUPER,K
|
|
||||||
hyprctl keyword unbind SUPER,O
|
|
||||||
hyprctl keyword bind SUPER,J,layoutmsg,cyclenext
|
|
||||||
hyprctl keyword bind SUPER,K,layoutmsg,cycleprev
|
|
||||||
notify-send -e -u low -i "$notif" " Master Layout"
|
|
||||||
;;
|
|
||||||
*) ;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Clipboard Manager. This script uses cliphist, rofi, and wl-copy.
|
|
||||||
|
|
||||||
# Actions:
|
|
||||||
# CTRL Del to delete an entry
|
|
||||||
# ALT Del to wipe clipboard contents
|
|
||||||
|
|
||||||
# Check if rofi is already running
|
|
||||||
if pidof rofi > /dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
result=$(
|
|
||||||
rofi -i -dmenu \
|
|
||||||
-kb-custom-1 "Control-Delete" \
|
|
||||||
-kb-custom-2 "Alt-Delete" \
|
|
||||||
-config ~/.config/rofi/config-clipboard.rasi < <(cliphist list)
|
|
||||||
)
|
|
||||||
|
|
||||||
case "$?" in
|
|
||||||
1)
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
0)
|
|
||||||
case "$result" in
|
|
||||||
"")
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
cliphist decode <<<"$result" | wl-copy
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
10)
|
|
||||||
cliphist delete <<<"$result"
|
|
||||||
;;
|
|
||||||
11)
|
|
||||||
cliphist wipe
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
@ -1,252 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# For Dark and Light switching
|
|
||||||
# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate folders
|
|
||||||
|
|
||||||
# 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"
|
|
||||||
swaync_style="$HOME/.config/swaync/style.css"
|
|
||||||
ags_style="$HOME/.config/ags/user/style.css"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
||||||
notif="$HOME/.config/swaync/images/bell.png"
|
|
||||||
wallust_rofi="$HOME/.config/wallust/templates/colors-rofi.rasi"
|
|
||||||
|
|
||||||
kitty_conf="$HOME/.config/kitty/kitty.conf"
|
|
||||||
|
|
||||||
wallust_config="$HOME/.config/wallust/wallust.toml"
|
|
||||||
pallete_dark="dark16"
|
|
||||||
pallete_light="light16"
|
|
||||||
|
|
||||||
# kill swaybg if running
|
|
||||||
pkill swaybg
|
|
||||||
|
|
||||||
# Initialize swww if needed
|
|
||||||
swww query || swww-daemon --format xrgb
|
|
||||||
|
|
||||||
# Set swww options
|
|
||||||
swww="swww img"
|
|
||||||
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
|
||||||
|
|
||||||
# Determine current theme mode
|
|
||||||
if [ "$(cat $HOME/.cache/.theme_mode)" = "Light" ]; then
|
|
||||||
next_mode="Dark"
|
|
||||||
# Logic for Dark mode
|
|
||||||
wallpaper_path="$dark_wallpapers"
|
|
||||||
else
|
|
||||||
next_mode="Light"
|
|
||||||
# Logic for Light mode
|
|
||||||
wallpaper_path="$light_wallpapers"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Function to update theme mode for the next cycle
|
|
||||||
update_theme_mode() {
|
|
||||||
echo "$next_mode" > ~/.cache/.theme_mode
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to notify user
|
|
||||||
notify_user() {
|
|
||||||
notify-send -u low -i "$notif" " Switching to" " $1 mode"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Use sed to replace the palette setting in the wallust config file
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
sed -i 's/^palette = .*/palette = "'"$pallete_dark"'"/' "$wallust_config"
|
|
||||||
else
|
|
||||||
sed -i 's/^palette = .*/palette = "'"$pallete_light"'"/' "$wallust_config"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Function to set Waybar style
|
|
||||||
set_waybar_style() {
|
|
||||||
theme="$1"
|
|
||||||
waybar_styles="$HOME/.config/waybar/style"
|
|
||||||
waybar_style_link="$HOME/.config/waybar/style.css"
|
|
||||||
style_prefix="\\[${theme}\\].*\\.css$"
|
|
||||||
|
|
||||||
style_file=$(find "$waybar_styles" -maxdepth 1 -type f -regex ".*$style_prefix" | shuf -n 1)
|
|
||||||
|
|
||||||
if [ -n "$style_file" ]; then
|
|
||||||
ln -sf "$style_file" "$waybar_style_link"
|
|
||||||
else
|
|
||||||
echo "Style file not found for $theme theme."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call the function after determining the mode
|
|
||||||
set_waybar_style "$next_mode"
|
|
||||||
notify_user "$next_mode"
|
|
||||||
|
|
||||||
|
|
||||||
# swaync color change
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
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 '/@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
|
|
||||||
|
|
||||||
# ags color change
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.4);/' "${ags_style}"
|
|
||||||
sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.7);/' "${ags_style}"
|
|
||||||
sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${ags_style}"
|
|
||||||
else
|
|
||||||
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.4);/' "${ags_style}"
|
|
||||||
sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.7);/' "${ags_style}"
|
|
||||||
sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${ags_style}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# kitty background color change
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
sed -i '/^foreground /s/^foreground .*/foreground #dddddd/' "${kitty_conf}"
|
|
||||||
sed -i '/^background /s/^background .*/background #000000/' "${kitty_conf}"
|
|
||||||
sed -i '/^cursor /s/^cursor .*/cursor #dddddd/' "${kitty_conf}"
|
|
||||||
else
|
|
||||||
sed -i '/^foreground /s/^foreground .*/foreground #000000/' "${kitty_conf}"
|
|
||||||
sed -i '/^background /s/^background .*/background #dddddd/' "${kitty_conf}"
|
|
||||||
sed -i '/^cursor /s/^cursor .*/cursor #000000/' "${kitty_conf}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for pid in $(pidof kitty); do
|
|
||||||
kill -SIGUSR1 "$pid"
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
# Set Dynamic Wallpaper for Dark or Light Mode
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
next_wallpaper="$(find "${dark_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)"
|
|
||||||
else
|
|
||||||
next_wallpaper="$(find "${light_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Update wallpaper using swww command
|
|
||||||
$swww "${next_wallpaper}" $effect
|
|
||||||
|
|
||||||
|
|
||||||
# Set Kvantum Manager theme & QT5/QT6 settings
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
kvantum_theme="catppuccin-mocha-blue"
|
|
||||||
#qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Mocha.conf"
|
|
||||||
#qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Mocha.conf"
|
|
||||||
else
|
|
||||||
kvantum_theme="catppuccin-latte-blue"
|
|
||||||
#qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Latte.conf"
|
|
||||||
#qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Latte.conf"
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt5ct_color_scheme|" "$HOME/.config/qt5ct/qt5ct.conf"
|
|
||||||
sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt6ct_color_scheme|" "$HOME/.config/qt6ct/qt6ct.conf"
|
|
||||||
kvantummanager --set "$kvantum_theme"
|
|
||||||
|
|
||||||
|
|
||||||
# set the rofi color for background
|
|
||||||
if [ "$next_mode" = "Dark" ]; then
|
|
||||||
sed -i '24s/.*/background: rgba(0,0,0,0.7);/' $wallust_rofi
|
|
||||||
else
|
|
||||||
sed -i '24s/.*/background: rgba(255,255,255,0.9);/' $wallust_rofi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# GTK themes and icons switching
|
|
||||||
set_custom_gtk_theme() {
|
|
||||||
mode=$1
|
|
||||||
gtk_themes_directory="$HOME/.themes"
|
|
||||||
icon_directory="$HOME/.icons"
|
|
||||||
color_setting="org.gnome.desktop.interface color-scheme"
|
|
||||||
theme_setting="org.gnome.desktop.interface gtk-theme"
|
|
||||||
icon_setting="org.gnome.desktop.interface icon-theme"
|
|
||||||
|
|
||||||
if [ "$mode" == "Light" ]; then
|
|
||||||
search_keywords="*Light*"
|
|
||||||
gsettings set $color_setting 'prefer-light'
|
|
||||||
elif [ "$mode" == "Dark" ]; then
|
|
||||||
search_keywords="*Dark*"
|
|
||||||
gsettings set $color_setting 'prefer-dark'
|
|
||||||
else
|
|
||||||
echo "Invalid mode provided."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
themes=()
|
|
||||||
icons=()
|
|
||||||
|
|
||||||
while IFS= read -r -d '' theme_search; do
|
|
||||||
themes+=("$(basename "$theme_search")")
|
|
||||||
done < <(find "$gtk_themes_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
|
|
||||||
|
|
||||||
while IFS= read -r -d '' icon_search; do
|
|
||||||
icons+=("$(basename "$icon_search")")
|
|
||||||
done < <(find "$icon_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
|
|
||||||
|
|
||||||
if [ ${#themes[@]} -gt 0 ]; then
|
|
||||||
if [ "$mode" == "Dark" ]; then
|
|
||||||
selected_theme=${themes[RANDOM % ${#themes[@]}]}
|
|
||||||
else
|
|
||||||
selected_theme=${themes[$RANDOM % ${#themes[@]}]}
|
|
||||||
fi
|
|
||||||
echo "Selected GTK theme for $mode mode: $selected_theme"
|
|
||||||
gsettings set $theme_setting "$selected_theme"
|
|
||||||
|
|
||||||
# Flatpak GTK apps (themes)
|
|
||||||
if command -v flatpak &> /dev/null; then
|
|
||||||
flatpak --user override --filesystem=$HOME/.themes
|
|
||||||
sleep 0.5
|
|
||||||
flatpak --user override --env=GTK_THEME="$selected_theme"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "No $mode GTK theme found"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ${#icons[@]} -gt 0 ]; then
|
|
||||||
if [ "$mode" == "Dark" ]; then
|
|
||||||
selected_icon=${icons[RANDOM % ${#icons[@]}]}
|
|
||||||
else
|
|
||||||
selected_icon=${icons[$RANDOM % ${#icons[@]}]}
|
|
||||||
fi
|
|
||||||
echo "Selected icon theme for $mode mode: $selected_icon"
|
|
||||||
gsettings set $icon_setting "$selected_icon"
|
|
||||||
|
|
||||||
## QT5ct icon_theme
|
|
||||||
sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt5ct/qt5ct.conf"
|
|
||||||
sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt6ct/qt6ct.conf"
|
|
||||||
|
|
||||||
# Flatpak GTK apps (icons)
|
|
||||||
if command -v flatpak &> /dev/null; then
|
|
||||||
flatpak --user override --filesystem=$HOME/.icons
|
|
||||||
sleep 0.5
|
|
||||||
flatpak --user override --env=ICON_THEME="$selected_icon"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "No $mode icon theme found"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call the function to set GTK theme and icon theme based on mode
|
|
||||||
set_custom_gtk_theme "$next_mode"
|
|
||||||
|
|
||||||
# Update theme mode for the next cycle
|
|
||||||
update_theme_mode
|
|
||||||
|
|
||||||
|
|
||||||
${SCRIPTSDIR}/WallustSwww.sh &&
|
|
||||||
|
|
||||||
# some process to kill
|
|
||||||
_ps=(waybar rofi swaync ags swaybg)
|
|
||||||
for _prs in "${_ps[@]}"; do
|
|
||||||
if pidof "${_prs}" >/dev/null; then
|
|
||||||
pkill "${_prs}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 2
|
|
||||||
${SCRIPTSDIR}/Refresh.sh
|
|
||||||
|
|
||||||
sleep 0.3
|
|
||||||
# Display notifications for theme and icon changes
|
|
||||||
notify-send -u normal -i "$notif" " Themes switched to:" " $next_mode Mode"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Game Mode. Turning off all animations
|
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images/bell.png"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
||||||
|
|
||||||
|
|
||||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
|
||||||
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
|
||||||
hyprctl --batch "\
|
|
||||||
keyword animations:enabled 0;\
|
|
||||||
keyword decoration:drop_shadow 0;\
|
|
||||||
keyword decoration:blur:passes 0;\
|
|
||||||
keyword general:gaps_in 0;\
|
|
||||||
keyword general:gaps_out 0;\
|
|
||||||
keyword general:border_size 1;\
|
|
||||||
keyword decoration:rounding 0"
|
|
||||||
|
|
||||||
hyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$"
|
|
||||||
swww kill
|
|
||||||
notify-send -e -u low -i "$notif" " Gamemode:" " enabled"
|
|
||||||
exit
|
|
||||||
else
|
|
||||||
swww-daemon --format xrgb && swww img "$HOME/.config/rofi/.current_wallpaper" &
|
|
||||||
sleep 0.1
|
|
||||||
${SCRIPTSDIR}/WallustSwww.sh
|
|
||||||
sleep 0.5
|
|
||||||
${SCRIPTSDIR}/Refresh.sh
|
|
||||||
notify-send -e -u normal -i "$notif" " Gamemode:" " disabled"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
hyprctl reload
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# For NixOS starting of polkit-gnome. Dec 2023, the settings stated in NixOS wiki does not work so have to manual start it
|
|
||||||
|
|
||||||
# Find all polkit-gnome executables in the Nix store
|
|
||||||
polkit_gnome_paths=$(find /nix/store -name 'polkit-gnome-authentication-agent-1' -type f 2>/dev/null)
|
|
||||||
|
|
||||||
for polkit_gnome_path in $polkit_gnome_paths; do
|
|
||||||
# Extract the directory containing the executable
|
|
||||||
polkit_gnome_dir=$(dirname "$polkit_gnome_path")
|
|
||||||
|
|
||||||
# Check if the executable is valid and exists
|
|
||||||
if [ -x "$polkit_gnome_dir/polkit-gnome-authentication-agent-1" ]; then
|
|
||||||
# Start the Polkit-GNOME Authentication Agent
|
|
||||||
"$polkit_gnome_dir/polkit-gnome-authentication-agent-1" &
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# If no valid executable is found, report an error
|
|
||||||
echo "No valid Polkit-GNOME Authentication Agent executable found."
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# This is for polkits, it will start from top and will stop if the top is executed
|
|
||||||
|
|
||||||
# Polkit possible paths files to check
|
|
||||||
polkit=(
|
|
||||||
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
|
||||||
"/usr/libexec/hyprpolkitagent"
|
|
||||||
"/usr/lib/hyprpolkitagent"
|
|
||||||
"/usr/lib/polkit-kde-authentication-agent-1"
|
|
||||||
"/usr/lib/polkit-gnome-authentication-agent-1"
|
|
||||||
"/usr/libexec/polkit-gnome-authentication-agent-1"
|
|
||||||
"/usr/libexec/polkit-mate-authentication-agent-1"
|
|
||||||
"/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1"
|
|
||||||
"/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1"
|
|
||||||
)
|
|
||||||
|
|
||||||
executed=false # Flag to track if a file has been executed
|
|
||||||
|
|
||||||
# Loop through the list of files
|
|
||||||
for file in "${polkit[@]}"; do
|
|
||||||
if [ -e "$file" ]; then
|
|
||||||
echo "File $file found, executing command..."
|
|
||||||
exec "$file"
|
|
||||||
executed=true
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# If none of the files were found, you can add a fallback command here
|
|
||||||
if [ "$executed" == false ]; then
|
|
||||||
echo "None of the specified files were found. Install a Polkit"
|
|
||||||
fi
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,17 +0,0 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Modified Script for Google Search
|
|
||||||
# Original Submitted by https://github.com/LeventKaanOguz
|
|
||||||
|
|
||||||
# Opens rofi in dmenu mod and waits for input. Then pushes the input to the query of the URL.
|
|
||||||
|
|
||||||
rofi_config="$HOME/.config/rofi/config-search.rasi"
|
|
||||||
|
|
||||||
# Kill Rofi if already running before execution
|
|
||||||
if pgrep -x "rofi" >/dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
#exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Open rofi with a dmenu and pass the selected item to xdg-open for Google search
|
|
||||||
echo "" | rofi -dmenu -config "$rofi_config" -p "Search:" | xargs -I{} xdg-open "https://www.google.com/search?q={}"
|
|
||||||
|
|
||||||
|
|
@ -2,9 +2,6 @@
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||||
# Screenshots scripts
|
# Screenshots scripts
|
||||||
|
|
||||||
iDIR="$HOME/.config/swaync/icons"
|
|
||||||
sDIR="$HOME/.config/hypr/scripts"
|
|
||||||
|
|
||||||
time=$(date "+%d-%b_%H-%M-%S")
|
time=$(date "+%d-%b_%H-%M-%S")
|
||||||
dir="$(xdg-user-dir)/Pictures/Screenshots"
|
dir="$(xdg-user-dir)/Pictures/Screenshots"
|
||||||
file="Screenshot_${time}_${RANDOM}.png"
|
file="Screenshot_${time}_${RANDOM}.png"
|
||||||
|
|
@ -15,142 +12,141 @@ active_window_path="${dir}/${active_window_file}"
|
||||||
|
|
||||||
notify_cmd_base="notify-send -t 10000 -A action1=Open -A action2=Delete -h string:x-canonical-private-synchronous:shot-notify"
|
notify_cmd_base="notify-send -t 10000 -A action1=Open -A action2=Delete -h string:x-canonical-private-synchronous:shot-notify"
|
||||||
#notify_swappy="notify-send -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png"
|
#notify_swappy="notify-send -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png"
|
||||||
notify_cmd_shot="${notify_cmd_base} -i ${iDIR}/picture.png "
|
notify_cmd_shot="${notify_cmd_base}"
|
||||||
notify_cmd_shot_win="${notify_cmd_base} -i ${iDIR}/picture.png "
|
notify_cmd_shot_win="${notify_cmd_base}"
|
||||||
|
|
||||||
# notify and view screenshot
|
# notify and view screenshot
|
||||||
notify_view() {
|
notify_view() {
|
||||||
if [[ "$1" == "active" ]]; then
|
if [[ "$1" == "active" ]]; then
|
||||||
if [[ -e "${active_window_path}" ]]; then
|
if [[ -e "${active_window_path}" ]]; then
|
||||||
"${sDIR}/Sounds.sh" --screenshot
|
"${sDIR}/Sounds.sh" --screenshot
|
||||||
resp=$(timeout 5 ${notify_cmd_shot_win} " Screenshot of:" " ${active_window_class} Saved.")
|
resp=$(timeout 5 ${notify_cmd_shot_win} " Screenshot of:" " ${active_window_class} Saved.")
|
||||||
case "$resp" in
|
case "$resp" in
|
||||||
action1)
|
action1)
|
||||||
xdg-open "${active_window_path}" &
|
xdg-open "${active_window_path}" &
|
||||||
;;
|
;;
|
||||||
action2)
|
action2)
|
||||||
rm "${active_window_path}" &
|
rm "${active_window_path}" &
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
|
||||||
${notify_cmd_shot} " Screenshot of:" " ${active_window_class} NOT Saved."
|
|
||||||
"${sDIR}/Sounds.sh" --error
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [[ "$1" == "swappy" ]]; then
|
|
||||||
"${sDIR}/Sounds.sh" --screenshot
|
|
||||||
resp=$(${notify_cmd_shot} " Screenshot:" " Captured by Swappy")
|
|
||||||
case "$resp" in
|
|
||||||
action1)
|
|
||||||
swappy -f - <"$tmpfile"
|
|
||||||
;;
|
|
||||||
action2)
|
|
||||||
rm "$tmpfile"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
else
|
else
|
||||||
local check_file="${dir}/${file}"
|
${notify_cmd_shot} " Screenshot of:" " ${active_window_class} NOT Saved."
|
||||||
if [[ -e "$check_file" ]]; then
|
"${sDIR}/Sounds.sh" --error
|
||||||
"${sDIR}/Sounds.sh" --screenshot
|
|
||||||
resp=$(timeout 5 ${notify_cmd_shot} " Screenshot" " Saved")
|
|
||||||
case "$resp" in
|
|
||||||
action1)
|
|
||||||
xdg-open "${check_file}" &
|
|
||||||
;;
|
|
||||||
action2)
|
|
||||||
rm "${check_file}" &
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
${notify_cmd_shot} " Screenshot" " NOT Saved"
|
|
||||||
"${sDIR}/Sounds.sh" --error
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
elif [[ "$1" == "swappy" ]]; then
|
||||||
|
"${sDIR}/Sounds.sh" --screenshot
|
||||||
|
resp=$(${notify_cmd_shot} " Screenshot:" " Captured by Swappy")
|
||||||
|
case "$resp" in
|
||||||
|
action1)
|
||||||
|
swappy -f - <"$tmpfile"
|
||||||
|
;;
|
||||||
|
action2)
|
||||||
|
rm "$tmpfile"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
else
|
||||||
|
local check_file="${dir}/${file}"
|
||||||
|
if [[ -e "$check_file" ]]; then
|
||||||
|
"${sDIR}/Sounds.sh" --screenshot
|
||||||
|
resp=$(timeout 5 ${notify_cmd_shot} " Screenshot" " Saved")
|
||||||
|
case "$resp" in
|
||||||
|
action1)
|
||||||
|
xdg-open "${check_file}" &
|
||||||
|
;;
|
||||||
|
action2)
|
||||||
|
rm "${check_file}" &
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
${notify_cmd_shot} " Screenshot" " NOT Saved"
|
||||||
|
"${sDIR}/Sounds.sh" --error
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# countdown
|
# countdown
|
||||||
countdown() {
|
countdown() {
|
||||||
for sec in $(seq $1 -1 1); do
|
for sec in $(seq $1 -1 1); do
|
||||||
notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png " Taking shot" " in: $sec secs"
|
notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png " Taking shot" " in: $sec secs"
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# take shots
|
# take shots
|
||||||
shotnow() {
|
shotnow() {
|
||||||
cd ${dir} && grim - | tee "$file" | wl-copy
|
cd ${dir} && grim - | tee "$file" | wl-copy
|
||||||
sleep 2
|
sleep 2
|
||||||
notify_view
|
notify_view
|
||||||
}
|
}
|
||||||
|
|
||||||
shot5() {
|
shot5() {
|
||||||
countdown '5'
|
countdown '5'
|
||||||
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
|
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
|
||||||
sleep 1
|
sleep 1
|
||||||
notify_view
|
notify_view
|
||||||
}
|
}
|
||||||
|
|
||||||
shot10() {
|
shot10() {
|
||||||
countdown '10'
|
countdown '10'
|
||||||
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
|
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
|
||||||
notify_view
|
notify_view
|
||||||
}
|
}
|
||||||
|
|
||||||
shotwin() {
|
shotwin() {
|
||||||
w_pos=$(hyprctl activewindow | grep 'at:' | cut -d':' -f2 | tr -d ' ' | tail -n1)
|
w_pos=$(hyprctl activewindow | grep 'at:' | cut -d':' -f2 | tr -d ' ' | tail -n1)
|
||||||
w_size=$(hyprctl activewindow | grep 'size:' | cut -d':' -f2 | tr -d ' ' | tail -n1 | sed s/,/x/g)
|
w_size=$(hyprctl activewindow | grep 'size:' | cut -d':' -f2 | tr -d ' ' | tail -n1 | sed s/,/x/g)
|
||||||
cd ${dir} && grim -g "$w_pos $w_size" - | tee "$file" | wl-copy
|
cd ${dir} && grim -g "$w_pos $w_size" - | tee "$file" | wl-copy
|
||||||
notify_view
|
notify_view
|
||||||
}
|
}
|
||||||
|
|
||||||
shotarea() {
|
shotarea() {
|
||||||
tmpfile=$(mktemp)
|
tmpfile=$(mktemp)
|
||||||
grim -g "$(slurp)" - >"$tmpfile"
|
grim -g "$(slurp)" - >"$tmpfile"
|
||||||
if [[ -s "$tmpfile" ]]; then
|
if [[ -s "$tmpfile" ]]; then
|
||||||
wl-copy <"$tmpfile"
|
wl-copy <"$tmpfile"
|
||||||
mv "$tmpfile" "$dir/$file"
|
mv "$tmpfile" "$dir/$file"
|
||||||
fi
|
fi
|
||||||
notify_view
|
notify_view
|
||||||
}
|
}
|
||||||
|
|
||||||
shotactive() {
|
shotactive() {
|
||||||
active_window_class=$(hyprctl -j activewindow | jq -r '(.class)')
|
active_window_class=$(hyprctl -j activewindow | jq -r '(.class)')
|
||||||
active_window_file="Screenshot_${time}_${active_window_class}.png"
|
active_window_file="Screenshot_${time}_${active_window_class}.png"
|
||||||
active_window_path="${dir}/${active_window_file}"
|
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}"
|
hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - "${active_window_path}"
|
||||||
sleep 1
|
sleep 1
|
||||||
notify_view "active"
|
notify_view "active"
|
||||||
}
|
}
|
||||||
|
|
||||||
shotswappy() {
|
shotswappy() {
|
||||||
tmpfile=$(mktemp)
|
tmpfile=$(mktemp)
|
||||||
grim -g "$(slurp)" - >"$tmpfile" && notify_view "swappy"
|
grim -g "$(slurp)" - >"$tmpfile" && notify_view "swappy"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ ! -d "$dir" ]]; then
|
if [[ ! -d "$dir" ]]; then
|
||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$1" == "--now" ]]; then
|
if [[ "$1" == "--now" ]]; then
|
||||||
shotnow
|
shotnow
|
||||||
elif [[ "$1" == "--in5" ]]; then
|
elif [[ "$1" == "--in5" ]]; then
|
||||||
shot5
|
shot5
|
||||||
elif [[ "$1" == "--in10" ]]; then
|
elif [[ "$1" == "--in10" ]]; then
|
||||||
shot10
|
shot10
|
||||||
elif [[ "$1" == "--win" ]]; then
|
elif [[ "$1" == "--win" ]]; then
|
||||||
shotwin
|
shotwin
|
||||||
elif [[ "$1" == "--area" ]]; then
|
elif [[ "$1" == "--area" ]]; then
|
||||||
shotarea
|
shotarea
|
||||||
elif [[ "$1" == "--active" ]]; then
|
elif [[ "$1" == "--active" ]]; then
|
||||||
shotactive
|
shotactive
|
||||||
elif [[ "$1" == "--swappy" ]]; then
|
elif [[ "$1" == "--swappy" ]]; then
|
||||||
shotswappy
|
shotswappy
|
||||||
else
|
else
|
||||||
echo -e "Available Options : --now --in5 --in10 --win --area --active --swappy"
|
echo -e "Available Options : --now --in5 --in10 --win --area --active --swappy"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# This script is used to play system sounds.
|
|
||||||
# Script is used by Volume.Sh and ScreenShots.sh
|
|
||||||
|
|
||||||
theme="freedesktop" # Set the theme for the system sounds.
|
|
||||||
mute=false # Set to true to mute the system sounds.
|
|
||||||
|
|
||||||
# Mute individual sounds here.
|
|
||||||
muteScreenshots=false
|
|
||||||
muteVolume=false
|
|
||||||
|
|
||||||
# Exit if the system sounds are muted.
|
|
||||||
if [[ "$mute" = true ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Choose the sound to play.
|
|
||||||
if [[ "$1" == "--screenshot" ]]; then
|
|
||||||
if [[ "$muteScreenshots" = true ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
soundoption="screen-capture.*"
|
|
||||||
elif [[ "$1" == "--volume" ]]; then
|
|
||||||
if [[ "$muteVolume" = true ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
soundoption="audio-volume-change.*"
|
|
||||||
elif [[ "$1" == "--error" ]]; then
|
|
||||||
if [[ "$muteScreenshots" = true ]]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
soundoption="dialog-error.*"
|
|
||||||
else
|
|
||||||
echo -e "Available sounds: --screenshot, --volume, --error"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set the directory defaults for system sounds.
|
|
||||||
if [ -d "/run/current-system/sw/share/sounds" ]; then
|
|
||||||
systemDIR="/run/current-system/sw/share/sounds" # NixOS
|
|
||||||
else
|
|
||||||
systemDIR="/usr/share/sounds"
|
|
||||||
fi
|
|
||||||
userDIR="$HOME/.local/share/sounds"
|
|
||||||
defaultTheme="freedesktop"
|
|
||||||
|
|
||||||
# Prefer the user's theme, but use the system's if it doesn't exist.
|
|
||||||
sDIR="$systemDIR/$defaultTheme"
|
|
||||||
if [ -d "$userDIR/$theme" ]; then
|
|
||||||
sDIR="$userDIR/$theme"
|
|
||||||
elif [ -d "$systemDIR/$theme" ]; then
|
|
||||||
sDIR="$systemDIR/$theme"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get the theme that it inherits.
|
|
||||||
iTheme=$(cat "$sDIR/index.theme" | grep -i "inherits" | cut -d "=" -f 2)
|
|
||||||
iDIR="$sDIR/../$iTheme"
|
|
||||||
|
|
||||||
# Find the sound file and play it.
|
|
||||||
sound_file=$(find $sDIR/stereo -name "$soundoption" -print -quit)
|
|
||||||
if ! test -f "$sound_file"; then
|
|
||||||
sound_file=$(find $iDIR/stereo -name "$soundoption" -print -quit)
|
|
||||||
if ! test -f "$sound_file"; then
|
|
||||||
sound_file=$(find $userDIR/$defaultTheme/stereo -name "$soundoption" -print -quit)
|
|
||||||
if ! test -f "$sound_file"; then
|
|
||||||
sound_file=$(find $systemDIR/$defaultTheme/stereo -name "$soundoption" -print -quit)
|
|
||||||
if ! test -f "$sound_file"; then
|
|
||||||
echo "Error: Sound file not found."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# pipewire priority, fallback pulseaudio
|
|
||||||
pw-play "$sound_file" || pa-play "$sound_file"
|
|
||||||
|
|
@ -1,104 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# This is for changing kb_layouts. Set kb_layouts in $settings_file
|
|
||||||
|
|
||||||
layout_file="$HOME/.cache/kb_layout"
|
|
||||||
settings_file="$HOME/.config/hypr/UserConfigs/UserSettings.conf"
|
|
||||||
notif_icon="$HOME/.config/swaync/images/bell.png"
|
|
||||||
|
|
||||||
# Refined ignore list with patterns or specific device names
|
|
||||||
ignore_patterns=(
|
|
||||||
"--(avrcp)"
|
|
||||||
"Bluetooth Speaker"
|
|
||||||
"Other Device
|
|
||||||
Name"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# Create layout file with default layout if it does not exist
|
|
||||||
if [ ! -f "$layout_file" ]; then
|
|
||||||
echo "Creating layout file..."
|
|
||||||
default_layout=$(grep 'kb_layout = ' "$settings_file" | cut -d '=' -f 2 | tr -d '[:space:]' | cut -d ',' -f 1 2>/dev/null)
|
|
||||||
default_layout=${default_layout:-"us"} # Default to 'us' layout
|
|
||||||
echo "$default_layout" > "$layout_file"
|
|
||||||
echo "Default layout set to $default_layout"
|
|
||||||
fi
|
|
||||||
|
|
||||||
current_layout=$(cat "$layout_file")
|
|
||||||
echo "Current layout: $current_layout"
|
|
||||||
|
|
||||||
# Read available layouts from settings file
|
|
||||||
if [ -f "$settings_file" ]; then
|
|
||||||
kb_layout_line=$(grep 'kb_layout = ' "$settings_file" | cut -d '=' -f 2)
|
|
||||||
# Remove leading and trailing spaces around each layout
|
|
||||||
kb_layout_line=$(echo "$kb_layout_line" | tr -d '[:space:]')
|
|
||||||
IFS=',' read -r -a layout_mapping <<< "$kb_layout_line"
|
|
||||||
else
|
|
||||||
echo "Settings file not found!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
layout_count=${#layout_mapping[@]}
|
|
||||||
echo "Number of layouts: $layout_count"
|
|
||||||
|
|
||||||
# Find current layout index and calculate next layout
|
|
||||||
for ((i = 0; i < layout_count; i++)); do
|
|
||||||
if [ "$current_layout" == "${layout_mapping[i]}" ]; then
|
|
||||||
current_index=$i
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
next_index=$(( (current_index + 1) % layout_count ))
|
|
||||||
new_layout="${layout_mapping[next_index]}"
|
|
||||||
echo "Next layout: $new_layout"
|
|
||||||
|
|
||||||
# Function to get keyboard names
|
|
||||||
get_keyboard_names() {
|
|
||||||
hyprctl devices -j | jq -r '.keyboards[].name'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to check if a device matches any ignore pattern
|
|
||||||
is_ignored() {
|
|
||||||
local device_name=$1
|
|
||||||
for pattern in "${ignore_patterns[@]}"; do
|
|
||||||
if [[ "$device_name" == *"$pattern"* ]]; then
|
|
||||||
return 0 # Device matches ignore pattern
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1 # Device does not match any ignore pattern
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to change keyboard layout
|
|
||||||
change_layout() {
|
|
||||||
local error_found=false
|
|
||||||
|
|
||||||
while read -r name; do
|
|
||||||
if is_ignored "$name"; then
|
|
||||||
echo "Skipping ignored device: $name"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Switching layout for $name to $new_layout..."
|
|
||||||
hyprctl switchxkblayout "$name" "$next_index"
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Error while switching layout for $name." >&2
|
|
||||||
error_found=true
|
|
||||||
fi
|
|
||||||
done <<< "$(get_keyboard_names)"
|
|
||||||
|
|
||||||
$error_found && return 1
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute layout change and notify
|
|
||||||
if ! change_layout; then
|
|
||||||
notify-send -u low -t 2000 'kb_layout' " Error:" " Layout change failed"
|
|
||||||
echo "Layout change failed." >&2
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
notify-send -u low -i "$notif_icon" " kb_layout: $new_layout"
|
|
||||||
echo "Layout change notification sent."
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$new_layout" > "$layout_file"
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# For disabling touchpad.
|
|
||||||
# Edit the Touchpad_Device on ~/.config/hypr/UserConfigs/Laptops.conf according to your system
|
|
||||||
# use hyprctl devices to get your system touchpad device name
|
|
||||||
# source https://github.com/hyprwm/Hyprland/discussions/4283?sort=new#discussioncomment-8648109
|
|
||||||
|
|
||||||
notif="$HOME/.config/swaync/images/bell.png"
|
|
||||||
|
|
||||||
export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
|
|
||||||
|
|
||||||
enable_touchpad() {
|
|
||||||
printf "true" >"$STATUS_FILE"
|
|
||||||
notify-send -u low -i $notif " Enabling" " touchpad"
|
|
||||||
hyprctl keyword '$TOUCHPAD_ENABLED' "true" -r
|
|
||||||
}
|
|
||||||
|
|
||||||
disable_touchpad() {
|
|
||||||
printf "false" >"$STATUS_FILE"
|
|
||||||
notify-send -u low -i $notif " Disabling" " touchpad"
|
|
||||||
hyprctl keyword '$TOUCHPAD_ENABLED' "false" -r
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Script parses /proc/uptime to get the system uptime
|
|
||||||
# and prints it in a human-readable format
|
|
||||||
# This is a workaround for system where `uptime` command is taken from coreutils
|
|
||||||
# where `uptime -p` is not supported
|
|
||||||
|
|
||||||
if [[ -r /proc/uptime ]]; then
|
|
||||||
s=$(< /proc/uptime)
|
|
||||||
s=${s/.*}
|
|
||||||
else
|
|
||||||
echo "Error UptimeNixOS.sh: Uptime could not be determined." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
d="$((s / 60 / 60 / 24)) days"
|
|
||||||
h="$((s / 60 / 60 % 24)) hours"
|
|
||||||
m="$((s / 60 % 60)) minutes"
|
|
||||||
|
|
||||||
# Remove plural if < 2.
|
|
||||||
((${d/ *} == 1)) && d=${d/s}
|
|
||||||
((${h/ *} == 1)) && h=${h/s}
|
|
||||||
((${m/ *} == 1)) && m=${m/s}
|
|
||||||
|
|
||||||
# Hide empty fields.
|
|
||||||
((${d/ *} == 0)) && unset d
|
|
||||||
((${h/ *} == 0)) && unset h
|
|
||||||
((${m/ *} == 0)) && unset m
|
|
||||||
|
|
||||||
uptime=${d:+$d, }${h:+$h, }$m
|
|
||||||
uptime=${uptime%', '}
|
|
||||||
uptime=${uptime:-$s seconds}
|
|
||||||
|
|
||||||
echo "up $uptime"
|
|
||||||
|
|
@ -1,143 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Scripts for volume controls for audio and mic
|
|
||||||
|
|
||||||
iDIR="$HOME/.config/swaync/icons"
|
|
||||||
sDIR="$HOME/.config/hypr/scripts"
|
|
||||||
|
|
||||||
# Get Volume
|
|
||||||
get_volume() {
|
|
||||||
volume=$(pamixer --get-volume)
|
|
||||||
if [[ "$volume" -eq "0" ]]; then
|
|
||||||
echo "Muted"
|
|
||||||
else
|
|
||||||
echo "$volume %"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get icons
|
|
||||||
get_icon() {
|
|
||||||
current=$(get_volume)
|
|
||||||
if [[ "$current" == "Muted" ]]; then
|
|
||||||
echo "$iDIR/volume-mute.png"
|
|
||||||
elif [[ "${current%\%}" -le 30 ]]; then
|
|
||||||
echo "$iDIR/volume-low.png"
|
|
||||||
elif [[ "${current%\%}" -le 60 ]]; then
|
|
||||||
echo "$iDIR/volume-mid.png"
|
|
||||||
else
|
|
||||||
echo "$iDIR/volume-high.png"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Notify
|
|
||||||
notify_user() {
|
|
||||||
if [[ "$(get_volume)" == "Muted" ]]; then
|
|
||||||
notify-send -e -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" " Volume:" " Muted"
|
|
||||||
else
|
|
||||||
notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" " Volume Level:" " $(get_volume)" &&
|
|
||||||
"$sDIR/Sounds.sh" --volume
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Increase Volume
|
|
||||||
inc_volume() {
|
|
||||||
if [ "$(pamixer --get-mute)" == "true" ]; then
|
|
||||||
toggle_mute
|
|
||||||
else
|
|
||||||
pamixer -i 5 --allow-boost --set-limit 150 && notify_user
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Decrease Volume
|
|
||||||
dec_volume() {
|
|
||||||
if [ "$(pamixer --get-mute)" == "true" ]; then
|
|
||||||
toggle_mute
|
|
||||||
else
|
|
||||||
pamixer -d 5 && notify_user
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Toggle Mute
|
|
||||||
toggle_mute() {
|
|
||||||
if [ "$(pamixer --get-mute)" == "false" ]; then
|
|
||||||
pamixer -m && notify-send -e -u low -i "$iDIR/volume-mute.png" " Mute"
|
|
||||||
elif [ "$(pamixer --get-mute)" == "true" ]; then
|
|
||||||
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 && 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 && notify-send -e -u low -i "$iDIR/microphone.png" " Microphone:" " Switched ON"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Get Mic Icon
|
|
||||||
get_mic_icon() {
|
|
||||||
current=$(pamixer --default-source --get-volume)
|
|
||||||
if [[ "$current" -eq "0" ]]; then
|
|
||||||
echo "$iDIR/microphone-mute.png"
|
|
||||||
else
|
|
||||||
echo "$iDIR/microphone.png"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get Microphone Volume
|
|
||||||
get_mic_volume() {
|
|
||||||
volume=$(pamixer --default-source --get-volume)
|
|
||||||
if [[ "$volume" -eq "0" ]]; then
|
|
||||||
echo "Muted"
|
|
||||||
else
|
|
||||||
echo "$volume %"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Notify for Microphone
|
|
||||||
notify_mic_user() {
|
|
||||||
volume=$(get_mic_volume)
|
|
||||||
icon=$(get_mic_icon)
|
|
||||||
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
|
|
||||||
inc_mic_volume() {
|
|
||||||
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
|
||||||
toggle_mic
|
|
||||||
else
|
|
||||||
pamixer --default-source -i 5 && notify_mic_user
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Decrease MIC Volume
|
|
||||||
dec_mic_volume() {
|
|
||||||
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
|
||||||
toggle-mic
|
|
||||||
else
|
|
||||||
pamixer --default-source -d 5 && notify_mic_user
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute accordingly
|
|
||||||
if [[ "$1" == "--get" ]]; then
|
|
||||||
get_volume
|
|
||||||
elif [[ "$1" == "--inc" ]]; then
|
|
||||||
inc_volume
|
|
||||||
elif [[ "$1" == "--dec" ]]; then
|
|
||||||
dec_volume
|
|
||||||
elif [[ "$1" == "--toggle" ]]; then
|
|
||||||
toggle_mute
|
|
||||||
elif [[ "$1" == "--toggle-mic" ]]; then
|
|
||||||
toggle_mic
|
|
||||||
elif [[ "$1" == "--get-icon" ]]; then
|
|
||||||
get_icon
|
|
||||||
elif [[ "$1" == "--get-mic-icon" ]]; then
|
|
||||||
get_mic_icon
|
|
||||||
elif [[ "$1" == "--mic-inc" ]]; then
|
|
||||||
inc_mic_volume
|
|
||||||
elif [[ "$1" == "--mic-dec" ]]; then
|
|
||||||
dec_mic_volume
|
|
||||||
else
|
|
||||||
get_volume
|
|
||||||
fi
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Script for waybar layout or configs
|
|
||||||
|
|
||||||
IFS=$'\n\t'
|
|
||||||
|
|
||||||
# Define directories
|
|
||||||
waybar_layouts="$HOME/.config/waybar/configs"
|
|
||||||
waybar_config="$HOME/.config/waybar/config"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
||||||
rofi_config="$HOME/.config/rofi/config-waybar-layout.rasi"
|
|
||||||
|
|
||||||
# Function to display menu options
|
|
||||||
menu() {
|
|
||||||
options=()
|
|
||||||
while IFS= read -r file; do
|
|
||||||
options+=("$(basename "$file")")
|
|
||||||
done < <(find "$waybar_layouts" -maxdepth 1 -type f -exec basename {} \; | sort)
|
|
||||||
|
|
||||||
printf '%s\n' "${options[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Apply selected configuration
|
|
||||||
apply_config() {
|
|
||||||
ln -sf "$waybar_layouts/$1" "$waybar_config"
|
|
||||||
#restart_waybar_if_needed
|
|
||||||
"${SCRIPTSDIR}/Refresh.sh" &
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main function
|
|
||||||
main() {
|
|
||||||
choice=$(menu | rofi -i -dmenu -config "$rofi_config")
|
|
||||||
|
|
||||||
if [[ -z "$choice" ]]; then
|
|
||||||
echo "No option selected. Exiting."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $choice in
|
|
||||||
"no panel")
|
|
||||||
pgrep -x "waybar" && pkill waybar || true
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
apply_config "$choice"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
# Kill Rofi if already running before execution
|
|
||||||
if pgrep -x "rofi" >/dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
#exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
main
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
|
||||||
# Script for waybar styles
|
|
||||||
|
|
||||||
IFS=$'\n\t'
|
|
||||||
|
|
||||||
# Define directories
|
|
||||||
waybar_styles="$HOME/.config/waybar/style"
|
|
||||||
waybar_style="$HOME/.config/waybar/style.css"
|
|
||||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
||||||
rofi_config="$HOME/.config/rofi/config-waybar-style.rasi"
|
|
||||||
|
|
||||||
# Function to display menu options
|
|
||||||
menu() {
|
|
||||||
options=()
|
|
||||||
while IFS= read -r file; do
|
|
||||||
if [ -f "$waybar_styles/$file" ]; then
|
|
||||||
options+=("$(basename "$file" .css)")
|
|
||||||
fi
|
|
||||||
done < <(find "$waybar_styles" -maxdepth 1 -type f -name '*.css' -exec basename {} \; | sort)
|
|
||||||
|
|
||||||
printf '%s\n' "${options[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Apply selected style
|
|
||||||
apply_style() {
|
|
||||||
ln -sf "$waybar_styles/$1.css" "$waybar_style"
|
|
||||||
"${SCRIPTSDIR}/Refresh.sh" &
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main function
|
|
||||||
main() {
|
|
||||||
choice=$(menu | rofi -i -dmenu -config "$rofi_config")
|
|
||||||
|
|
||||||
if [[ -z "$choice" ]]; then
|
|
||||||
echo "No option selected. Exiting."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
apply_style "$choice"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Kill Rofi if already running before execution
|
|
||||||
if pgrep -x "rofi" >/dev/null; then
|
|
||||||
pkill rofi
|
|
||||||
#exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
main
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.5 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.8 MiB |
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"LazyVim": { "branch": "main", "commit": "2bea40c447b72e54ffb2d5cddc98d7798990796f" },
|
"LazyVim": { "branch": "main", "commit": "eb8ddea8c9438c34e71db097eb77a44185dd1093" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "b6f11a0aa33e601c469a126e3ed6e35208fe3ea3" },
|
"blink.cmp": { "branch": "main", "commit": "b6f11a0aa33e601c469a126e3ed6e35208fe3ea3" },
|
||||||
"buffer-closer.nvim": { "branch": "main", "commit": "edb2fa2c188a6914ba922ac46f98047c148bc5ed" },
|
"buffer-closer.nvim": { "branch": "main", "commit": "edb2fa2c188a6914ba922ac46f98047c148bc5ed" },
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
|
|
@ -9,35 +9,35 @@
|
||||||
"edgy.nvim": { "branch": "main", "commit": "7e8dedc39abebe40c289b8012cc89b11c69aa7a0" },
|
"edgy.nvim": { "branch": "main", "commit": "7e8dedc39abebe40c289b8012cc89b11c69aa7a0" },
|
||||||
"flash.nvim": { "branch": "main", "commit": "f899265876ecdcf7352dbc9f0adf87068cedefbb" },
|
"flash.nvim": { "branch": "main", "commit": "f899265876ecdcf7352dbc9f0adf87068cedefbb" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||||
"fzf-lua": { "branch": "main", "commit": "8af88e542d70ed397f297a81168be0dd3394b0d4" },
|
"fzf-lua": { "branch": "main", "commit": "1176d512b1390f992c775f08dcb155d4e0ba01cf" },
|
||||||
"git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" },
|
"git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "31d2dcd144c7404dacbd2ca36b5abd37cc9fa506" },
|
"gitsigns.nvim": { "branch": "main", "commit": "c23bbd3ed2c7a3fdc3399e97e24f9e158f57612f" },
|
||||||
"grug-far.nvim": { "branch": "main", "commit": "59e744e21069fa382c898913e77d576fe9132214" },
|
"grug-far.nvim": { "branch": "main", "commit": "3a8690461afac34c0e5bacb0f7b4bc3066aab665" },
|
||||||
"gruvbox.nvim": { "branch": "main", "commit": "68c3460a5d1d1a362318960035c9f3466d5011f5" },
|
"gruvbox.nvim": { "branch": "main", "commit": "089b60e92aa0a1c6fa76ff527837cd35b6f5ac81" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "a1b78b2ac6f978c72e76ea90ae92a94edf380cfc" },
|
"lazydev.nvim": { "branch": "main", "commit": "a1b78b2ac6f978c72e76ea90ae92a94edf380cfc" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "e942edf5c85b6a2ab74059ea566cac5b3e1514a4" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "f75e877f5266e87523eb5a18fcde2081820d087b" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||||
"mini.ai": { "branch": "main", "commit": "ebb04799794a7f94628153991e6334c3304961b8" },
|
"mini.ai": { "branch": "main", "commit": "53b4e4571e42913b94a12eff85dabe4db370d352" },
|
||||||
"mini.icons": { "branch": "main", "commit": "910db5df9724d65371182948f921fce23c2c881e" },
|
"mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" },
|
||||||
"mini.nvim": { "branch": "main", "commit": "0420076298c4457f200c2de468f65d080597a347" },
|
"mini.nvim": { "branch": "main", "commit": "3049adbafd08b769d0700624fe9b85fa4176c88c" },
|
||||||
"mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" },
|
"mini.pairs": { "branch": "main", "commit": "1a3e73649c0eaef2f6c48ce1e761c6f0a7c11918" },
|
||||||
"neo-tree.nvim": { "branch": "main", "commit": "6a4f0a830f2322f187bce6f18a9e6b5b7ba188e3" },
|
"neo-tree.nvim": { "branch": "main", "commit": "9f0c96720559461530a51d3e1c170519345941da" },
|
||||||
"no-neck-pain.nvim": { "branch": "main", "commit": "860462dd8b3d36861a81724a7b473db279f673f2" },
|
"no-neck-pain.nvim": { "branch": "main", "commit": "860462dd8b3d36861a81724a7b473db279f673f2" },
|
||||||
"noice.nvim": { "branch": "main", "commit": "e3c68a4d2275a01268a52e2931bfccfbfb693d15" },
|
"noice.nvim": { "branch": "main", "commit": "cf758e9df66451889aab56613a21b8673f045ec2" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||||
"nvim-lint": { "branch": "master", "commit": "789b7ada1b4f00e08d026dffde410dcfa6a0ba87" },
|
"nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "bf81bef7d75a0f4a0cf61462b318ea00b3c97cc8" },
|
"nvim-lspconfig": { "branch": "master", "commit": "75edb91a3d2deabe76a9911cde2c13d411b3b097" },
|
||||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "ffa526e5aa38056482225d6cd9d5bd2d868a4be3" },
|
"nvim-treesitter": { "branch": "master", "commit": "62911c78a868bac24c8a86f2c1c412d0b799f885" },
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
|
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
|
||||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||||
"persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
|
"persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
|
"plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
|
||||||
"render-markdown.nvim": { "branch": "main", "commit": "1ba6fb7998985736ca3480366c9792be05b93ad7" },
|
"render-markdown.nvim": { "branch": "main", "commit": "5c2440d932a4ba96840e5ce5a7bd40f0624bdaa2" },
|
||||||
"snacks.nvim": { "branch": "main", "commit": "6effbcdff110c16f49c2cef5d211db86f6db5820" },
|
"snacks.nvim": { "branch": "main", "commit": "268ce8faa0cd83262328af5fe09cba5186558e82" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "dca4adba7dc5f09302a00b0e76078d54d82d2658" },
|
"tokyonight.nvim": { "branch": "main", "commit": "dca4adba7dc5f09302a00b0e76078d54d82d2658" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "6f380b8826fb819c752c8fd7daaee9ef96d4c689" },
|
"trouble.nvim": { "branch": "main", "commit": "6f380b8826fb819c752c8fd7daaee9ef96d4c689" },
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,6 @@
|
||||||
},
|
},
|
||||||
"custom/colorpicker": {
|
"custom/colorpicker": {
|
||||||
"format": " ",
|
"format": " ",
|
||||||
"on-click": "~/.config/waybar/scripts/colorpicker.sh"
|
"on-click": "hyprpicker -a"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,9 @@ yay -S --needed neovim \
|
||||||
kitty \
|
kitty \
|
||||||
btop \
|
btop \
|
||||||
zoxide fzf \
|
zoxide fzf \
|
||||||
ueli \
|
|
||||||
evremap \
|
evremap \
|
||||||
superfile
|
superfile \
|
||||||
|
getnf
|
||||||
|
|
||||||
if [ $XDG_SESSION_DESKTOP = "i3" ]; then
|
if [ $XDG_SESSION_DESKTOP = "i3" ]; then
|
||||||
echo -e "${CYAN}# Installing dependencies (for i3)${NC}"
|
echo -e "${CYAN}# Installing dependencies (for i3)${NC}"
|
||||||
|
|
@ -37,9 +37,16 @@ if [ $XDG_SESSION_DESKTOP = "Hyprland" ]; then
|
||||||
hyprswitch \
|
hyprswitch \
|
||||||
nwg-dock-hyprland \
|
nwg-dock-hyprland \
|
||||||
nwg-drawer \
|
nwg-drawer \
|
||||||
swaync
|
swaync \
|
||||||
|
wlogout \
|
||||||
|
hyprpicker \
|
||||||
|
pulseaudio-control \
|
||||||
|
wl-clipboard
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "# Appling setup"
|
echo "# Appling setup"
|
||||||
sudo ln -s ~/.config/evremap.toml /etc/evremap.toml
|
sudo ln -s ~/.config/evremap.toml /etc/evremap.toml
|
||||||
systemctl --user enable --now evremap
|
systemctl --user enable --now evremap
|
||||||
|
|
||||||
|
getnf -i "JetBrainsMono"
|
||||||
|
fc-cache
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue