From 8d944cbb3acd038d16b54e5a579a146fcb757df2 Mon Sep 17 00:00:00 2001 From: coja Date: Mon, 4 Aug 2025 02:29:31 +0200 Subject: [PATCH] [Hypr] update --- .config/hypr/animations.conf | 40 ++-- .config/hypr/hyprland.conf | 225 +++++++++++--------- .config/hypr/keybindings.conf | 363 +++++++++++++++----------------- .config/hypr/monitors.conf | 22 +- .config/hypr/themes/colors.conf | 111 ---------- .config/hypr/themes/common.conf | 28 +++ .config/hypr/themes/theme.conf | 17 +- .config/hypr/userprefs.conf | 69 ++++-- .config/hypr/windowrules.conf | 59 ++---- 9 files changed, 436 insertions(+), 498 deletions(-) create mode 100644 .config/hypr/themes/common.conf diff --git a/.config/hypr/animations.conf b/.config/hypr/animations.conf index 10f0a38..4e33fd3 100644 --- a/.config/hypr/animations.conf +++ b/.config/hypr/animations.conf @@ -1,27 +1,21 @@ -#! ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ -#! █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ # See https://wiki.hyprland.org/Configuring/Animations/ -# HyDE Controlled content // DO NOT EDIT -# Edit or add animations in the ./hypr/animations/ directory -# and run the 'animations.sh select' command to update this file - -# 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 -# animation = windows, 1, 6, wind, slide -# animation = windowsIn, 1, 6, winIn, slide -# animation = windowsOut, 1, 5, winOut, slide -# animation = windowsMove, 1, 5, wind, slide -# animation = border, 1, 1, liner -# animation = borderangle, 1, 30, liner, loop -# animation = fade, 1, 10, default -# animation = workspaces, 1, 5, wind -# } -$ANIMATION=theme -$ANIMATION_PATH=~/.config/hypr/animations/theme.conf +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 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index a62fa9d..75d3d27 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,118 +1,153 @@ -#!   ░▒▒▒░░░▓▓          ___________ -#! ░░▒▒▒░░░░░▓▓        //___________/ -#! ░░▒▒▒░░░░░▓▓     _   _ _    _ _____ -#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/ -#! ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___ -#!  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/ -#!    ░▒▓▓   ▓▓  //____/ -#?  HyDE's Hyprland Configuration  -# First, let's understand the structure of the configuration file -# It is divided into 3 sections: Boilerplate, Overrides, and Users -#* 1. Boilerplate -# - This section is for the default configuration of HyDE -# - It is recommended to not change this section -# - Filepath: $XDG_DATA_HOME/share/hyde/hyprland.conf -#* 2. Overrides -# - This section is for overriding the default configuration of HyDE -# - Change this section if you intended to: -# - Change the startup and env variables -# - Stop a app/service from starting -# - Override HyDE specific variables -# - Filepath: $XDG_CONFIG_HOME/hypr/hyde.conf -#* 3. Users -# - This section is for user configuration -# - It is recommended to change this section to your liking -# - Filepath: ./keybindings.conf, ./windowrules.conf, ./monitors.conf, ./userprefs.conf +#   ░▒▒▒░░░░░▓▓          ___________ +# ░░▒▒▒░░░░░▓▓        //___________/ +# ░░▒▒▒░░░░░▓▓     _   _ _    _ _____ +# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/ +# ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___ +#  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/ +#    ░▒▓▓   ▓▓  //____/ - -#?  Boilerplate  -source = ~/.local/share/hyde/hyprland.conf +$scrPath = $HOME/.local/share/bin # set scripts path -#?  Overrides  -# Overriding startup and env variables -# To avoid breaking and conflicts, HyDE will use variables to store the env and startup variables -# See ~/.config/hypr/hyde.conf for overriding the default env and startup variables -#* startup: -# - The startup variables are the variables that are set when the shell starts -# - $start.BAR=waybar will launch waybar on startup (default waybar) -# - $start.BAR= will unset the variable -# - $start.BAR=other_bar will launch other_bar on startup, overriding the default (waybar) -#* env: -# - The env variables are the variables that are set when the shell starts -# - $env.QT_QPA_PLATFORMTHEME= will unset the variable -# - $env.QT_QPA_PLATFORMTHEME=qt6ct will set the variable to qt6ct -# for updated configuration, see the https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf +# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ +# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ + +# See https://wiki.hyprland.org/Configuring/Monitors/ + +# monitor = ,preferred,auto,auto -#?  Users  -# These files are for user configuration -# Edit the files to your liking -# Refer to https://wiki.hyprland.org -source = ./keybindings.conf # Keyboard shortcuts -source = ./windowrules.conf # Window rules -source = ./monitors.conf # Monitor configuration -source = ./userprefs.conf # Personal hyprland configuration +# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ +# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = dbus-update-activation-environment --systemd --all # for XDPH +exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps +exec-once = waybar # launch the system bar +exec-once = blueman-applet # systray app for Bluetooth +exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media +exec-once = nm-applet --indicator # systray app for Network/Wifi +exec-once = dunst # start notification demon +exec-once = wl-paste --type text --watch cliphist store # clipboard store text data +exec-once = wl-paste --type image --watch cliphist store # clipboard store image data +exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon +exec-once = $scrPath/batterynotify.sh # battery notification +exec-once = xremap ~/.config/xremap/config.yml +exec-once = swayidle -w timeout 180 'swaylock --timestr %H:%M & brightnessctl -s & brightnessctl set 15' resume 'brightnessctl -r' + +# █▀▀ █▄░█ █░█ +# ██▄ █░▀█ ▀▄▀ + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = PATH,$PATH:$scrPath +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = MOZ_ENABLE_WAYLAND,1 +env = GDK_SCALE,1 +# █ █▄░█ █▀█ █░█ ▀█▀ +# █ █░▀█ █▀▀ █▄█ ░█░ -#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ +# See https://wiki.hyprland.org/Configuring/Variables/ -#? █▀█ █▀▀ █▀▀ █▀▀ █▀█ █▀▀ █▄░█ █▀▀ █▀▀ -#? █▀▄ ██▄ █▀░ ██▄ █▀▄ ██▄ █░▀█ █▄▄ ██▄ +# keyremap +input { + kb_layout = us + # kb_options=caps:swapescape + # kb_options=caps:ctrl_modifier + # follow_mouse = 1 -#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ + touchpad { + natural_scroll = no + } + + force_no_accel = 0 + sensitivity = +1.0 +} + +# See https://wiki.hyprland.org/Configuring/Keywords/#executing + +device { + name = ps/2-generic-mouse + sensitivity = +1.0 + middle_button_emulation = true +} + +device { + name = synps/2-synaptics-touchpad + sensitivity = 0.1 +} + +device { + name = xremap + sensitivity = +1.0 +} + +# See https://wiki.hyprland.org/Configuring/Variables/ + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 3 +} -#?  Reference  -# Configurations below are for reference ONLY -# They are not essential for HyDE to work but can be used to enhance QOL -# Copy the config line and paste it in the Users section to use it -# This is to prevent bloating users configuration files when not needed +# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀ +# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█ -# // █▀▀ █▄░█ █░█ -# // ██▄ █░▀█ ▀▄▀ +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ -# env = MANGOHUD,1 -# env = MANGOHUD_DLSYM,1 +dwindle { + pseudotile = yes + preserve_split = yes +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ + +master { + new_status = master +} -# // █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ -# // █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ +# █▀▄▀█ █ █▀ █▀▀ +# █░▀░█ █ ▄█ █▄▄ -# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak -# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam -# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote -# bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade -# bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade +# See https://wiki.hyprland.org/Configuring/Variables/ + +misc { + vrr = 0 + disable_hyprland_logo = true + disable_splash_rendering = true + force_default_wallpaper = 0 +} + +xwayland { + force_zero_scaling = true +} -# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ -# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ +# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀ +# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄ -# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle -# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle +source = ~/.config/hypr/animations.conf +source = ~/.config/hypr/keybindings.conf +source = ~/.config/hypr/windowrules.conf +source = ~/.config/hypr/themes/common.conf # shared theme settings +source = ~/.config/hypr/themes/theme.conf # theme specific settings +source = ~/.config/hypr/themes/colors.conf # wallbash color override +source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static +source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static -# exec-once = libinput-gestures // install libinput-gestures - -# exec-once = swayosd-server # enable swayosd service -# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell) - -# // █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀ -# // ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█ - -# windowrulev2 = opacity 0.60 0.60,class:^(Steam)$ -# windowrulev2 = opacity 0.60 0.60,class:^(steam)$ -# windowrulev2 = opacity 0.60 0.60,class:^(steamwebhelper)$ -# windowrulev2 = opacity 0.60 0.60,class:^(Spotify)$ - - -# // █░█ █▀▄▀█ -# // ▀▄▀ █░▀░█ - -# bind = Ctrl+Alt_L, V, submap, passthrough -# submap = passthrough -# bind = Ctrl+Alt_L, V, submap, reset -# submap = reset +# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf index fd525e3..f26f8cb 100644 --- a/.config/hypr/keybindings.conf +++ b/.config/hypr/keybindings.conf @@ -1,54 +1,107 @@ -## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ -## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ -# see https://wiki.hyprland.org/configuring/keywords/ for more -# example binds, see https://wiki.hyprland.org/configuring/binds/ for more +# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ +# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ -# Grouping of binds for easier management -# $d=[Group Name|Subgroup Name1|Subgroup Name2|...] -# '$d' is a variable that is used to group binds together (or use another variable) -# This is only for organization purposes and is not a defined hyprland variable -# What we did here is to modify the Description of the binds to include the group name -# The $d will be parsed as a separate key to be use for a GUI or something pretty -# [Main|Subgroup1|Subgroup2|...] -# Main - The main groupname -# Subgroup1.. - The subgroup names can be use to avoid repeating the same description +# See https://wiki.hyprland.org/Configuring/Keywords/ +# & https://wiki.hyprland.org/Configuring/Binds/ +# Main modifier +$mainMod = Super # super / meta / windows key -#*  Variables  -# Default if commented out -# $mainMod = Super # super / meta / windows key # Assign apps -# $TERMINAL = kitty -# $EDITOR = code -# $EXPLORER = dolphin -# $BROWSER = firefox +$term = kitty # fish alacritty +$editor = neovide +$file = dolphin +$browser = librewolf +$yt = freetube +$notes = obsidian + $wm=Window Management $d=[$wm] -bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh -bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh -bindd = $mainMod, Delete, $d kill hyprland session, exit -bindd = $mainMod, W, $d toggle float, togglefloating, # -bindd = $mainMod Shift, G, $d toggle group, togglegroup -bindd = Shift, F11, $d toggle fullscreen, fullscreen -bindd = Alt, Return, $d toggle fullscreen, fullscreen -bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh -bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/windowpin.sh -bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh -bindd = Control Alt, W, $d toggle waybar and reload config, exec, killall waybar || waybar -# bindd = Alt_R, Control_R, W, $d toggle waybar and reload config, exec, killall waybar || (env reload_flag=1 $scrPath/wbarconfgen.sh) # was throwing error -# bindd = ALT_R, Control_R,toggle waybar, exec, killall waybar || waybar # toggle waybar without reloading, this is faster + +# Window/Session actions +bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window +bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window +bind = $mainMod, Delete, exit, # kill hyprland session +bind = $mainMod, W, togglefloating, # toggle the window between focus and float +bind = $mainMod, G, togglegroup, # toggle the window between focus and group +bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen +bind = $mainMod, L, exec, swaylock --timestr %H:%M # launch lock screen +bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar +# bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window +# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu -$d=[$wm|Group Navigation] -bindd = $mainMod Control, H, $d change active group backwards , changegroupactive, b -bindd = $mainMod Control, L, $d change active group forwards , changegroupactive, f +# Application shortcuts +bind = $mainMod, T, exec, $term +bind = Ctrl+Alt, T, exec, $term # launch terminal emulator +bind = Ctrl+Shift+Alt, T, exec, st # launch tilix terminal emulator - using for ssh +bind = $mainMod+Shift, T, exec, st +bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator +bind = $mainMod, E, exec, $file # launch file manager +bind = $mainMod, C, exec, $editor # launch text editor +bind = $mainMod, F, exec, $yt # launch yt alternative +bind = $mainMod, B, exec, $browser # launch web browser +bind = $mainMod, M, exec, $notes # launch notes app +bind = $mainMod, G, exec, gajim # launch messanger +bind = $mainMod, K, exec, keepassxc # launch password manager +bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top) +# bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser -$d=[$wm|Change focus] -bindd = $mainMod, Left, $d focus left, movefocus, l -bindd = $mainMod, Right, $d focus right , movefocus, r -bindd = $mainMod, Up, $d focus up , movefocus, u -bindd = $mainMod, Down , $d focus down, movefocus, d +# Rofi menus +bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher +bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher +bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer + +# Audio control +# bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute +# bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume +# bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume +bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute +bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute +bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume +bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume + +# Media control +bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause +bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause +bindl = , XF86AudioNext, exec, playerctl next # media next +bindl = , XF86AudioPrev, exec, playerctl previous # media previous + +# Brightness control +bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness +bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness + +# Move between grouped windows +# bind = $mainMod CTRL , H, changegroupactive, b +# bind = $mainMod CTRL , L, changegroupactive, f + +# Screenshot/Screencapture +bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture +bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen) +bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture +bind = $mainMod+Shift, P, exec, hyprpicker # colorpicker +bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture + +# Custom scripts +bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode +bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper +bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper +# bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode +# bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode +bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu +# bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu +bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu +bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu +bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard +# bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout +bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint + +# Move/Change window focus +bind = $mainMod, Left, movefocus, l #chage focus to left window +bind = $mainMod, Right, movefocus, r +bind = $mainMod, Up, movefocus, u +bind = $mainMod, Down, movefocus, d bindd = $mainMod Control, Left, $d focus left, movefocus, l bindd = $mainMod Control, Right, $d focus right , movefocus, r bindd = $mainMod Control, Up, $d focus up , movefocus, u @@ -67,17 +120,6 @@ bindd = Alt Control, k, $d focus up , movefocus, u bindd = Alt Control, j , $d focus down, movefocus, d bindd = Alt, Tab, $d focus , movefocus, d -$d=[$wm|Resize Active Window] -# Resize windows -bindde = $mainMod Shift, Right, $d resize window right , resizeactive, 30 0 -bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0 -bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30 -bindde = $mainMod Shift, Down, $d resize window down, resizeactive, 0 30 -bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0 -bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0 -bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30 -bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30 - # Move active window around current workspace with mainMod + Shift + Control [←→↑↓] $d=[$wm|Move active window across workspace] $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive @@ -90,161 +132,88 @@ bindde = $mainMod Alt, l, Move activewindow to the right, exec, $moveactivewindo bindde = $mainMod Alt, k, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u bindde = $mainMod Alt, j, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d -# Move/Resize focused window -$d=[$wm|Move & Resize with mouse] -binddm = $mainMod, mouse:272, $d hold to move window, movewindow -binddm = $mainMod, mouse:273, $d hold to resize window, resizewindow -binddm = $mainMod, Z, $d hold to move window , movewindow -binddm = $mainMod, X, $d hold to resize window, resizewindow +# Switch workspaces with mod + [0-9] +bind = $mainMod, 1, workspace, r~1 +bind = $mainMod, 2, workspace, r~2 +bind = $mainMod, 3, workspace, r~3 +bind = $mainMod, 4, workspace, r~4 +bind = $mainMod, 5, workspace, r~5 +bind = $mainMod, 6, workspace, r~6 +bind = $mainMod, 7, workspace, r~7 +bind = $mainMod, 8, workspace, r~8 +bind = $mainMod, 9, workspace, r~9 +bind = $mainMod, 0, workspace, r~10 + +# Move focused window to a workspace +bind = $mainMod+Ctrl, 1, movetoworkspace, r~1 +bind = $mainMod+Ctrl, 2, movetoworkspace, r~2 +bind = $mainMod+Ctrl, 3, movetoworkspace, r~3 +bind = $mainMod+Ctrl, 4, movetoworkspace, r~4 +bind = $mainMod+Ctrl, 5, movetoworkspace, r~5 +bind = $mainMod+Ctrl, 6, movetoworkspace, r~6 +bind = $mainMod+Ctrl, 7, movetoworkspace, r~7 +bind = $mainMod+Ctrl, 8, movetoworkspace, r~8 +bind = $mainMod+Ctrl, 9, movetoworkspace, r~9 +bind = $mainMod+Ctrl, 0, movetoworkspace, r~10 + +# Move focused window to a workspace silently +bind = $mainMod+Alt, 1, movetoworkspacesilent, r~1 +bind = $mainMod+Alt, 2, movetoworkspacesilent, r~2 +bind = $mainMod+Alt, 3, movetoworkspacesilent, r~3 +bind = $mainMod+Alt, 4, movetoworkspacesilent, r~4 +bind = $mainMod+Alt, 5, movetoworkspacesilent, r~5 +bind = $mainMod+Alt, 6, movetoworkspacesilent, r~6 +bind = $mainMod+Alt, 7, movetoworkspacesilent, r~7 +bind = $mainMod+Alt, 8, movetoworkspacesilent, r~8 +bind = $mainMod+Alt, 9, movetoworkspacesilent, r~9 +bind = $mainMod+Alt, 0, movetoworkspacesilent, r~10 + +# Move/Switch to special workspace (scratchpad) +bind = $mainMod+Alt, S, movetoworkspacesilent, special +bind = $mainMod, S, togglespecialworkspace, # Toggle focused window split -$d=[$wm] -bindd = $mainMod, J, $d toggle split, togglesplit - -$l=Launcher -$d=[$l|Apps] -bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL -bindd = Control Alt, T, $d terminal emulator , exec, $TERMINAL -# bindd = Control Shift, Alt, T, $d terminal emulator , exec, tilix # launch tilix terminal emulator - using for ssh -bindd = $mainMod Control, T, $d terminal emulator, exec, tilix # launch tilix terminal emulator -bindd = $mainMod, E, $d file explorer , exec, $EXPLORER -bindd = $mainMod, C, $d text editor , exec, $EDITOR -bindd = $mainMod, B, $d web browser , exec, $BROWSER -bindd = $mainMod Shift, B, $d web browser , exec, librewolf -bindd = Control Shift, Escape, $d system monitor , exec, $scrPath/sysmonlaunch.sh -bindd = $mainMod, F, $d web browser , exec, freetube -bindd = $mainMod, K, $d password manager , exec, keepassxc # launch password manager -bindd = $mainMod, G, $d messanger, exec, gajim # launch messanger - -# bindd = $mainMod, M, exec, $notes # launch notes app -# bindd = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top) - -$d=[$l|Rofi menus] -$rofi-launch=$scrPath/rofilaunch.sh -bindd = $mainMod, A, $d application finder , exec, pkill -x rofi || $rofi-launch d -bindd = $mainMod, TAB, $d window switcher , exec, pkill -x rofi || $rofi-launch w -bindd = $mainMod Shift, E, $d file finder , exec, pkill -x rofi || $rofi-launch f -bindd = $mainMod, slash, $d keybindings hint, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint -bindd = $mainMod, comma, $d emoji picker , exec, pkill -x rofi || $scrPath/emoji-picker.sh # launch emoji picker -bindd = $mainMod, period, $d glyph picker , exec, pkill -x rofi || $scrPath/glyph-picker.sh # launch glyph picker -bindd = $mainMod, V, $d clipboard , exec, pkill -x rofi || $scrPath/cliphist.sh -c # launch clipboard, -bindd = $mainMod Shift, V, $d clipboard manager , exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager -bindd = $mainMod Shift, A, $d select rofi launcher , exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu - - -$hc=Hardware Controls -$d=[$hc|Audio] -binddl = , F10, $d toggle mute output , exec, $scrPath/volumecontrol.sh -o m # toggle audio mute -binddl = , XF86AudioMute,$d toggle mute output, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute -binddel = , F11, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume -binddel = , F12, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume -binddl = , XF86AudioMicMute,$d un/mute microphone , exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute -binddel = , XF86AudioLowerVolume, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume -binddel = , XF86AudioRaiseVolume, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume - -$d=[$hc|Media] -binddl = , XF86AudioPlay,$d play media, exec, playerctl play-pause # toggle between media play and pause -binddl = , XF86AudioPause,$d pause media, exec, playerctl play-pause # toggle between media play and pause -binddl = , XF86AudioNext,$d next media , exec, playerctl next # media next -binddl = , XF86AudioPrev,$d previous media , exec, playerctl previous # media previous - -$d=[$hc|Brightness] -binddel = , XF86MonBrightnessUp, $d increase brightness , exec, $scrPath/brightnesscontrol.sh i # increase brightness -binddel = , XF86MonBrightnessDown, $d decrease brightness , exec, $scrPath/brightnesscontrol.sh d # decrease brightness - - -$ut=Utilities -$d=[$ut] -# binddl = $mainMod, K, $d toggle keyboard layout , exec, $scrPath/keyboardswitch.sh # switch keyboard layout -bindd = $mainMod Alt, G, $d game mode , exec, $scrPath/gamemode.sh # disable hypr effects for gamemode - -$d=[$ut|Screen Capture] -bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an # Pick color (Hex) >> clipboard# -bindd = $mainMod, P, $d snip screen , exec, $scrPath/screenshot.sh s # partial screenshot capture -bindd = $mainMod Control, P, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen) -binddl = $mainMod Alt, P, $d print monitor , exec, $scrPath/screenshot.sh m # monitor screenshot capture -binddl = , Print, $d print all monitors , exec, $scrPath/screenshot.sh p # all monitors screenshot capture - -# TODO Make a main rofi menu for these selectors -$rice=Theming and Wallpaper -$d=[$rice] -bindd = $mainMod Alt Control Shift, Right, $d next global wallpaper , exec, $scrPath/wallpaper.sh -Gn # next global wallpaper -bindd = $mainMod Alt Control Shift, Left, $d previous global wallpaper , exec, $scrPath/wallpaper.sh -Gp # previous global wallpaper -bindd = $mainMod Shift, W, $d select a global wallpaper , exec, pkill -x rofi || $scrPath/wallpaper.sh -SG # launch wallpaper select menu -# bindd = $mainMod Alt, Up, $d next waybar layout , exec, $scrPath/wbarconfgen.sh n # next waybar mode -# bindd = $mainMod Alt, Down, $d previous waybar layout , exec, $scrPath/wbarconfgen.sh p # previous waybar mode -# bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu -# bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu - - - -$ws=Workspaces -$d=[$ws|Navigation] -bindd = $mainMod, 1, $d navigate to workspace 1 , workspace, 1 -bindd = $mainMod, 2, $d navigate to workspace 2 , workspace, 2 -bindd = $mainMod, 3, $d navigate to workspace 3 , workspace, 3 -bindd = $mainMod, 4, $d navigate to workspace 4 , workspace, 4 -bindd = $mainMod, 5, $d navigate to workspace 5 , workspace, 5 -bindd = $mainMod, 6, $d navigate to workspace 6 , workspace, 6 -bindd = $mainMod, 7, $d navigate to workspace 7 , workspace, 7 -bindd = $mainMod, 8, $d navigate to workspace 8 , workspace, 8 -bindd = $mainMod, 9, $d navigate to workspace 9 , workspace, 9 -bindd = $mainMod, 0, $d navigate to workspace 10 , workspace, 10 +bind = $mainMod, J, togglesplit $d=[$ws|Navigation|Relative workspace] bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1 bindd = $mainMod Control Shift, Left, $d change active workspace backwards , workspace, r-1 -bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1 # doesnt work -bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1 # doesnt work +bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1 +bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1 -$d=[$ws|Navigation] -bindd = $mainMod Control, Down, $d navigate to the nearest empty workspace , workspace, empty +# Resize windows +binde = $mainMod+Shift, Right, resizeactive, 30 0 +binde = $mainMod+Shift, Left, resizeactive, -30 0 +binde = $mainMod+Shift, Up, resizeactive, 0 -30 +binde = $mainMod+Shift, Down, resizeactive, 0 30 +bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0 +bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0 +bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30 +bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30 -# Move focused window to a workspace -$d=[$ws|Move window to workspace] -bindd = $mainMod Control, 1, $d move to workspace 1 , movetoworkspace, 1 -bindd = $mainMod Control, 2, $d move to worksCtrl2 , movetoworkspace, 2 -bindd = $mainMod Control, 3, $d move to worksCtrl3 , movetoworkspace, 3 -bindd = $mainMod Control, 4, $d move to worksCtrl4 , movetoworkspace, 4 -bindd = $mainMod Control, 5, $d move to worksCtrl5 , movetoworkspace, 5 -bindd = $mainMod Control, 6, $d move to worksCtrl6 , movetoworkspace, 6 -bindd = $mainMod Control, 7, $d move to worksCtrl7 , movetoworkspace, 7 -bindd = $mainMod Control, 8, $d move to worksCtrl8 , movetoworkspace, 8 -bindd = $mainMod Control, 9, $d move to worksCtrl9 , movetoworkspace, 9 -bindd = $mainMod Control, 0, $d move to worksCtrl10 , movetoworkspace, 10 +# added that to mimic i3's behavior, where pushing a workspace to another monitor also focuses it +# bind = $mainMod SHIFT, P, focusmonitor, +1 +# bind = $mainMod SHIFT, P, movecurrentworkspacetomonitor, +1 -# Move focused window to a relative workspace -$d=[$ws] -bindd = $mainMod Control Alt, Right, $d move window to next relative workspace , movetoworkspace, r+1 -bindd = $mainMod Control Alt, Left, $d move window to previous relative workspace , movetoworkspace, r-1 -bindd = $mainMod Control Alt, l, $d move window to next relative workspace , movetoworkspace, r+1 -bindd = $mainMod Control Alt, h, $d move window to previous relative workspace , movetoworkspace, r-1 +# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] +# $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive +binded = $mainMod+Shift+Ctrl, left,Move activewindow to the left,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l +binded = $mainMod+Shift+Ctrl, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r +binded = $mainMod+Shift+Ctrl, up,Move activewindow to the up,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u +binded = $mainMod+Shift+Ctrl, down,Move activewindow to the down,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d + +binded = $mainMod+Shift+Ctrl, h,Move activewindow to the left,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l +binded = $mainMod+Shift+Ctrl, l,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r +binded = $mainMod+Shift+Ctrl, k,Move activewindow to the up,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u +binded = $mainMod+Shift+Ctrl, j,Move activewindow to the down,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d # Scroll through existing workspaces -$d=[$ws|Navigation] -bindd = $mainMod, mouse_down, $d next workspace, workspace, e+1 -bindd = $mainMod, mouse_up, $d previous workspace, workspace, e-1 +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 +# Move/Resize focused window +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +bindm = $mainMod, Z, movewindow +bindm = $mainMod, X, resizewindow -# Move/Switch to special workspace (scratchpad) -$d=[$ws|Navigation|Special workspace] -bindd = $mainMod Shift, S, $d move to scratchpad , movetoworkspace, special -bindd = $mainMod Alt, S, $d move to scratchpad (silent) , movetoworkspacesilent, special -bindd = $mainMod, S, $d toggle scratchpad , togglespecialworkspace - -# Move focused window to a workspace silently -$d=[$ws|Navigation|Move window silently] -bindd = $mainMod Alt, 1, $d move to workspace 1 (silent), movetoworkspacesilent, 1 -bindd = $mainMod Alt, 2, $d move to workspace 2 (silent), movetoworkspacesilent, 2 -bindd = $mainMod Alt, 3, $d move to workspace 3 (silent), movetoworkspacesilent, 3 -bindd = $mainMod Alt, 4, $d move to workspace 4 (silent), movetoworkspacesilent, 4 -bindd = $mainMod Alt, 5, $d move to workspace 5 (silent), movetoworkspacesilent, 5 -bindd = $mainMod Alt, 6, $d move to workspace 6 (silent), movetoworkspacesilent, 6 -bindd = $mainMod Alt, 7, $d move to workspace 7 (silent), movetoworkspacesilent, 7 -bindd = $mainMod Alt, 8, $d move to workspace 8 (silent), movetoworkspacesilent, 8 -bindd = $mainMod Alt, 9, $d move to workspace 9 (silent), movetoworkspacesilent, 9 -bindd = $mainMod Alt, 0, $d move to workspace 10 (silent), movetoworkspacesilent, 10 - - - -$d=#! unset the group name diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf index 51d75f4..8da85ed 100644 --- a/.config/hypr/monitors.conf +++ b/.config/hypr/monitors.conf @@ -6,18 +6,23 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ # For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2 - - -$mainScreen = HDMI-A-1 +$mainScreen = eDP-1 $leftScreen = DP-2 -$rightScreen = eDP-1 +$rightScreen = HDMI-A-1 -monitor = $mainScreen, 3840x2160@59.99, 0x0, 1.25 # main screen -# monitor = $mainScreen, 1920x1080@59.99, 0x0, 2 # main screen -# monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left -# monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right +monitor = $mainScreen, 1366x768@60.14, 0x0, 1 # main screen +monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left +monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right +# monitor=HDMI-A-1,1920x1080@60,-1366x0,1 # hdmi on left +# monitor=HDMI-A-1,1920x1080@60,0x-768,1 # hdmi on top +# monitor=DP-2,640x480@59.94Hz,0x0,1 # vga +# monitor = HDMI-A-1, 1366x768@60.00Hz, auto , 1, mirror, eDP-1 #mirror lapscreen +# monitor = eDP-1, 1920x1080@60.00Hz, auto , 1, mirror, HDMI-A-1 #main hdmi, lapscreen mirrors + +# monitor = , preferred, auto, 1, mirror, DP-2 # dmz projector +# monitor = eDP-1, 1920x1080@60, auto , 1, mirror, DP-2 #mirror vga test #Main Monitor workspace = 1, monitor:$mainScreen, default:true @@ -54,3 +59,4 @@ workspace = 27, monitor:$leftScreen workspace = 28, monitor:$leftScreen workspace = 29, monitor:$leftScreen workspace = 30, monitor:$leftScreen + diff --git a/.config/hypr/themes/colors.conf b/.config/hypr/themes/colors.conf index 63d8bf8..e69de29 100644 --- a/.config/hypr/themes/colors.conf +++ b/.config/hypr/themes/colors.conf @@ -1,111 +0,0 @@ -# Autogenerated colors by wallbash -# This can be sourced in by any hyprlang configuration file - -# Color group 1 - -$wallbash_pry1 = 1C0725 # primary color 1 -$wallbash_txt1 = FFFFFF # text color 1 -$wallbash_1xa1 = 452952 # accent color 1 for primary color 1 -$wallbash_1xa2 = 5C3A6B # accent color 2 for primary color 1 -$wallbash_1xa3 = 6E4B7D # accent color 3 for primary color 1 -$wallbash_1xa4 = 7E578F # accent color 4 for primary color 1 -$wallbash_1xa5 = 9165A3 # accent color 5 for primary color 1 -$wallbash_1xa6 = AC7AC2 # accent color 6 for primary color 1 -$wallbash_1xa7 = CF9AE6 # accent color 7 for primary color 1 -$wallbash_1xa8 = DBAAF0 # accent color 8 for primary color 1 -$wallbash_1xa9 = F0CCFF # accent color 9 for primary color 1 - -# in rgba format -$wallbash_pry1_rgba = rgba(28,7,37,0.95) # primary color 1 -$wallbash_txt1_rgba = rgba(255,255,255,0.95) # text color 1 -$wallbash_1xa1_rgba = rgba(69,41,82,0.95) # accent color 1 for primary color 1 -$wallbash_1xa2_rgba = rgba(92,58,107,0.95) # accent color 2 for primary color 1 -$wallbash_1xa3_rgba = rgba(110,75,125,0.95) # accent color 3 for primary color 1 -$wallbash_1xa4_rgba = rgba(126,87,143,0.95) # accent color 4 for primary color 1 -$wallbash_1xa5_rgba = rgba(145,101,163,0.95) # accent color 5 for primary color 1 -$wallbash_1xa6_rgba = rgba(172,122,194,0.95) # accent color 6 for primary color 1 -$wallbash_1xa7_rgba = rgba(207,154,230,0.95) # accent color 7 for primary color 1 -$wallbash_1xa8_rgba = rgba(219,170,240,0.95) # accent color 8 for primary color 1 -$wallbash_1xa9_rgba = rgba(240,204,255,0.95) # accent color 9 for primary color 1 - - -# Color group 2 - -$wallbash_pry2 = 4A1442 # primary color 2 -$wallbash_txt2 = FFFFFF # text color 2 -$wallbash_2xa1 = 52294C # accent color 1 for primary color 2 -$wallbash_2xa2 = 6B3A64 # accent color 2 for primary color 2 -$wallbash_2xa3 = 7D4B76 # accent color 3 for primary color 2 -$wallbash_2xa4 = 8F5787 # accent color 4 for primary color 2 -$wallbash_2xa5 = A3659A # accent color 5 for primary color 2 -$wallbash_2xa6 = C27AB7 # accent color 6 for primary color 2 -$wallbash_2xa7 = E69ADA # accent color 7 for primary color 2 -$wallbash_2xa8 = F0AAE5 # accent color 8 for primary color 2 -$wallbash_2xa9 = FFCCF7 # accent color 9 for primary color 2 - -# in rgba format -$wallbash_pry2_rgba = rgba(74,20,66,0.95) # primary color 2 -$wallbash_txt2_rgba = rgba(255,255,255,0.95) # text color 2 -$wallbash_2xa1_rgba = rgba(82,41,76,0.95) # accent color 1 for primary color 2 -$wallbash_2xa2_rgba = rgba(107,58,100,0.95) # accent color 2 for primary color 2 -$wallbash_2xa3_rgba = rgba(125,75,118,0.95) # accent color 3 for primary color 2 -$wallbash_2xa4_rgba = rgba(143,87,135,0.95) # accent color 4 for primary color 2 -$wallbash_2xa5_rgba = rgba(163,101,154,0.95) # accent color 5 for primary color 2 -$wallbash_2xa6_rgba = rgba(194,122,183,0.95) # accent color 6 for primary color 2 -$wallbash_2xa7_rgba = rgba(230,154,218,0.95) # accent color 7 for primary color 2 -$wallbash_2xa8_rgba = rgba(240,170,229,0.95) # accent color 8 for primary color 2 -$wallbash_2xa9_rgba = rgba(255,204,247,0.95) # accent color 9 for primary color 2 - -# Color group 3 - -$wallbash_pry3 = 9154A0 # primary color 3 -$wallbash_txt3 = FAFAFA # text color 3 -$wallbash_3xa1 = 4A2952 # accent color 1 for primary color 3 -$wallbash_3xa2 = 613A6B # accent color 2 for primary color 3 -$wallbash_3xa3 = 734B7D # accent color 3 for primary color 3 -$wallbash_3xa4 = 84578F # accent color 4 for primary color 3 -$wallbash_3xa5 = 9765A3 # accent color 5 for primary color 3 -$wallbash_3xa6 = B47AC2 # accent color 6 for primary color 3 -$wallbash_3xa7 = D79AE6 # accent color 7 for primary color 3 -$wallbash_3xa8 = E2AAF0 # accent color 8 for primary color 3 -$wallbash_3xa9 = F5CCFF # accent color 9 for primary color 3 - -# in rgba format -$wallbash_pry3_rgba = rgba(145,84,160,0.95) # primary color 3 -$wallbash_txt3_rgba = rgba(250,250,250,0.95) # text color 3 -$wallbash_3xa1_rgba = rgba(74,41,82,0.95) # accent color 1 for primary color 3 -$wallbash_3xa2_rgba = rgba(97,58,107,0.95) # accent color 2 for primary color 3 -$wallbash_3xa3_rgba = rgba(115,75,125,0.95) # accent color 3 for primary color 3 -$wallbash_3xa4_rgba = rgba(132,87,143,0.95) # accent color 4 for primary color 3 -$wallbash_3xa5_rgba = rgba(151,101,163,0.95) # accent color 5 for primary color 3 -$wallbash_3xa6_rgba = rgba(180,122,194,0.95) # accent color 6 for primary color 3 -$wallbash_3xa7_rgba = rgba(215,154,230,0.95) # accent color 7 for primary color 3 -$wallbash_3xa8_rgba = rgba(226,170,240,0.95) # accent color 8 for primary color 3 -$wallbash_3xa9_rgba = rgba(245,204,255,0.95) # accent color 9 for primary color 3 - -# Color group 4 - -$wallbash_pry4 = ECE8BB # primary color 4 -$wallbash_txt4 = 070707 # text color 4 -$wallbash_4xa1 = 524E29 # accent color 1 for primary color 4 -$wallbash_4xa2 = 6B673A # accent color 2 for primary color 4 -$wallbash_4xa3 = 7D794B # accent color 3 for primary color 4 -$wallbash_4xa4 = 8F8A57 # accent color 4 for primary color 4 -$wallbash_4xa5 = A39E65 # accent color 5 for primary color 4 -$wallbash_4xa6 = C2BC7A # accent color 6 for primary color 4 -$wallbash_4xa7 = E6DF9A # accent color 7 for primary color 4 -$wallbash_4xa8 = F0EAAA # accent color 8 for primary color 4 -$wallbash_4xa9 = FFFBCC # accent color 9 for primary color 4 - -# in rgba format -$wallbash_pry4_rgba = rgba(236,232,187,0.95) # primary color 4 -$wallbash_txt4_rgba = rgba(7,7,7,0.95) # text color 4 -$wallbash_4xa1_rgba = rgba(82,78,41,0.95) # accent color 1 for primary color 4 -$wallbash_4xa2_rgba = rgba(107,103,58,0.95) # accent color 2 for primary color 4 -$wallbash_4xa3_rgba = rgba(125,121,75,0.95) # accent color 3 for primary color 4 -$wallbash_4xa4_rgba = rgba(143,138,87,0.95) # accent color 4 for primary color 4 -$wallbash_4xa5_rgba = rgba(163,158,101,0.95) # accent color 5 for primary color 4 -$wallbash_4xa6_rgba = rgba(194,188,122,0.95) # accent color 6 for primary color 4 -$wallbash_4xa7_rgba = rgba(230,223,154,0.95) # accent color 7 for primary color 4 -$wallbash_4xa8_rgba = rgba(240,234,170,0.95) # accent color 8 for primary color 4 -$wallbash_4xa9_rgba = rgba(255,251,204,0.95) # accent color 9 for primary color 4 diff --git a/.config/hypr/themes/common.conf b/.config/hypr/themes/common.conf new file mode 100644 index 0000000..45759cc --- /dev/null +++ b/.config/hypr/themes/common.conf @@ -0,0 +1,28 @@ + +# █▀▀ █░█ █▀█ █▀ █▀█ █▀█ +# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄ + +exec = hyprctl setcursor Bibata-Modern-Ice 20 +exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' +exec = gsettings set org.gnome.desktop.interface cursor-size 20 + + +# █▀▀ █▀█ █▄░█ ▀█▀ +# █▀░ █▄█ █░▀█ ░█░ + +exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9' +exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' +exec = gsettings set org.gnome.desktop.interface font-hinting 'full' + + +# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░ +# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄ + +decoration { + dim_special = 0.3 + blur { + special = true + } +} diff --git a/.config/hypr/themes/theme.conf b/.config/hypr/themes/theme.conf index 62baa19..6f0a0ad 100644 --- a/.config/hypr/themes/theme.conf +++ b/.config/hypr/themes/theme.conf @@ -1,12 +1,6 @@ -#  // P̳r̳a̳s̳a̳n̳t̳h̳ R̳a̳n̳g̳a̳n̳ - -$GTK_THEME=Catppuccin-Mocha -$ICON_THEME = Tela-circle-dracula -$COLOR_SCHEME = prefer-dark - -# Optional: The varibles above will be set automatically when the theme is loaded -# This exec commands will soon be deprecated - +exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula' +exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha' +exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' general { gaps_in = 2 #3 @@ -26,9 +20,8 @@ group { } decoration { - rounding = 6 #10 - shadow:enabled = false - + rounding = 4 #10 + # drop_shadow = true #false blur { enabled = yes size = 6 diff --git a/.config/hypr/userprefs.conf b/.config/hypr/userprefs.conf index db6c9da..9ad1750 100644 --- a/.config/hypr/userprefs.conf +++ b/.config/hypr/userprefs.conf @@ -3,23 +3,66 @@ # █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█ # Set your personal hyprland configuration here +# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2 +# +######################## -# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ -# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ + +# █▀▀ █▄░█ █░█ +# ██▄ █░▀█ ▀▄▀ -exec-once = xremap ~/.config/xremap/config.yml # enable xremap service -exec-once = ferdium -env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket # ssh on start -env = WLR_DRM_NO_ATOMIC,1 # electron flickering -env = ELECTRON_OZONE_PLATFORM_HINT,x11 # Disable after hyprland fixes electron flickering +# env = MANGOHUD,1 +# env = MANGOHUD_DLSYM,1 -# I know there is like two 'solutions' already, so have third one - (tested GTX 1060, 555.58.02 drivers) - run flickery apps with --disable-gpu-compositing. This makes apps slightly less smooth (GPU still used tho), but fixes the issue. I think this is better then to disable damage_tracking, which works too. +# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ +# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ + +# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak +# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam +# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote +bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade +bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade + + +# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ +# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ + +# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle +# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle +# exec-once = libinput-gestures // install libinput-gestures +# exec-once = swayosd-server # enable swayosd service +# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell) + +# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀ +# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█ + +windowrulev2 = opacity 0.90 0.90,class:^(neovide)$ +windowrulev2 = opacity 0.90 0.90,class:^(firefox)$ +windowrulev2 = opacity 0.80 0.80,class:^(betterbird)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.qbittorrent.qBittorrent)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.gajim.Gajim)$ +windowrulev2 = opacity 0.80 0.80,class:^(Chromium)$ +windowrulev2 = opacity 0.80 0.80,class:^(FreeTube)$ +windowrulev2 = opacity 0.80 0.80,class:^(LibreWolf)$ +windowrulev2 = opacity 0.80 0.60,class:^(obsidian)$ +windowrulev2 = opacity 0.80 0.80,class:^(VSCodium)$ +windowrulev2 = opacity 0.80 0.80,class:^(codium-url-handler)$ +windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$ +windowrulev2 = opacity 0.80 0.80,class:^(Code)$ +windowrulev2 = opacity 0.80 0.80,class:^(kitty)$ +windowrulev2 = opacity 0.70 0.70,class:^(tilix)$ +windowrulev2 = opacity 0.70 0.70,class:^(rustdesk)$ +windowrulev2 = opacity 0.70 0.70,class:^(Ferdium)$ +windowrulev2 = opacity 0.70 0.70,class:^(org.keepassxc.KeePassXC)$ + +# █░█ █▀▄▀█ +# ▀▄▀ █░▀░█ + +# bind = Ctrl+Alt_L, V, submap, passthrough +# submap = passthrough +# bind = Ctrl+Alt_L, V, submap, reset +# submap = reset -# render { -# explicit_sync = 1 -# explicit_sync_kms = 1 -# direct_scanout = no -# } diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf index 963c7ac..f3f112c 100644 --- a/.config/hypr/windowrules.conf +++ b/.config/hypr/windowrules.conf @@ -3,44 +3,33 @@ # ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█ # See https://wiki.hyprland.org/Configuring/Window-Rules/ +# hyprctl clients to get names -# '$&' is a hyde specific shorthand for "override" \\ analogous to a reference -# This symbol indicates that the following values will override the default configuration -$&=override - -windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(firefox)$ -# windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(Brave-browser)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-oss)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^([Cc]ode)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-url-handler)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-insiders-url-handler)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kitty)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.dolphin)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.ark)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(nwg-look)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt5ct)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt6ct)$ -windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kvantummanager)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.pulseaudio.pavucontrol)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(blueman-manager)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-applet)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-connection-editor)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.kde.polkit-kde-authentication-agent-1)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(polkit-gnome-authentication-agent-1)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.gtk)$ -windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ -windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]team)$ -windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^(steamwebhelper)$ -# windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]potify)$ -# windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Free)$ -# windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Premium)$ +windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$ +windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$ +windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$ +windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$ +windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$ +windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = opacity 0.80 0.70,class:^(lagrange)$ +windowrulev2 = opacity 0.60 0.60,class:^(com.github.wwmm.easyeffects)$ +windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$ +windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$ +windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ +windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ +windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$ windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk -windowrulev2 = opacity 0.80 0.80,class:^(vesktop)$ # Vesktop windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron @@ -87,14 +76,6 @@ windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloade windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk -# common modals -windowrule = float,initialtitle:^(Open File)$ -windowrule = float,initialTitle:^(Open File)$ -windowrule = float,title:^(Choose Files)$ -windowrule = float,title:^(Save As)$ -windowrule = float,title:^(Confirm to replace files)$ -windowrule = float,title:^(File Operation Progress)$ -windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$ # █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀ # █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█