From f0771edf369d3ea51e3322acb9a5baa456f732b1 Mon Sep 17 00:00:00 2001 From: "Ja.KooLit" Date: Fri, 29 Dec 2023 00:41:08 +0900 Subject: Re-Structured Hypr Folder in preparation for Updates Scripts --- config/hypr/UserConfigs/ENVariables.conf | 40 +++++++ config/hypr/UserConfigs/LaptopDisplay.conf | 4 + config/hypr/UserConfigs/Laptops.conf | 47 ++++++++ config/hypr/UserConfigs/Monitors.conf | 52 ++++++++ config/hypr/UserConfigs/Startup_Apps.conf | 56 +++++++++ config/hypr/UserConfigs/UserKeybinds.conf | 29 +++++ config/hypr/UserConfigs/UserSettings.conf | 145 +++++++++++++++++++++++ config/hypr/UserConfigs/WindowRules.conf | 72 +++++++++++ config/hypr/UserScripts/RainbowBorders.sh | 10 ++ config/hypr/UserScripts/Weather.py | 122 +++++++++++++++++++ config/hypr/UserScripts/Weather.sh | 80 +++++++++++++ config/hypr/UserScripts/ZshChangeTheme.sh | 38 ++++++ config/hypr/configs/ENVariables.conf | 40 ------- config/hypr/configs/Execs.conf | 55 --------- config/hypr/configs/Keybinds.conf | 26 +--- config/hypr/configs/LaptopDisplay.conf | 4 - config/hypr/configs/Laptops.conf | 45 ------- config/hypr/configs/Monitors.conf | 52 -------- config/hypr/configs/Settings.conf | 138 +-------------------- config/hypr/configs/WindowRules.conf | 72 ----------- config/hypr/hyprland.conf | 18 ++- config/hypr/scripts/QuickEdit.sh | 33 ++++-- config/hypr/scripts/RainbowBorders.sh | 10 -- config/hypr/scripts/Refresh.sh | 20 +++- config/hypr/scripts/RefreshNoWaybar.sh | 21 +++- config/hypr/scripts/Weather.py | 122 ------------------- config/hypr/scripts/Weather.sh | 80 ------------- config/hypr/scripts/ZshChangeTheme.sh | 38 ------ config/rofi/config-compact.rasi | 2 +- config/rofi/resolution/1080p/config-compact.rasi | 2 +- config/rofi/resolution/1440p/config-compact.rasi | 2 +- copy.sh | 27 +++-- 32 files changed, 782 insertions(+), 720 deletions(-) create mode 100644 config/hypr/UserConfigs/ENVariables.conf create mode 100644 config/hypr/UserConfigs/LaptopDisplay.conf create mode 100644 config/hypr/UserConfigs/Laptops.conf create mode 100644 config/hypr/UserConfigs/Monitors.conf create mode 100644 config/hypr/UserConfigs/Startup_Apps.conf create mode 100644 config/hypr/UserConfigs/UserKeybinds.conf create mode 100644 config/hypr/UserConfigs/UserSettings.conf create mode 100644 config/hypr/UserConfigs/WindowRules.conf create mode 100755 config/hypr/UserScripts/RainbowBorders.sh create mode 100755 config/hypr/UserScripts/Weather.py create mode 100755 config/hypr/UserScripts/Weather.sh create mode 100755 config/hypr/UserScripts/ZshChangeTheme.sh delete mode 100644 config/hypr/configs/ENVariables.conf delete mode 100644 config/hypr/configs/Execs.conf delete mode 100644 config/hypr/configs/LaptopDisplay.conf delete mode 100644 config/hypr/configs/Laptops.conf delete mode 100644 config/hypr/configs/Monitors.conf delete mode 100644 config/hypr/configs/WindowRules.conf delete mode 100755 config/hypr/scripts/RainbowBorders.sh delete mode 100755 config/hypr/scripts/Weather.py delete mode 100755 config/hypr/scripts/Weather.sh delete mode 100755 config/hypr/scripts/ZshChangeTheme.sh diff --git a/config/hypr/UserConfigs/ENVariables.conf b/config/hypr/UserConfigs/ENVariables.conf new file mode 100644 index 00000000..031acae3 --- /dev/null +++ b/config/hypr/UserConfigs/ENVariables.conf @@ -0,0 +1,40 @@ +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## + +#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_SCALE_FACTOR,1 +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland + +# vulkan +#env = WLR_RENDERER,vulkan + +# firefox +env = MOZ_ENABLE_WAYLAND,1 + +# NVIDIA +# This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected +env = WLR_NO_HARDWARE_CURSORS,1 +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +#env = GBM_BACKEND,nvidia-drm + +#env = __NV_PRIME_RENDER_OFFLOAD,1 +#env = __VK_LAYER_NV_optimus,NVIDIA_only +#env = WLR_DRM_NO_ATOMIC,1 +#env = NVD_BACKEND,direct + +# FOR VM and POSSIBLY NVIDIA +#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 = NVD_BACKEND,direct +#env = EGL_PLATFORM,wayland \ No newline at end of file diff --git a/config/hypr/UserConfigs/LaptopDisplay.conf b/config/hypr/UserConfigs/LaptopDisplay.conf new file mode 100644 index 00000000..d50c9119 --- /dev/null +++ b/config/hypr/UserConfigs/LaptopDisplay.conf @@ -0,0 +1,4 @@ +## 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 diff --git a/config/hypr/UserConfigs/Laptops.conf b/config/hypr/UserConfigs/Laptops.conf new file mode 100644 index 00000000..0a12d7fa --- /dev/null +++ b/config/hypr/UserConfigs/Laptops.conf @@ -0,0 +1,47 @@ +## /* ---- 💫 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 + +$configs = $HOME/.config/hypr/configs +$UserConfigs = $HOME/.config/hypr/UserConfigs +$mainMod = SUPER +$scriptsDir = $HOME/.config/hypr/scripts + +bind = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down +bind = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc #Keyboard brightness up +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) +bind = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec +bind = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc +bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh #disable touchpad + +# Screenshot keybindings for Asus G15 (no PrinSrc button) +bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen +bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area +bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs +bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs + +# 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 "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf +############################################################################## diff --git a/config/hypr/UserConfigs/Monitors.conf b/config/hypr/UserConfigs/Monitors.conf new file mode 100644 index 00000000..ac87862a --- /dev/null +++ b/config/hypr/UserConfigs/Monitors.conf @@ -0,0 +1,52 @@ +## /* ---- 💫 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. + +#Could help when scaling and not pixelating +xwayland { + force_zero_scaling = true +} + +# Monitors +monitor=,preferred,auto,1 + +# NOTE: for laptop, kindly check notes in Laptops.conf regarding display +# Created this inorder for the monitor display to not wake up if not intended. +# See here: https://github.com/hyprwm/Hyprland/issues/4090 + +#monitor = eDP-1, preferred, auto, 1 +#monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen +#monitor = DP-2, preferred, auto, 1 +#monitor = DP-1, preferred, auto, 1 +#monitor = HDMI-A-1, preferred,auto,1 + +# QEMU-KVM or any virtual box +#monitor = Virtual-1, 1920x1080@60,auto,1 + +# Hi Refresh Rate +#monitor=,highrr,auto,1 + +# High Resolution +#monitor=,highres,auto,1 + +# to disable a monitor +#monitor=name,disable + +# Mirror +#monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2 +#monitor=,preferred,auto,1,mirror,eDP-1 + + +# Example : +#monitor=eDP-1,2560x1440@165,0x0,1 +#workspace=HDMI-A-1,1 +#monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1 +#workspace=HDMI-A-2,2 + +#monitor=eDP-1,transform,0 +#monitor=eDP-1,addreserved,10,10,10,49 +#workspace=eDP-1,1 + diff --git a/config/hypr/UserConfigs/Startup_Apps.conf b/config/hypr/UserConfigs/Startup_Apps.conf new file mode 100644 index 00000000..6593268f --- /dev/null +++ b/config/hypr/UserConfigs/Startup_Apps.conf @@ -0,0 +1,56 @@ +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +#Commands & Apps to be executed at launch + +$scriptsDir = $HOME/.config/hypr/scripts +$UserscriptsDir = $HOME/.config/hypr/UserScripts +$lock = $scriptsDir/LockScreen.sh +$SwwwRandom = $scriptsDir/WallpaperRandom.sh +$WallpaperPath = $HOME/Pictures/wallpapers + +# Initial boot script to start Pywal and Set wallpaper. This line and corresponding script can be safely deleted once logged in +exec-once = $HOME/.config/hypr/initial-boot.sh + +# wallpaper stuff / More wallpaper options below +exec-once = swww query || swww init +exec-once = $SwwwRandom $WallpaperPath # 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 = blueman-applet & +#exec-once = rog-control-center & + + +#clipboard manager +exec-once = wl-paste --type text --watch cliphist store +exec-once = wl-paste --type image --watch cliphist store + +# Rainbow borders +exec-once = $UserscriptsDir/RainbowBorders.sh + +# sway-idle with lock only +exec-once = swayidle -w timeout 900 '$lock' +# sway-idle with lock and sleep +#exec-once = swayidle -w timeout 900 '$lock' timeout 1200 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep '$lock' +# sway idle without lock +#exec-once = swayidle -w timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' + +## Here are list of features available but disabled by default +#exec-once = swww query || swww init && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper + +#gnome polkit for nixos +#exec-once = $scriptsDir/Polkit-NixOS.sh + +# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start) +#exec-once = $scriptsDir/PortalHyprland.sh + +# wlsunset - for automatic gamma adjustment. Default is 1900 to 0700 (7pm to 7am). Edit Sunset.sh accordingly +# exec-once = $scriptsDir/Sunset.sh \ No newline at end of file diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf new file mode 100644 index 00000000..f55f0d5e --- /dev/null +++ b/config/hypr/UserConfigs/UserKeybinds.conf @@ -0,0 +1,29 @@ +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict +# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables +# See also Laptops.conf for laptops keybinds + +$mainMod = SUPER +$files = thunar +$term = kitty +$scriptsDir = $HOME/.config/hypr/scripts +$UserScripts = $HOME/.config/hypr/UserScripts + +# rofi App launcher +bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window +bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window + +bind = $mainMod, Return, exec, $term # Launch terminal +bind = $mainMod, T, exec, $files + +# User Added Keybinds +bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme + +# For passthrough keyboard into a VM +# bind = $mainMod ALT, P, submap, passthru +#submap = passthru +# to unbind +#bind = $mainMod ALT, P, submap, reset +#submap = reset diff --git a/config/hypr/UserConfigs/UserSettings.conf b/config/hypr/UserConfigs/UserSettings.conf new file mode 100644 index 00000000..338658a4 --- /dev/null +++ b/config/hypr/UserConfigs/UserSettings.conf @@ -0,0 +1,145 @@ +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# User Settings +# This is where you put your own settings as this will not be touched during update + +## refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables + +# Sourcing colors generated by pywal +source = $HOME/.cache/wal/colors-hyprland +# blurls = waybar +# blurls = rofi + +dwindle { + pseudotile = yes + preserve_split = yes + special_scale_factor = 0.8 +} + +master { + new_is_master=1 + new_on_top=1 + mfact = 0.5 +} + +general { + sensitivity=1.00 + apply_sens_to_raw=1 + gaps_in = 4 + gaps_out = 8 + border_size = 2 + resize_on_border = true + + col.active_border = $color0 $color2 $color4 $color6 $color8 90deg + col.inactive_border = $backgroundCol + + layout = master +} + +group { + col.border_active = $color15 + + groupbar { + col.active = $color0 + } +} + +decoration { + rounding = 8 + + active_opacity = 1.0 + inactive_opacity = 0.9 + fullscreen_opacity = 1.0 + + dim_inactive = true + dim_strength = 0.1 + + drop_shadow=true + shadow_range=6 + shadow_render_power = 1 + col.shadow = $color2 + col.shadow_inactive = 0x50000000 + + blur { + enabled = true + size = 5 + passes = 2 + ignore_opacity = true + new_optimizations = true + } +} + +animations { + enabled = yes + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier = linear, 0.0, 0.0, 1.0, 1.0 + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = slow, 0, 0.85, 0.3, 1 + bezier = overshot, 0.7, 0.6, 0.1, 1.1 + bezier = bounce, 1.1, 1.6, 0.1, 0.85 + bezier = sligshot, 1, -1, 0.15, 1.25 + bezier = nice, 0, 6.9, 0.5, -4.20 + + animation = windowsIn, 1, 5, slow, popin + animation = windowsOut, 1, 5, winOut, popin + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 10, linear + animation = borderangle, 1, 180, linear, loop + animation = fade, 1, 5, overshot + animation = workspaces, 1, 5, wind + animation = windows, 1, 5, bounce, popin +} + +input { + kb_layout=us + kb_variant= + kb_model= + kb_options=grp:alt_shift_toggle + kb_rules= + repeat_rate=50 + repeat_delay=300 + numlock_by_default=1 + left_handed=0 + follow_mouse=1 + float_switch_override_focus=0 + + touchpad { + disable_while_typing=1 + natural_scroll=0 + clickfinger_behavior=0 + middle_button_emulation=1 + tap-to-click=1 + drag_lock=0 + } +} + +gestures { + workspace_swipe=1 + workspace_swipe_fingers=3 + workspace_swipe_distance=400 + workspace_swipe_invert=1 + workspace_swipe_min_speed_to_force=30 + workspace_swipe_cancel_ratio=0.5 + workspace_swipe_create_new=1 + workspace_swipe_forever=1 +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + mouse_move_enables_dpms = true + #vrr = 0 + enable_swallow = true + no_direct_scanout = true #for fullscreen games + focus_on_activate = false + swallow_regex = ^(kitty)$ + #disable_autoreload = true +} + +binds { + workspace_back_and_forth=1 + allow_workspace_cycles=1 + pass_mouse_when_bound=0 +} diff --git a/config/hypr/UserConfigs/WindowRules.conf b/config/hypr/UserConfigs/WindowRules.conf new file mode 100644 index 00000000..a3a77cfb --- /dev/null +++ b/config/hypr/UserConfigs/WindowRules.conf @@ -0,0 +1,72 @@ +## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + +windowrule = float, org.kde.polkit-kde-authentication-agent-1 +windowrule = float, nm-connection-editor|blueman-manager +windowrule = float, pavucontrol +windowrule = float, nwg-look|qt5ct|mpv +windowrule = float, onedriver|onedriver-launcher +windowrule = float, eog +windowrule = float, zoom +windowrule = float, rofi +windowrule = float, gnome-system-monitor +windowrule = float, yad + +#windowrule = noblur,gamescope +#windowrule = fullscreen,gamescope +#windowrule = workspace 6 silent,^(gamescope)$ + +windowrule = center,^(pavucontrol) + +# windowrule v2 +windowrulev2 = workspace 1, class:^(thunderbird)$ +windowrulev2 = workspace 2, class:^(firefox)$ +windowrulev2 = workspace 2, class:^(Firefox-esr)$ +windowrulev2 = workspace 2, class:^(Microsoft-edge-beta)$ +windowrulev2 = workspace 3, class:^([Tt]hunar)$ +windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$ +windowrulev2 = workspace 5 silent, class:^([Ss]team)$,title:^([Ss]team)$ +windowrulev2 = workspace 5 silent, class:^(lutris)$ +windowrulev2 = workspace 6, class:^(virt-manager)$ +windowrulev2 = workspace 7 silent, class:^(discord)$ +windowrulev2 = workspace 7 silent, class:^(WebCord)$ +windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$ + +#opacity (transparent) #enable as desired +windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$ +windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser)$ +windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser-dev)$ +windowrulev2 = opacity 0.9 0.7, class:^(firefox)$ +windowrulev2 = opacity 0.9 0.7, class:^(Firefox-esr)$ +windowrulev2 = opacity 0.9 0.8, class:^([Tt]hunar)$ +windowrulev2 = opacity 0.8 0.6, class:^(pcmanfm-qt)$ +windowrulev2 = opacity 0.9 0.7, class:^(gedit)$ +windowrulev2 = opacity 0.9 0.8, class:^(kitty)$ +windowrulev2 = opacity 0.9 0.7, class:^(mousepad)$ +windowrulev2 = opacity 0.9 0.7, class:^(codium-url-handler)$ +windowrulev2 = opacity 0.9 0.7, class:^(VSCodium)$ +windowrulev2 = opacity 0.9 0.7, class:^(yad)$ +windowrulev2 = opacity 0.9 0.7, class:^(com.obsproject.Studio)$ +windowrulev2 = opacity 0.9 0.7, class:^([Aa]udacious)$ + + +#layerrule = unset,class:^([Rr]ofi)$ +#layerrule = blur,class:^([Rr]ofi)$ +#layerrule = ignorezero, + +#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 +#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1 +#windowrulev2 = opacity 0.8 0.8, pinned:1 + +# Picture-in-a-Picture (PIP) rules: Oddly, some need re-duplication. This is because the window for +# PIP changes after on first launch, and will not inherant the rules... +windowrulev2=opacity 0.95 0.75,title:^(Picture-in-Picture)$ # for opacity: [focus num] [bg num] +# Interestingly, the opacity rule above doesn't need the reduplication? +windowrulev2=pin,title:^(Picture-in-Picture)$ +#windowrulev2=pin,title:^(Firefox)$ +windowrulev2=float, title:^(Picture-in-Picture)$ +#windowrulev2=float, title:^(Firefox)$ +windowrulev2=size 25% 25%,title:^(Picture-in-Picture)$ +#windowrulev2=size 25% 25%,title:^(Firefox)$ +windowrulev2=move 72% 7%,title:^(Picture-in-Picture)$ +#windowrulev2=move 72% 7%,title:^(Firefox)$ \ No newline at end of file diff --git a/config/hypr/UserScripts/RainbowBorders.sh b/config/hypr/UserScripts/RainbowBorders.sh new file mode 100755 index 00000000..1f5e6cdb --- /dev/null +++ b/config/hypr/UserScripts/RainbowBorders.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +function random_hex() { + random_hex=("0xff$(openssl rand -hex 3)") + echo $random_hex +} + +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 + +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 \ No newline at end of file diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py new file mode 100755 index 00000000..154c1589 --- /dev/null +++ b/config/hypr/UserScripts/Weather.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +# From https://raw.githubusercontent.com/rxyhn/dotfiles/main/home/rxyhn/modules/desktop/waybar/scripts/waybar-wttr.py + +## ensure to insert city inside "" +city = "" +import json +import requests +from datetime import datetime + +WEATHER_CODES = { + '113': '', + '116': '󰖕', + '119': '', + '122': '', + '143': '', + '176': '', + '179': '', + '182': '', + '185': '', + '200': '⛈️', + '227': '🌨️', + '230': '🌨️', + '248': '☁️ ', + '260': '☁️', + '263': '🌧️', + '266': '🌧️', + '281': '🌧️', + '284': '🌧️', + '293': '🌧️', + '296': '🌧️', + '299': '🌧️', + '302': '🌧️', + '305': '🌧️', + '308': '🌧️', + '311': '🌧️', + '314': '🌧️', + '317': '🌧️', + '320': '🌨️', + '323': '🌨️', + '326': '🌨️', + '329': '❄️', + '332': '❄️', + '335': '❄️', + '338': '❄️', + '350': '🌧️', + '353': '🌧️', + '356': '🌧️', + '359': '🌧️', + '362': '🌧️', + '365': '🌧️', + '368': '🌧️', + '371': '❄️', + '374': '🌨️', + '377': '🌨️', + '386': '🌨️', + '389': '🌨️', + '392': '🌧️', + '395': '❄️' +} + +data = {} + + +weather = requests.get(f"https://wttr.in/{city}?format=j1").json() + + +def format_time(time): + return time.replace("00", "").zfill(2) + + +def format_temp(temp): + return (hour['FeelsLikeC']+"°").ljust(3) + + +def format_chances(hour): + chances = { + "chanceoffog": "Fog", + "chanceoffrost": "Frost", + "chanceofovercast": "Overcast", + "chanceofrain": "Rain", + "chanceofsnow": "Snow", + "chanceofsunshine": "Sunshine", + "chanceofthunder": "Thunder", + "chanceofwindy": "Wind" + } + + conditions = [] + for event in chances.keys(): + if int(hour[event]) > 0: + conditions.append(chances[event]+" "+hour[event]+"%") + return ", ".join(conditions) + +tempint = int(weather['current_condition'][0]['FeelsLikeC']) +extrachar = '' +if tempint > 0 and tempint < 10: + extrachar = '+' + + +data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \ + " "+extrachar+weather['current_condition'][0]['FeelsLikeC']+"°" + +data['tooltip'] = f"{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_C']}°\n" +data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeC']}°\n" +data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n" +data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n" +for i, day in enumerate(weather['weather']): + data['tooltip'] += f"\n" + if i == 0: + data['tooltip'] += "Today, " + if i == 1: + data['tooltip'] += "Tomorrow, " + data['tooltip'] += f"{day['date']}\n" + data['tooltip'] += f"⬆️{day['maxtempC']}° ⬇️{day['mintempC']}° " + data['tooltip'] += f"🌅{day['astronomy'][0]['sunrise']} 🌇{day['astronomy'][0]['sunset']}\n" + for hour in day['hourly']: + if i == 0: + if int(format_time(hour['time'])) < datetime.now().hour-2: + continue + data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeC'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n" + + +print(json.dumps(data)) diff --git a/config/hypr/UserScripts/Weather.sh b/config/hypr/UserScripts/Weather.sh new file mode 100755 index 00000000..40048710 --- /dev/null +++ b/config/hypr/UserScripts/Weather.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +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]}"\"}" diff --git a/config/hypr/UserScripts/ZshChangeTheme.sh b/config/hypr/UserScripts/ZshChangeTheme.sh new file mode 100755 index 00000000..7057ed2e --- /dev/null +++ b/config/hypr/UserScripts/ZshChangeTheme.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +themes_dir="$HOME/.oh-my-zsh/themes" +file_extension=".zsh-theme" + +themes_array=($(find "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//")) + +rofi_command="rofi -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 wont change anything + if [ -z "$choice" ]; then + exit 0 + fi + + zsh_path="$HOME/.zshrc" + var_name="ZSH_THEME" + for i in "${themes_array[@]}"; do + if [[ "$i" == "$choice"* ]]; then + if [ -f "$zsh_path" ]; then + sed -i "s/^$var_name=.*/$var_name=\"$i\"/" "$zsh_path" + else + echo "File not found" + fi + break + fi + done +} + +main diff --git a/config/hypr/configs/ENVariables.conf b/config/hypr/configs/ENVariables.conf deleted file mode 100644 index 4437c641..00000000 --- a/config/hypr/configs/ENVariables.conf +++ /dev/null @@ -1,40 +0,0 @@ -## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## - -#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_SCALE_FACTOR,1 -env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 -env = XDG_CURRENT_DESKTOP,Hyprland -env = XDG_SESSION_DESKTOP,Hyprland -env = XDG_SESSION_TYPE,wayland - -# vulkan -#env = WLR_RENDERER,vulkan - -# firefox -env = MOZ_ENABLE_WAYLAND,1 - -# NVIDIA -# This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected -#env = WLR_NO_HARDWARE_CURSORS,1 -#env = LIBVA_DRIVER_NAME,nvidia -#env = __GLX_VENDOR_LIBRARY_NAME,nvidia -#env = GBM_BACKEND,nvidia-drm - -#env = __NV_PRIME_RENDER_OFFLOAD,1 -#env = __VK_LAYER_NV_optimus,NVIDIA_only -#env = WLR_DRM_NO_ATOMIC,1 -#env = NVD_BACKEND,direct - -# FOR VM and POSSIBLY NVIDIA -#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 = NVD_BACKEND,direct -#env = EGL_PLATFORM,wayland \ No newline at end of file diff --git a/config/hypr/configs/Execs.conf b/config/hypr/configs/Execs.conf deleted file mode 100644 index ef5b8ad5..00000000 --- a/config/hypr/configs/Execs.conf +++ /dev/null @@ -1,55 +0,0 @@ -## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## -#Commands & Apps to be executed at launch - -$scriptsDir = $HOME/.config/hypr/scripts -$lock = $scriptsDir/LockScreen.sh -$SwwwRandom = $scriptsDir/WallpaperRandom.sh -$WallpaperPath = $HOME/Pictures/wallpapers - -# Initial boot script to start Pywal and Set wallpaper. This line and corresponding script can be safely deleted once logged in -exec-once = $HOME/.config/hypr/initial-boot.sh - -# wallpaper stuff / More wallpaper options below -exec-once = swww query || swww init -exec-once = $SwwwRandom $WallpaperPath # 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 = blueman-applet & -#exec-once = rog-control-center & - - -#clipboard manager -exec-once = wl-paste --type text --watch cliphist store -exec-once = wl-paste --type image --watch cliphist store - -# Rainbow borders -exec-once = $scriptsDir/RainbowBorders.sh - -# sway-idle with lock only -exec-once = swayidle -w timeout 900 '$lock' -# sway-idle with lock and sleep -#exec-once = swayidle -w timeout 900 '$lock' timeout 1200 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep '$lock' -# sway idle without lock -#exec-once = swayidle -w timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' - -## Here are list of features available but disabled by default -#exec-once = swww query || swww init && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper - -#gnome polkit for nixos -#exec-once = $scriptsDir/Polkit-NixOS.sh - -# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start) -#exec-once = $scriptsDir/PortalHyprland.sh - -# wlsunset - for automatic gamma adjustment. Default is 1900 to 0700 (7pm to 7am). Edit Sunset.sh accordingly -# exec-once = $scriptsDir/Sunset.sh \ No newline at end of file diff --git a/config/hypr/configs/Keybinds.conf b/config/hypr/configs/Keybinds.conf index c36c0804..84b78cff 100644 --- a/config/hypr/configs/Keybinds.conf +++ b/config/hypr/configs/Keybinds.conf @@ -1,25 +1,15 @@ ## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Default Keybinds -# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables -# See also Laptops.conf for laptops keybinds $mainMod = SUPER -$files = thunar -$browser = firefox -$term = kitty $scriptsDir = $HOME/.config/hypr/scripts -# rofi App launcher -bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window -bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window - -bind = $mainMod, Return, exec, $term # Launch terminal bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 bind = $mainMod SHIFT, Q, closewindow, bind = $mainMod SHIFT, F, togglefloating, bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat bind = $mainMod, F, fullscreen bind = $mainMod, Q, killactive, -bind = $mainMod, T, exec, $files bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh @@ -36,10 +26,6 @@ bind = $mainMod, Space, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwi bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel - -# MISC (Miscellaneous Keybinds) -bind = $mainMod SHIFT, O, exec, $scriptsDir/ZshChangeTheme.sh # Change oh-my-zsh theme - # Wallpaper related keybinds bind = $mainMod, W, exec, $scriptsDir/WallpaperSelect.sh # Select wallpaper to apply bind = CTRL ALT, W, exec, $scriptsDir/Wallpaper.sh # Random wallpapers @@ -61,7 +47,7 @@ bind = $mainMod SHIFT, M, exec, hyprctl dispatch splitratio -0.3 # group bind = $mainMod, G, togglegroup -bind = ALT, tab, changegroupactive # change focus to another window +bind = ALT, tab, changegroupactive #change focus to another window # Special Keys / Hot Keys bind = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up @@ -164,11 +150,3 @@ bind = $mainMod, comma, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow - - -# For passthrough keyboard into a VM -# bind = $mainMod ALT, P, submap, passthru -#submap = passthru -# to unbind -#bind = $mainMod ALT, P, submap, reset -#submap = reset diff --git a/config/hypr/configs/LaptopDisplay.conf b/config/hypr/configs/LaptopDisplay.conf deleted file mode 100644 index d50c9119..00000000 --- a/config/hypr/configs/LaptopDisplay.conf +++ /dev/null @@ -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 diff --git a/config/hypr/configs/Laptops.conf b/config/hypr/configs/Laptops.conf deleted file mode 100644 index 17047320..00000000 --- a/config/hypr/configs/Laptops.conf +++ /dev/null @@ -1,45 +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 -$configs = $HOME/.config/hypr/configs -$mainMod = SUPER -$scriptsDir = $HOME/.config/hypr/scripts - -bind = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down -bind = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc #Keyboard brightness up -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) -bind = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec -bind = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc -bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh #disable touchpad - -# Screenshot keybindings for Asus G15 (no PrinSrc button) -bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen -bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area -bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs -bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs - -# 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" > $configs/LaptopDisplay.conf -#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $configs/LaptopDisplay.conf - -# for laptop-lid action (to erase the last entry) -#exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/configs/LaptopDisplay.conf -############################################################################## diff --git a/config/hypr/configs/Monitors.conf b/config/hypr/configs/Monitors.conf deleted file mode 100644 index ac87862a..00000000 --- a/config/hypr/configs/Monitors.conf +++ /dev/null @@ -1,52 +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. - -#Could help when scaling and not pixelating -xwayland { - force_zero_scaling = true -} - -# Monitors -monitor=,preferred,auto,1 - -# NOTE: for laptop, kindly check notes in Laptops.conf regarding display -# Created this inorder for the monitor display to not wake up if not intended. -# See here: https://github.com/hyprwm/Hyprland/issues/4090 - -#monitor = eDP-1, preferred, auto, 1 -#monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen -#monitor = DP-2, preferred, auto, 1 -#monitor = DP-1, preferred, auto, 1 -#monitor = HDMI-A-1, preferred,auto,1 - -# QEMU-KVM or any virtual box -#monitor = Virtual-1, 1920x1080@60,auto,1 - -# Hi Refresh Rate -#monitor=,highrr,auto,1 - -# High Resolution -#monitor=,highres,auto,1 - -# to disable a monitor -#monitor=name,disable - -# Mirror -#monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2 -#monitor=,preferred,auto,1,mirror,eDP-1 - - -# Example : -#monitor=eDP-1,2560x1440@165,0x0,1 -#workspace=HDMI-A-1,1 -#monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1 -#workspace=HDMI-A-2,2 - -#monitor=eDP-1,transform,0 -#monitor=eDP-1,addreserved,10,10,10,49 -#workspace=eDP-1,1 - diff --git a/config/hypr/configs/Settings.conf b/config/hypr/configs/Settings.conf index 7db59116..e9901013 100644 --- a/config/hypr/configs/Settings.conf +++ b/config/hypr/configs/Settings.conf @@ -1,143 +1,7 @@ ## /* ---- 💫 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 -# Sourcing colors generated by pywal -source = $HOME/.cache/wal/colors-hyprland -# blurls = waybar -# blurls = rofi -dwindle { - pseudotile = yes - preserve_split = yes - special_scale_factor = 0.8 -} -master { - new_is_master=1 - new_on_top=1 - mfact = 0.5 -} - -general { - sensitivity=1.00 - apply_sens_to_raw=1 - gaps_in = 4 - gaps_out = 8 - border_size = 2 - resize_on_border = true - - col.active_border = $color0 $color2 $color4 $color6 $color8 90deg - col.inactive_border = $backgroundCol - - layout = master -} - -group { - col.border_active = $color15 - - groupbar { - col.active = $color0 - } -} - -decoration { - rounding = 8 - - active_opacity = 1.0 - inactive_opacity = 0.9 - fullscreen_opacity = 1.0 - - dim_inactive = true - dim_strength = 0.1 - - drop_shadow=true - shadow_range=6 - shadow_render_power = 1 - col.shadow = $color2 - col.shadow_inactive = 0x50000000 - - blur { - enabled = true - size = 5 - passes = 2 - ignore_opacity = true - new_optimizations = true - } -} - -animations { - enabled = yes - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - bezier = linear, 0.0, 0.0, 1.0, 1.0 - bezier = wind, 0.05, 0.9, 0.1, 1.05 - bezier = winIn, 0.1, 1.1, 0.1, 1.1 - bezier = winOut, 0.3, -0.3, 0, 1 - bezier = slow, 0, 0.85, 0.3, 1 - bezier = overshot, 0.7, 0.6, 0.1, 1.1 - bezier = bounce, 1.1, 1.6, 0.1, 0.85 - bezier = sligshot, 1, -1, 0.15, 1.25 - bezier = nice, 0, 6.9, 0.5, -4.20 - - animation = windowsIn, 1, 5, slow, popin - animation = windowsOut, 1, 5, winOut, popin - animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 10, linear - animation = borderangle, 1, 180, linear, loop - animation = fade, 1, 5, overshot - animation = workspaces, 1, 5, wind - animation = windows, 1, 5, bounce, popin -} - -input { - kb_layout=us - kb_variant= - kb_model= - kb_options=grp:alt_shift_toggle - kb_rules= - repeat_rate=50 - repeat_delay=300 - numlock_by_default=1 - left_handed=0 - follow_mouse=1 - float_switch_override_focus=0 - - touchpad { - disable_while_typing=1 - natural_scroll=0 - clickfinger_behavior=0 - middle_button_emulation=1 - tap-to-click=1 - drag_lock=0 - } -} - -gestures { - workspace_swipe=1 - workspace_swipe_fingers=3 - workspace_swipe_distance=400 - workspace_swipe_invert=1 - workspace_swipe_min_speed_to_force=30 - workspace_swipe_cancel_ratio=0.5 - workspace_swipe_create_new=1 - workspace_swipe_forever=1 -} - -misc { - disable_hyprland_logo = true - disable_splash_rendering = true - mouse_move_enables_dpms = true - #vrr = 0 - enable_swallow = true - no_direct_scanout = true #for fullscreen games - focus_on_activate = false - swallow_regex = ^(kitty)$ - #disable_autoreload = true -} - -binds { - workspace_back_and_forth=1 - allow_workspace_cycles=1 - pass_mouse_when_bound=0 -} diff --git a/config/hypr/configs/WindowRules.conf b/config/hypr/configs/WindowRules.conf deleted file mode 100644 index a3a77cfb..00000000 --- a/config/hypr/configs/WindowRules.conf +++ /dev/null @@ -1,72 +0,0 @@ -## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - -windowrule = float, org.kde.polkit-kde-authentication-agent-1 -windowrule = float, nm-connection-editor|blueman-manager -windowrule = float, pavucontrol -windowrule = float, nwg-look|qt5ct|mpv -windowrule = float, onedriver|onedriver-launcher -windowrule = float, eog -windowrule = float, zoom -windowrule = float, rofi -windowrule = float, gnome-system-monitor -windowrule = float, yad - -#windowrule = noblur,gamescope -#windowrule = fullscreen,gamescope -#windowrule = workspace 6 silent,^(gamescope)$ - -windowrule = center,^(pavucontrol) - -# windowrule v2 -windowrulev2 = workspace 1, class:^(thunderbird)$ -windowrulev2 = workspace 2, class:^(firefox)$ -windowrulev2 = workspace 2, class:^(Firefox-esr)$ -windowrulev2 = workspace 2, class:^(Microsoft-edge-beta)$ -windowrulev2 = workspace 3, class:^([Tt]hunar)$ -windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$ -windowrulev2 = workspace 5 silent, class:^([Ss]team)$,title:^([Ss]team)$ -windowrulev2 = workspace 5 silent, class:^(lutris)$ -windowrulev2 = workspace 6, class:^(virt-manager)$ -windowrulev2 = workspace 7 silent, class:^(discord)$ -windowrulev2 = workspace 7 silent, class:^(WebCord)$ -windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$ - -#opacity (transparent) #enable as desired -windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$ -windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser)$ -windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser-dev)$ -windowrulev2 = opacity 0.9 0.7, class:^(firefox)$ -windowrulev2 = opacity 0.9 0.7, class:^(Firefox-esr)$ -windowrulev2 = opacity 0.9 0.8, class:^([Tt]hunar)$ -windowrulev2 = opacity 0.8 0.6, class:^(pcmanfm-qt)$ -windowrulev2 = opacity 0.9 0.7, class:^(gedit)$ -windowrulev2 = opacity 0.9 0.8, class:^(kitty)$ -windowrulev2 = opacity 0.9 0.7, class:^(mousepad)$ -windowrulev2 = opacity 0.9 0.7, class:^(codium-url-handler)$ -windowrulev2 = opacity 0.9 0.7, class:^(VSCodium)$ -windowrulev2 = opacity 0.9 0.7, class:^(yad)$ -windowrulev2 = opacity 0.9 0.7, class:^(com.obsproject.Studio)$ -windowrulev2 = opacity 0.9 0.7, class:^([Aa]udacious)$ - - -#layerrule = unset,class:^([Rr]ofi)$ -#layerrule = blur,class:^([Rr]ofi)$ -#layerrule = ignorezero, - -#windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 -#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1 -#windowrulev2 = opacity 0.8 0.8, pinned:1 - -# Picture-in-a-Picture (PIP) rules: Oddly, some need re-duplication. This is because the window for -# PIP changes after on first launch, and will not inherant the rules... -windowrulev2=opacity 0.95 0.75,title:^(Picture-in-Picture)$ # for opacity: [focus num] [bg num] -# Interestingly, the opacity rule above doesn't need the reduplication? -windowrulev2=pin,title:^(Picture-in-Picture)$ -#windowrulev2=pin,title:^(Firefox)$ -windowrulev2=float, title:^(Picture-in-Picture)$ -#windowrulev2=float, title:^(Firefox)$ -windowrulev2=size 25% 25%,title:^(Picture-in-Picture)$ -#windowrulev2=size 25% 25%,title:^(Firefox)$ -windowrulev2=move 72% 7%,title:^(Picture-in-Picture)$ -#windowrulev2=move 72% 7%,title:^(Firefox)$ \ No newline at end of file diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index c09e6f75..4fd65aa4 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -1,17 +1,23 @@ # Sourcing external config files + +###### Default Configs $configs = $HOME/.config/hypr/configs -source=$configs/ENVariables.conf -source=$configs/Execs.conf source=$configs/Keybinds.conf -source=$configs/Laptops.conf -source=$configs/LaptopDisplay.conf -source=$configs/Monitors.conf -source=$configs/WindowRules.conf source=$configs/Settings.conf +#### User Configs +$UserConfigs = $HOME/.config/hypr/UserConfigs +source= $UserConfigs/Startup_Apps.conf +source= $UserConfigs/ENVariables.conf +source= $UserConfigs/UserKeybinds.conf +source= $UserConfigs/UserSettings.conf +source= $UserConfigs/Monitors.conf +source= $UserConfigs/Laptops.conf +source= $UserConfigs/LaptopDisplay.conf +source= $UserConfigs/WindowRules.conf diff --git a/config/hypr/scripts/QuickEdit.sh b/config/hypr/scripts/QuickEdit.sh index 7e9d67fc..9c7cdffc 100755 --- a/config/hypr/scripts/QuickEdit.sh +++ b/config/hypr/scripts/QuickEdit.sh @@ -1,40 +1,49 @@ #!/bin/bash -hyprDir="$HOME/.config/hypr/configs" +defaultDir="$HOME/.config/hypr/configs" +userDir="$HOME/.config/hypr/UserConfigs" menu(){ printf "1. view Env-variables\n" - printf "2. view Rules\n" - printf "3. view Execs (startup)\n" - printf "4. view KeyBinds\n" + printf "2. view Window-Rules\n" + printf "3. view Startup_Apps\n" + printf "4. view User-Keybinds\n" printf "5. view Monitors\n" printf "6. view Laptop-Keybinds\n" - printf "7. view Hyprland-Settings\n" + printf "7. view User-Settings\n" + printf "8. view Default-Settings\n" + printf "9. view Default-Keybinds\n" } main() { choice=$(menu | rofi -dmenu -config ~/.config/rofi/config-compact.rasi | cut -d. -f1) case $choice in 1) - kitty -e nano "$hyprDir/ENVariables.conf" + kitty -e nano "$userDir/ENVariables.conf" ;; 2) - kitty -e nano "$hyprDir/WindowRules.conf" + kitty -e nano "$userDir/WindowRules.conf" ;; 3) - kitty -e nano "$hyprDir/Execs.conf" + kitty -e nano "$userDir/Startup_Apps.conf" ;; 4) - kitty -e nano "$hyprDir/Keybinds.conf" + kitty -e nano "$userDir/UserKeybinds.conf" ;; 5) - kitty -e nano "$hyprDir/Monitors.conf" + kitty -e nano "$userDir/Monitors.conf" ;; 6) - kitty -e nano "$hyprDir/Laptops.conf" + kitty -e nano "$userDir/Laptops.conf" ;; 7) - kitty -e nano "$hyprDir/Settings.conf" + kitty -e nano "$userDir/UserSettings.conf" + ;; + 8) + kitty -e nano "$defaultDir/Settings.conf" + ;; + 9) + kitty -e nano "$defaultDir/Keybinds.conf" ;; *) ;; diff --git a/config/hypr/scripts/RainbowBorders.sh b/config/hypr/scripts/RainbowBorders.sh deleted file mode 100755 index 1f5e6cdb..00000000 --- a/config/hypr/scripts/RainbowBorders.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -function random_hex() { - random_hex=("0xff$(openssl rand -hex 3)") - echo $random_hex -} - -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 - -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 \ No newline at end of file diff --git a/config/hypr/scripts/Refresh.sh b/config/hypr/scripts/Refresh.sh index 52f7e642..b5e0f556 100755 --- a/config/hypr/scripts/Refresh.sh +++ b/config/hypr/scripts/Refresh.sh @@ -1,6 +1,16 @@ #!/usr/bin/env bash SCRIPTSDIR=$HOME/.config/hypr/scripts +UserSCRIPTSDIR=$HOME/.config/hypr/UserScripts + +# Define file_exists function +file_exists() { + if [ -e "$1" ]; then + return 0 # File exists + else + return 1 # File does not exist + fi +} # Kill already running processes _ps=(waybar rofi swaync) @@ -18,9 +28,13 @@ waybar & sleep 0.5 swaync > /dev/null 2>&1 & -# Relaunching rainbow borders +# Relaunching rainbow borders if the script exists sleep 1 -${SCRIPTSDIR}/RainbowBorders.sh & +if file_exists "${UserSCRIPTSDIR}/RainbowBorders.sh"; then + ${UserSCRIPTSDIR}/RainbowBorders.sh & +fi # for cava-pywal (note, need to manually restart cava once wallpaper changes) -ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true \ No newline at end of file +ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true + +exit 0 \ No newline at end of file diff --git a/config/hypr/scripts/RefreshNoWaybar.sh b/config/hypr/scripts/RefreshNoWaybar.sh index dc99b623..be06167c 100755 --- a/config/hypr/scripts/RefreshNoWaybar.sh +++ b/config/hypr/scripts/RefreshNoWaybar.sh @@ -5,6 +5,16 @@ # Modified inorder to refresh rofi background, Pywal SCRIPTSDIR=$HOME/.config/hypr/scripts +UserSCRIPTSDIR=$HOME/.config/hypr/UserScripts + +# Define file_exists function +file_exists() { + if [ -e "$1" ]; then + return 0 # File exists + else + return 1 # File does not exist + fi +} # Kill already running processes _ps=(rofi) @@ -17,10 +27,13 @@ done # Pywal refresh ${SCRIPTSDIR}/PywalSwww.sh & - -# Relaunching rainbow borders +# Relaunching rainbow borders if the script exists sleep 1 -${SCRIPTSDIR}/RainbowBorders.sh & +if file_exists "${UserSCRIPTSDIR}/RainbowBorders.sh"; then + ${UserSCRIPTSDIR}/RainbowBorders.sh & +fi # for cava-pywal (note, need to manually restart cava once wallpaper changes) -ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true \ No newline at end of file +ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config" || true + +exit 0 \ No newline at end of file diff --git a/config/hypr/scripts/Weather.py b/config/hypr/scripts/Weather.py deleted file mode 100755 index 154c1589..00000000 --- a/config/hypr/scripts/Weather.py +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env python3 -# From https://raw.githubusercontent.com/rxyhn/dotfiles/main/home/rxyhn/modules/desktop/waybar/scripts/waybar-wttr.py - -## ensure to insert city inside "" -city = "" -import json -import requests -from datetime import datetime - -WEATHER_CODES = { - '113': '', - '116': '󰖕', - '119': '', - '122': '', - '143': '', - '176': '', - '179': '', - '182': '', - '185': '', - '200': '⛈️', - '227': '🌨️', - '230': '🌨️', - '248': '☁️ ', - '260': '☁️', - '263': '🌧️', - '266': '🌧️', - '281': '🌧️', - '284': '🌧️', - '293': '🌧️', - '296': '🌧️', - '299': '🌧️', - '302': '🌧️', - '305': '🌧️', - '308': '🌧️', - '311': '🌧️', - '314': '🌧️', - '317': '🌧️', - '320': '🌨️', - '323': '🌨️', - '326': '🌨️', - '329': '❄️', - '332': '❄️', - '335': '❄️', - '338': '❄️', - '350': '🌧️', - '353': '🌧️', - '356': '🌧️', - '359': '🌧️', - '362': '🌧️', - '365': '🌧️', - '368': '🌧️', - '371': '❄️', - '374': '🌨️', - '377': '🌨️', - '386': '🌨️', - '389': '🌨️', - '392': '🌧️', - '395': '❄️' -} - -data = {} - - -weather = requests.get(f"https://wttr.in/{city}?format=j1").json() - - -def format_time(time): - return time.replace("00", "").zfill(2) - - -def format_temp(temp): - return (hour['FeelsLikeC']+"°").ljust(3) - - -def format_chances(hour): - chances = { - "chanceoffog": "Fog", - "chanceoffrost": "Frost", - "chanceofovercast": "Overcast", - "chanceofrain": "Rain", - "chanceofsnow": "Snow", - "chanceofsunshine": "Sunshine", - "chanceofthunder": "Thunder", - "chanceofwindy": "Wind" - } - - conditions = [] - for event in chances.keys(): - if int(hour[event]) > 0: - conditions.append(chances[event]+" "+hour[event]+"%") - return ", ".join(conditions) - -tempint = int(weather['current_condition'][0]['FeelsLikeC']) -extrachar = '' -if tempint > 0 and tempint < 10: - extrachar = '+' - - -data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \ - " "+extrachar+weather['current_condition'][0]['FeelsLikeC']+"°" - -data['tooltip'] = f"{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_C']}°\n" -data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeC']}°\n" -data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n" -data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n" -for i, day in enumerate(weather['weather']): - data['tooltip'] += f"\n" - if i == 0: - data['tooltip'] += "Today, " - if i == 1: - data['tooltip'] += "Tomorrow, " - data['tooltip'] += f"{day['date']}\n" - data['tooltip'] += f"⬆️{day['maxtempC']}° ⬇️{day['mintempC']}° " - data['tooltip'] += f"🌅{day['astronomy'][0]['sunrise']} 🌇{day['astronomy'][0]['sunset']}\n" - for hour in day['hourly']: - if i == 0: - if int(format_time(hour['time'])) < datetime.now().hour-2: - continue - data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeC'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n" - - -print(json.dumps(data)) diff --git a/config/hypr/scripts/Weather.sh b/config/hypr/scripts/Weather.sh deleted file mode 100755 index 40048710..00000000 --- a/config/hypr/scripts/Weather.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash - -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]}"\"}" diff --git a/config/hypr/scripts/ZshChangeTheme.sh b/config/hypr/scripts/ZshChangeTheme.sh deleted file mode 100755 index 7057ed2e..00000000 --- a/config/hypr/scripts/ZshChangeTheme.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -themes_dir="$HOME/.oh-my-zsh/themes" -file_extension=".zsh-theme" - -themes_array=($(find "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//")) - -rofi_command="rofi -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 wont change anything - if [ -z "$choice" ]; then - exit 0 - fi - - zsh_path="$HOME/.zshrc" - var_name="ZSH_THEME" - for i in "${themes_array[@]}"; do - if [[ "$i" == "$choice"* ]]; then - if [ -f "$zsh_path" ]; then - sed -i "s/^$var_name=.*/$var_name=\"$i\"/" "$zsh_path" - else - echo "File not found" - fi - break - fi - done -} - -main diff --git a/config/rofi/config-compact.rasi b/config/rofi/config-compact.rasi index 308ff85b..b5b45592 100644 --- a/config/rofi/config-compact.rasi +++ b/config/rofi/config-compact.rasi @@ -115,7 +115,7 @@ listview { spacing: 4px; dynamic: true; cycle: true; - scrollbar: false; + scrollbar: true; layout: vertical; reverse: false; fixed-height: true; diff --git a/config/rofi/resolution/1080p/config-compact.rasi b/config/rofi/resolution/1080p/config-compact.rasi index 308ff85b..b5b45592 100644 --- a/config/rofi/resolution/1080p/config-compact.rasi +++ b/config/rofi/resolution/1080p/config-compact.rasi @@ -115,7 +115,7 @@ listview { spacing: 4px; dynamic: true; cycle: true; - scrollbar: false; + scrollbar: true; layout: vertical; reverse: false; fixed-height: true; diff --git a/config/rofi/resolution/1440p/config-compact.rasi b/config/rofi/resolution/1440p/config-compact.rasi index 0dd5fe5d..029fdbdf 100644 --- a/config/rofi/resolution/1440p/config-compact.rasi +++ b/config/rofi/resolution/1440p/config-compact.rasi @@ -115,7 +115,7 @@ listview { spacing: 4px; dynamic: true; cycle: true; - scrollbar: false; + scrollbar: true; layout: vertical; reverse: false; fixed-height: true; diff --git a/copy.sh b/copy.sh index 612b60e4..8b5f454d 100755 --- a/copy.sh +++ b/copy.sh @@ -4,6 +4,7 @@ clear wallpaper=$HOME/Pictures/wallpapers/Cute-Cat_ja.jpg +Waybar_Style="$HOME/.config/waybar/style/[Pywal] Chroma Fusion.css" # Check if running as root. If root, script will exit if [[ $EUID -eq 0 ]]; then @@ -36,17 +37,17 @@ xdg-user-dirs-update 2>&1 | tee -a "$LOG" || true # uncommenting WLR_NO_HARDWARE_CURSORS if nvidia is detected if lspci -k | grep -A 2 -E "(VGA|3D)" | grep -iq nvidia; then # NVIDIA GPU detected, uncomment line 23 in ENVariables.conf - sed -i '/env = WLR_NO_HARDWARE_CURSORS,1/s/^#//' config/hypr/configs/ENVariables.conf - sed -i '/env = LIBVA_DRIVER_NAME,nvidia/s/^#//' config/hypr/configs/ENVariables.conf - sed -i '/env = __GLX_VENDOR_LIBRARY_NAME,nvidia/s/^#//' config/hypr/configs/ENVariables.conf + sed -i '/env = WLR_NO_HARDWARE_CURSORS,1/s/^#//' config/hypr/UserConfigs/ENVariables.conf + sed -i '/env = LIBVA_DRIVER_NAME,nvidia/s/^#//' config/hypr/UserConfigs/ENVariables.conf + sed -i '/env = __GLX_VENDOR_LIBRARY_NAME,nvidia/s/^#//' config/hypr/UserConfigs/ENVariables.conf fi # uncommenting WLR_RENDERER_ALLOW_SOFTWARE,1 if running in a VM is detected if hostnamectl | grep -q 'Chassis: vm'; then echo "This script is running in a virtual machine." - sed -i '/env = WLR_NO_HARDWARE_CURSORS,1/s/^#//' config/hypr/configs/ENVariables.conf - sed -i '/env = WLR_RENDERER_ALLOW_SOFTWARE,1/s/^#//' config/hypr/configs/ENVariables.conf - sed -i '/monitor = Virtual-1, 1920x1080@60,auto,1/s/^#//' config/hypr/configs/Monitors.conf + sed -i '/env = WLR_NO_HARDWARE_CURSORS,1/s/^#//' config/hypr/UserConfigs/ENVariables.conf + sed -i '/env = WLR_RENDERER_ALLOW_SOFTWARE,1/s/^#//' config/hypr/UserConfigs/ENVariables.conf + sed -i '/monitor = Virtual-1, 1920x1080@60,auto,1/s/^#//' config/hypr/UserConfigs/Monitors.conf fi # Preparing hyprland.conf to check for current keyboard layout @@ -98,8 +99,8 @@ while true; do case $confirm in [yY]) # If the detected layout is correct, update the 'kb_layout=' line in the file - awk -v layout="$layout" '/kb_layout/ {$0 = " kb_layout=" layout} 1' config/hypr/configs/Settings.conf > temp.conf - mv temp.conf config/hypr/configs/Settings.conf + awk -v layout="$layout" '/kb_layout/ {$0 = " kb_layout=" layout} 1' config/hypr/UserConfigs/Settings.conf > temp.conf + mv temp.conf config/hypr/UserConfigs/Settings.conf break ;; [nN]) printf "\n%.0s" {1..2} @@ -111,8 +112,8 @@ while true; do printf "\n%.0s" {1..2} read -p "${CAT} - Please enter the correct keyboard layout: " new_layout # Update the 'kb_layout=' line with the correct layout in the file - awk -v new_layout="$new_layout" '/kb_layout/ {$0 = " kb_layout=" new_layout} 1' config/hypr/configs/Settings.conf > temp.conf - mv temp.conf config/hypr/configs/Settings.conf + awk -v new_layout="$new_layout" '/kb_layout/ {$0 = " kb_layout=" new_layout} 1' config/hypr/UserConfigs/Settings.conf > temp.conf + mv temp.conf config/hypr/UserConfigs/Settings.conf break ;; *) echo "Please enter either 'y' or 'n'." ;; @@ -166,7 +167,7 @@ get_backup_dirname() { echo "back-up_${timestamp}" } -for DIR in btop cava hypr kitty Kvantum qt5ct qt6ct rofi swappy swaylock wal waybar wlogout; do +for DIR in btop cava hypr kitty Kvantum qt5ct qt6ct rofi swappy swaync swaylock wal waybar wlogout; do DIRPATH=~/.config/"$DIR" if [ -d "$DIRPATH" ]; then echo -e "${NOTE} - Config for $DIR found, attempting to back up." @@ -198,7 +199,7 @@ cp -r wallpapers ~/Pictures/ && { echo "${OK}Copy completed!"; } || { echo "${ER # Set some files as executable chmod +x ~/.config/hypr/scripts/* 2>&1 | tee -a "$LOG" - +chmod +x ~/.config/hypr/UserScripts/* 2>&1 | tee -a "$LOG" # Set executable for initial-boot.sh chmod +x ~/.config/hypr/initial-boot.sh 2>&1 | tee -a "$LOG" @@ -252,7 +253,7 @@ else fi # symlinks for waybar style -ln -sf "$HOME/.config/waybar/style/[Pywal] Chroma Fusion.css" "$HOME/.config/waybar/style.css" && \ +ln -sf $Waybar_Style "$HOME/.config/waybar/style.css" && \ # initialize pywal to avoid config error on hyprland wal -i $wallpaper -s -t 2>&1 | tee -a "$LOG" -- cgit v1.2.3