Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .config/hypr/configs/env.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Environment variables.
# Reference links:
# * https://wiki.hyprland.org/Configuring/Environment-variables/
# * https://wiki.hyprland.org/Configuring/XWayland/
# * https://github.com/elFarto/nvidia-vaapi-driver#configuration
# env = QT_QPA_PLATFORM,wayland

env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland,x11
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_SCALE_FACTOR,1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland

# Xwayland apps scale fix (useful if you are use monitor scaling)
# env = GDK_SCALE,2

# Firefox
# env = MOZ_ENABLE_WAYLAND,1

# Electron >28 apps (may help)
env = ELECTRON_OZONE_PLATFORM_HINT,auto

# NVIDIA
# This is from Hyprland Wiki. Below will be activated nvidia gpu detected
# env = LIBVA_DRIVER_NAME,nvidia
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# env = NVD_BACKEND,direct

# additional ENV's for nvidia. Caution, activate with care
# env = GBM_BACKEND,nvidia-drm

# env = __NV_PRIME_RENDER_OFFLOAD,1
# env = __VK_LAYER_NV_optimus,NVIDIA_only
# env = WLR_DRM_NO_ATOMIC,1


# FOR VM and POSSIBLY NVIDIA
# env = WLR_NO_HARDWARE_CURSORS,1 # On hyprland >v0.41, now configured on variable cursor section
# env = WLR_RENDERER_ALLOW_SOFTWARE,1

# nvidia firefox (for hardware acceleration on FF)?
# env = MOZ_DISABLE_RDD_SANDBOX,1
# env = EGL_PLATFORM,wayland
157 changes: 157 additions & 0 deletions .config/hypr/configs/keybinds.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# Default Keybinds

$mainMod = SUPER
# Default
$scriptsDir = $HOME/.config/hypr/scripts
$configs = $HOME/.config/hypr/configs
# User
$UserConfigs = $HOME/.config/hypr/UserConfigs
$user_scripts = $HOME/.config/hypr/user_scripts

bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0
bind = $mainMod, C, killactive,
bind = $mainMod, F, exec, zen-browser
bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh
bind = $mainMod, V, togglefloating,
bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat
bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh
bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh
bind = $mainMod, E, exec, pcmanfm-qt

# FEATURES / EXTRAS
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji
bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search from Rofi
bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings
bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout
bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel

# Waybar / Bar related
bind = $mainMod, B, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar
bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu
bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu

# Master Layout
bind = $mainMod CTRL, D, layoutmsg, removemaster
# bind = $mainMod, I, layoutmsg, addmaster
# bind = $mainMod, J, layoutmsg, cyclenext
# bind = $mainMod, K, layoutmsg, cycleprev
# bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster

# group
bind = $mainMod, G, togglegroup
bind = $mainMod SHIFT, tab, changegroupactive #change focus to another window

# Cycle windows if floating bring to top
bind = ALT,Tab,cyclenext
bind = ALT,Tab,bringactivetotop

# Special Keys / Hot Keys
bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up
bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec #volume down
bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic #mute mic
bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle
bindl = , xf86Sleep, exec, systemctl suspend # sleep button
bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh #Airplane mode

# media controls using keyboards
bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt
bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv
bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop

# Hyprland Configuration

# screenshots
# screenshot the entire screen
bind = , Print, exec, hyprshot -m output -f "$(date +'%Y-%m-%d_%H.%M.%S').png" -o /home/winlogon/Pictures/Screenshots --freeze
bind = $mainMod, Print, exec, hyprshot -m window -f "$(date +'%Y-%m-%d_%H.%M.%S').png" -o /home/winlogon/Pictures/Screenshots --freeze
bind = SHIFT, Print, exec, hyprshot -m region -f "$(date +'%Y-%m-%d_%H.%M.%S').png" -o /home/winlogon/Pictures/Screenshots --freeze

# clipboard screenshots
bind = Ctrl, Print, exec, hyprshot -m output --clipboard-only --freeze
bind = Ctrl+$mainMod, Print, exec, hyprshot -m window --clipboard-only --freeze
bind = Ctrl+SHIFT, Print, exec, hyprshot -m region --clipboard-only --freeze

# Resize windows
binde = $mainMod SHIFT, left, resizeactive,-50 0
binde = $mainMod SHIFT, right, resizeactive,50 0
binde = $mainMod SHIFT, up, resizeactive,0 -50
binde = $mainMod SHIFT, down, resizeactive,0 50

# Move windows
bind = $mainMod CTRL, left, movewindow, l
bind = $mainMod CTRL, right, movewindow, r
bind = $mainMod CTRL, up, movewindow, u
bind = $mainMod CTRL, down, movewindow, d

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Workspaces related
bind = $mainMod, tab, workspace, m+1
bind = $mainMod SHIFT, tab, workspace, m-1

# Special workspace
bind = $mainMod SHIFT, U, movetoworkspace, special
bind = $mainMod, U, togglespecialworkspace,

# The following mappings use the key codes to better support various keyboard layouts
# 1 is code:10, 2 is code 11, etc
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, code:10, workspace, 1
bind = $mainMod, code:11, workspace, 2
bind = $mainMod, code:12, workspace, 3
bind = $mainMod, code:13, workspace, 4
bind = $mainMod, code:14, workspace, 5
bind = $mainMod, code:15, workspace, 6
bind = $mainMod, code:16, workspace, 7
bind = $mainMod, code:17, workspace, 8
bind = $mainMod, code:18, workspace, 9
bind = $mainMod, code:19, workspace, 10

# Move active window and follow to workspace mainMod + SHIFT [0-9]
bind = $mainMod SHIFT, code:10, movetoworkspace, 1
bind = $mainMod SHIFT, code:11, movetoworkspace, 2
bind = $mainMod SHIFT, code:12, movetoworkspace, 3
bind = $mainMod SHIFT, code:13, movetoworkspace, 4
bind = $mainMod SHIFT, code:14, movetoworkspace, 5
bind = $mainMod SHIFT, code:15, movetoworkspace, 6
bind = $mainMod SHIFT, code:16, movetoworkspace, 7
bind = $mainMod SHIFT, code:17, movetoworkspace, 8
bind = $mainMod SHIFT, code:18, movetoworkspace, 9
bind = $mainMod SHIFT, code:19, movetoworkspace, 10
bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ]
bind = $mainMod SHIFT, bracketright, movetoworkspace, +1

# Move active window to a workspace silently mainMod + CTRL [0-9]
bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1
bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2
bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3
bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4
bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5
bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6
bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7
bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8
bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9
bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10
bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ]
bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bind = $mainMod, period, workspace, e+1
bind = $mainMod, comma, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
3 changes: 3 additions & 0 deletions .config/hypr/configs/laptop_display.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid.

#monitor = eDP-1, preferred, auto, 1
52 changes: 52 additions & 0 deletions .config/hypr/configs/laptops.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings

$mainMod = SUPER
$scriptsDir = $HOME/.config/hypr/scripts
$user_configs = $HOME/.config/hypr/user_configs

# for disabling Touchpad. hyprctl devices to get device name.
$Touchpad_Device=asue1209:00-04f3:319f-touchpad

binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down
binde = , 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)
binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec
binde = , 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
bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # Screenshot active window

$TOUCHPAD_ENABLED = true
device {
name = $Touchpad_Device
enabled = $TOUCHPAD_ENABLED
}
# Below are useful when you are connecting your laptop in external display
# Suggest you edit below for your laptop display
# From WIKI This is to disable laptop monitor when lid is closed.
# consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches
#bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1"
#bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable"


# WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION!
# CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper.
# CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor
# One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!!
# Make sure to comment (put # on the both the bindl = , switch ......) above
# NOTE: Display for laptop are being generated into LaptopDisplay.conf
# This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc

#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $user_configs/LaptopDisplay.conf
#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $user_configs/LaptopDisplay.conf

# for laptop-lid action (to erase the last entry)
#exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/user_configs/LaptopDisplay.conf
#
45 changes: 45 additions & 0 deletions .config/hypr/configs/monitors.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Monitor Configuration
# https://wiki.hyprland.org/Configuring/Monitors/
# Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info.


# Monitors
monitor=DP-1,1920x1080@240,0x0,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-3, 1920x1080@240, 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

48 changes: 48 additions & 0 deletions .config/hypr/configs/startup_apps.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Commands & Apps to be executed at launch
$scripts_dir = $HOME/.config/hypr/scripts
$user_scripts = $HOME/.config/hypr/user_scripts

$wall_dir = $HOME/Pictures/wallpapers
$lock_script = $scripts_dir/LockScreen.sh
# $wallpaper_random = $user_scripts/WallpaperAutoChange.sh

# Wallpaper stuff / More wallpaper options below
exec-once = swww-daemon --format xrgb
#exec-once = $wallpaper_random $wall_dir # 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 = $scripts_dir/Polkit.sh

# Startup apps
exec-once = waybar &
exec-once = nm-applet --indicator &
exec-once = swaync &
exec-once = ags &
# 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 = $user_scripts/RainbowBorders.sh &

# Starting hypridle to start hyprlock
exec-once = hypridle &

# Start pyprland daemon
exec-once = pypr &

# Here are list of features available but disabled by default
# exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper

# Gnome polkit for nixos
# exec-once = $scripts_dir/Polkit-NixOS.sh

# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start)
# exec-once = $scripts_dir/PortalHyprland.sh
37 changes: 37 additions & 0 deletions .config/hypr/configs/user_keybinds.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict

# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables
# See also Laptops.conf for laptops keybinds

$main_mod = SUPER
$files = thunar
$term = kitty
$scripts_dir = $HOME/.config/hypr/scripts
$user_scripts = $HOME/.config/hypr/user_scripts

# rofi App launcher
#bindr = $main_mod, $main_mod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu
bind = $main_mod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window

# ags overview
bind = $main_mod, A, exec, pkill rofi || true && ags -t 'overview'

bind = $main_mod, Return, exec, $term # Launch terminal
bind = $main_mod, T, exec, $files # Launch file manager

bind = $main_mod ALT, C, exec, $user_scripts/RofiCalc.sh # calculator (qalculate)

# pyprland
bind = $main_mod SHIFT, Return, exec, pypr toggle term # Dropdown terminal
bind = $main_mod, Z, exec, pypr zoom # Toggle Zoom

# User Added Keybinds
bind = $main_mod SHIFT, O, exec, $user_scripts/ZshChangeTheme.sh # Change oh-my-zsh theme
bindn = ALT_L, SHIFT_L, exec, $scripts_dir/SwitchKeyboardLayout.sh # Changing the keyboard layout

# For passthrough keyboard into a VM
# bind = $main_mod ALT, P, submap, passthru
#submap = passthru
# to unbind
#bind = $main_mod ALT, P, submap, reset
#submap = reset
Loading