hyprland config

This commit is contained in:
thatscringebro
2023-09-21 18:37:25 -04:00
parent fd3d6567dc
commit 98f7bd2701
62 changed files with 2843 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
#environment-variables
env = QT_QPA_PLATFORMTHEME,qt5ct #necessary to run qt5ct properly
env = GDK_BACKEND,wayland,x11
env = QT_QPA_PLATFORM,wayland;xcb
env = CLUTTER_BACKEND,wayland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = XDG_SESSION_TYPE,wayland
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
# NVIDIA
# This is from Hyprland Wiki but my Hyprland keeps crashing when I enabled this variables
#env = WLR_NO_HARDWARE_CURSORS,1
#env = LIBVA_DRIVER_NAME,nvidia
#env = MOZ_ENABLE_WAYLAND,1
#env = XDG_SESSION_TYPE,wayland
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
#env = GBM_BACKEND,nvidia-drm ## it causes issues like Hyprland crashing so care
#env = __NV_PRIME_RENDER_OFFLOAD,1
#env = __VK_LAYER_NV_optimus,NVIDIA_only
#env = WLR_DRM_NO_ATOMIC,1
#env = NVD_BACKEND,direct

View File

@@ -0,0 +1,28 @@
#Commands to be executed at launch
$scriptsDir = $HOME/.config/hypr/scripts
# wallpaper stuff
#exec-once = swww query || swww init && swww img $HOME/wallpaper.jpg #using swww utility
#exec-once = swww init
exec-once = swaybg -m fill -i $HOME/wallpaper.jpg #using swaybg
#exec-once = $scriptsDir/Wallpaper.sh #using swaybg random wallpaper
# Startup
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
#exec-once = dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = $scriptsDir/portal-arch-hyprland
exec-once = /usr/lib/polkit-kde-authentication-agent-1
# apps, blueman, network manager applet and ROG-control-Center
exec-once = $scriptsDir/Startup.sh
exec-once = blueman-applet &
exec-once = nm-applet --indicator &
#exec-once = rog-control-center &
#clipboard manager
exec-once = wl-paste --watch cliphist store
#Syncthing
exec-once = $scriptsDir/syncthing.sh

View File

@@ -0,0 +1,199 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Setting variables
$mainMod = SUPER
$files = thunar
$browser = firefox
$term = kitty
$hyprDir = $HOME/.config/hypr
$scriptsDir = $HOME/.config/hypr/scripts
# Scripts
$Mako = $scriptsDir/Mako.sh
$screenshot = $scriptsDir/ScreenShot.sh
$volume = $scriptsDir/Volume.sh
$waybar = $scriptsDir/Waybar.sh
$Wofi = $scriptsDir/Wofi.sh
$Clipboard = $scriptsDir/ClipManager.sh
# see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod SHIFT, C, exec, hyprctl reload
bind = $mainMod, D, exec, $Wofi
bind = $mainMod SHIFT, Q, killactive,
bind = $mainMod SHIFT, Space, togglefloating,
bind = $mainMod, F, fullscreen
bind = $mainMod, Q, killactive,
bind = $mainMod, Return, exec, $term
bind = $mainMod, T, exec, $files
#bind = $mainMod SHIFT, M, exec, hyprctl dispatch splitratio -0.3
#bind = $mainMod SHIFT, Y, exec, $term --class clock -T clock -e tty-clock -c -C 7 -r -s -f "%A, %B, %d"
bind = $mainMod CTRL, D, layoutmsg, removemaster
bind = $mainMod, Escape, exec, hyprctl kill
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
bind = $mainMod ALT, V, exec, $Clipboard
# Special Keys / Hot Keys
bind = , xf86audioraisevolume, exec, $volume --inc #volume up
bind = , xf86audiolowervolume, exec, $volume --dec #volume down
bind = , xf86AudioMicMute, exec, $volume --toggle-mic #mute mic
bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button
bind = , xf86audiomute, exec, $volume --toggle #FN+F1
bind = , xf86audioplay, exec, playerctl play-pause
bind = , xf86audionext, exec, playerctl next
bind = , xf86audioprev, exec, playerctl previous
bind = , xf86audiostop, exec, playerctl stop
# From manual but it does not work
#bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, 2560x1440@165, 0x0, 1"
#bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable"
# Resize (vim style)
binde = $mainMod SHIFT, H, resizeactive,-50 0
binde = $mainMod SHIFT, L, resizeactive,50 0
binde = $mainMod SHIFT, K, resizeactive,0 -50
binde = $mainMod SHIFT, J, resizeactive,0 50
binde = $mainMod SHIFT, left, resizeactive,-50 0
binde = $mainMod SHIFT, right, resizeactive,50 0
binde = $mainMod SHIFT, up, resizeactive,0 -50
binde = $mainMod SHIFT, down, resizeactive,0 50
# Move (vim style)
bind = $mainMod CTRL, H, movewindow, l
bind = $mainMod CTRL, L, movewindow, r
bind = $mainMod CTRL, K, movewindow, u
bind = $mainMod CTRL, J, movewindow, d
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
# Special workspace
bind = $mainMod SHIFT, U, movetoworkspace, special
bind = $mainMod, U, togglespecialworkspace,
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod, KP_End, workspace, 1
bind = $mainMod, KP_Down, workspace, 2
bind = $mainMod, KP_Next, workspace, 3
bind = $mainMod, KP_Left, workspace, 4
bind = $mainMod, KP_Begin, workspace, 5
bind = $mainMod, KP_Right, workspace, 6
bind = $mainMod, KP_Home, workspace, 7
bind = $mainMod, KP_Up, workspace, 8
bind = $mainMod, KP_Prior, workspace, 9
bind = $mainMod, KP_Insert, workspace, 10
# Move active window and follow to workspace
bind = $mainMod CTRL, 1, movetoworkspace, 1
bind = $mainMod CTRL, 2, movetoworkspace, 2
bind = $mainMod CTRL, 3, movetoworkspace, 3
bind = $mainMod CTRL, 4, movetoworkspace, 4
bind = $mainMod CTRL, 5, movetoworkspace, 5
bind = $mainMod CTRL, 6, movetoworkspace, 6
bind = $mainMod CTRL, 7, movetoworkspace, 7
bind = $mainMod CTRL, 8, movetoworkspace, 8
bind = $mainMod CTRL, 9, movetoworkspace, 9
bind = $mainMod CTRL, 0, movetoworkspace, 10
bind = $mainMod CTRL, KP_End, movetoworkspace, 1
bind = $mainMod CTRL, KP_Down, movetoworkspace, 2
bind = $mainMod CTRL, KP_Next, movetoworkspace, 3
bind = $mainMod CTRL, KP_Left, movetoworkspace, 4
bind = $mainMod CTRL, KP_Begin, movetoworkspace, 5
bind = $mainMod CTRL, KP_Right, movetoworkspace, 6
bind = $mainMod CTRL, KP_Home, movetoworkspace, 7
bind = $mainMod CTRL, KP_Up, movetoworkspace, 8
bind = $mainMod CTRL, KP_Prior, movetoworkspace, 9
bind = $mainMod CTRL, KP_Insert, movetoworkspace, 10
bind = $mainMod CTRL, bracketleft, movetoworkspace, -1
bind = $mainMod CTRL, bracketright, movetoworkspace, +1
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
bind = $mainMod SHIFT, KP_End, movetoworkspacesilent, 1
bind = $mainMod SHIFT, KP_Down, movetoworkspacesilent, 2
bind = $mainMod SHIFT, KP_Next, movetoworkspacesilent, 3
bind = $mainMod SHIFT, KP_Left, movetoworkspacesilent, 4
bind = $mainMod SHIFT, KP_Begin, movetoworkspacesilent, 5
bind = $mainMod SHIFT, KP_Right, movetoworkspacesilent, 6
bind = $mainMod SHIFT, KP_Home, movetoworkspacesilent, 7
bind = $mainMod SHIFT, KP_Up, movetoworkspacesilent, 8
bind = $mainMod SHIFT, KP_Prior, movetoworkspacesilent, 9
bind = $mainMod SHIFT, KP_Insert, movetoworkspacesilent, 10
bind = $mainMod SHIFT, bracketleft, movetoworkspacesilent, -1
bind = $mainMod SHIFT, 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
bind = $mainMod, G, togglegroup
bind = $mainMod, tab, workspace, m+1
bind = $mainMod SHIFT, tab, workspace, m-1
bind = ALT, tab, cyclenext, # change focus to another window
bind = ALT SHIFT, tab, bringactivetotop, # bring it to the top
# Screenshot keybindings NOTE:
#bind = , Print, exec, $screenshot --now
bind = $mainMod, Print, exec, $screenshot --now
bind = $mainMod CTRL SHIFT, Print, exec, $screenshot --in5
bind = $mainMod ALT, Print, exec, $screenshot --in10
#bind = CTRL, Print, exec, $screenshot --win
#bind = SHIFT, Print, exec, $screenshot --area
bind = $mainMod SHIFT, Print, exec, $screenshot --area
# screenshot with swappy
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | swappy -f -
# Screenshot keybindings for Asus G15 (no PrinSrc button)
bind = $mainMod, F6, exec, $screenshot --now
bind = $mainMod SHIFT, F6, exec, $screenshot --area
bind = $mainMod CTRL SHIFT, F6, exec, $screenshot --in5
bind = $mainMod ALT, F6, exec, $screenshot --in10

View File

@@ -0,0 +1,27 @@
# Monitor Configuration
# Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info.
# Monitors
monitor=DP-1,2560x1440@144,0x0,1
monitor=DP-2,2560x1440@144,auto,1
# my G15 Laptop
# monitor = eDP-1, preferred, auto, 1
#monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen
#monitor = DP-2, preferred, auto, 1 #my Samsung Odyssey-G7
#monitor = DP-1, preferred, auto, 1
#monitor = HDMI-A-1, preferred,auto,1
# QEMU
monitor = Virtual-1, 1920x1080@60,auto,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

View File

@@ -0,0 +1,39 @@
# 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, swayimg|vlc|Viewnior|pavucontrol
windowrule = float, nwg-look|qt5ct|mpv
windowrule = float, onedriver|onedriver-launcher
windowrule = float, zoom
windowrule = float, wofi
windowrule=tile,lite-xl
windowrule = fullscreen, wlogout
#windowrule = noblur,gamescope
#windowrule = fullscreen,gamescope
#windowrule = workspace 6 silent,^(gamescope)$
# windowrule v2
#windowrulev2 = workspace 2, class:^(firefox)$
#windowrulev2 = workspace 2, class:^(Microsoft-edge-beta)$ #this is on arch
#windowrulev2 = workspace 3, class:^(thunar)$
#windowrulev2 = workspace 1, class:^(thunderbird)$
#windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$
#windowrulev2 = workspace 5 silent, class:^(Steam)$,title:^(Steam)$
#windowrulev2 = workspace 5 silent, class:^(lutris)$
#windowrulev2 = workspace 6, class:^(virt-manager)$
#windowrulev2 = workspace 7 silent, class:^(discord)$
#windowrulev2 = workspace 9 silent, class:^(audacious)$
#opacity (transparent) #enable as desired
#windowrulev2 = opacity 1 0.9, class:^(firefox)$
#windowrulev2 = opacity 0.9 0.7, class:^(thunar)$
#windowrulev2 = opacity 0.7 0.7, class:^(foot)$
#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 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1
#windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1
#windowrulev2 = opacity 0.8 0.8, pinned:1

134
hyprland/hypr/hyprland.conf Normal file
View File

@@ -0,0 +1,134 @@
# Refer to the wiki for more information.
# See https://wiki.hyprland.org/Configuring/Variables/ for more
#Sourcing external config files
source=~/.config/hypr/configs/ENVariables.conf
source=~/.config/hypr/configs/Execs.conf
source=~/.config/hypr/configs/Keybinds.conf
source=~/.config/hypr/configs/Monitors.conf
source=~/.config/hypr/configs/WindowRules.conf
general {
sensitivity=1.00
apply_sens_to_raw=1
gaps_in = 4
gaps_out = 8
border_size = 4
resize_on_border = true
#one color
#col.active_border = rgba(7aa2f7aa)
#more colors - gradient
col.active_border = rgb(5AE058) rgb(3FB5A3) 45deg
#col.active_border = rgb(7287fd) rgb(74c7ec) rgb(89b4fa) 45deg
col.inactive_border = rgb(000000)
layout = master # master or dwindle
}
input {
kb_layout=ca
kb_variant=
kb_model=
kb_options=grp:alt_shift_toggle
kb_rules=
repeat_rate=50
repeat_delay=300
numlock_by_default=0
left_handed=0
follow_mouse=1
float_switch_override_focus=0
touchpad {
disable_while_typing=1
natural_scroll=1
clickfinger_behavior=0
middle_button_emulation=1
tap-to-click=1
drag_lock=1
}
}
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
}
decoration {
rounding = 6
multisample_edges = true
#blur = yes
#blur_size = 8
#blur_passes = 2
#blur_new_optimizations = on
active_opacity = 1.0
inactive_opacity = 0.7
fullscreen_opacity = 1.0
dim_inactive = true
dim_strength = 0.1
drop_shadow=true
shadow_range=10
shadow_render_power = 2
col.shadow = rgb(7ef788)
col.shadow_inactive = 0x50000000
}
#blurls = waybar
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
animations {
enabled = yes
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 = windows, 1, 6, wind, slide
}
dwindle {
pseudotile = yes
preserve_split = yes
special_scale_factor = 0.8
}
master {
new_is_master=1
new_on_top=0
mfact = 0.5
}
binds {
workspace_back_and_forth=1
allow_workspace_cycles=1
pass_mouse_when_bound=0
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
mouse_move_enables_dpms = true
vrr = 2
enable_swallow = true
no_direct_scanout = true #for fullscreen games
focus_on_activate = false
swallow_regex = ^(kitty)$
}

View File

@@ -0,0 +1,179 @@
exec-once = wl-clipboard-history -t
exec-once = ~/.config/hypr/scripts/.autostart
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-kde-authentication-agent-1
exec-once = swaybg -m fill -i $HOME/Pictures/wallpapers/nostalgic-memories5.jpg
exec-once = waybar
# env = LIBVA_DRIVER_NAME, nvidia
env = XDG_SESSION_TYPE, wayland
env = __GL_GSYNC_ALLOWED, 0
# env = __GLX_VENDOR_LIBRARY_NAME, nvidia
# env = GBM_BACKEND, nvidia-drm
env = WLR_NO_HARDWARE_CURSORS, 1
env = XCURSOR_THEME, Breeze
env = XCURSOR_SIZE, 16
$browser = firefox
$explorer = thunar
$term = kitty
$discord = discord
monitors {
# you can use the command 'hyprctl monitors' to list your currently using monitors.
# use wlr-randr to list all available monitors
# more examples at https://wiki.hyprland.org/Configuring/Monitors/
# left monitor
# monitor = HDMI-A-1, 1920x1080@60, 0x0, 1
# right monitor
monitor = eDP-1, 1920x1200@60, 1920x0, 1.1
}
input {
kb_layout = us, br # keyboard layout en-us and pt-br
kb_options = grp:alt_shift_toggle # toggle between keyboard layouts using ALT + SHIFT
follow_mouse = 1
sensitivity = -0.2 # -1.0 - 1.0, 0 means no modification.
}
general {
# gaps
gaps_in=3
gaps_out=6
# border
border_size=2
col.active_border=0xff2aabd4 0xff2bc1ae 0deg
col.inactive_border=0xfff4564
no_border_on_floating = true
# layout
layout = dwindle
}
dwindle {
no_gaps_when_only = false
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # you probably want this
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
mouse_move_enables_dpms = true
enable_swallow = true
swallow_regex = ^(kitty)$
}
decoration {
# border
rounding = 2
multisample_edges = true
# opacity
active_opacity = 0.85
inactive_opacity = 0.80
# blur
blur {
enabled = true
size = 8
passes = 2
new_optimizations = true
}
# shadow
drop_shadow = true
shadow_ignore_window = true
shadow_offset = 4 4
shadow_range = 10
shadow_render_power = 2
col.shadow = 0x66000000
blurls = gtk-layer-shell
blurls = lockscreen
}
animations {
enabled = true
bezier = overshot,0.05,0.9,0.1,1.1
bezier = smoothOut, 0.36, 0, 0.66, -0.56
bezier = smoothIn, 0.25, 1, 0.5, 1
bezier = linear, 0.5, 0.5, 0.5, 0.5
animation = windows, 1, 2, overshot, popin
animation = windowsIn, 1, 4, smoothIn, popin
animation = windowsOut, 1, 4, smoothIn, popin
animation = windowsMove, 1, 4, default, popin
animation = border, 1, 10, default
animation = fade, 1, 10, smoothIn
animation = fadeDim, 1, 10, smoothIn
animation = workspaces, 1, 4, smoothIn, slide
animation = borderangle, 1, 20, linear, loop
}
windowrules {
# opacity
windowrule = opacity 1.0 override 1.0 override, ^(com.obsproject.Studio)$
windowrule = opacity 1.0 override 1.0 override, ^(com.stremio.stremio)$
windowrule = opacity 1.0 override 1.0 override, ^(libreoffice-writer)$
windowrule = opacity 1.0 override 1.0 override, ^(discord)$
windowrule = opacity 1.0 override 1.0 override, ^(feh)$
windowrule = opacity 1.0 override 1.0 override, ^(firefox)$
windowrule = opacity 1.0 override 1.0 override, ^(Google-chrome)$
windowrule = opacity 1.0 override 1.0 override, ^(Gimp)$
windowrule = opacity 1.0 override 1.0 override, ^(mpv)$
windowrule = opacity 1.0 override 1.0 override, ^(Rofi)$
# float
windowrule = float, confirm
windowrule = float, confirmreset
windowrule = float, dialog
windowrule = float, download
windowrule = float, error
windowrule = float, feh
windowrule = float, file_progress
windowrule = float, file-roller
windowrule = float, Lxappearance
windowrule = float, notification
windowrule = float, splash
windowrule = float, xfce4-appearance-settings
windowrule = float, title:branchdialog
windowrule = float, title:^(btop)$
windowrule = float, title:^(Media viewer)$
windowrule = float, title:^(Network Connections)$
windowrule = float, title:Open File
windowrule = float, title:^(Volume Control)$
# fullscreen
windowrule = fullscreen, wlogout
# idleinhibit
windowrule = idleinhibit focus, mpv
windowrule = idleinhibit fullscreen, $browser
# size
windowrule = size 400 600, title:^(Network Connections)$
windowrule = size 980 530, title:^(btop)$
windowrule = size 900 400, title:^(Volume Control)$
windowrule = size 1280 720, title:^(feh)$
# move
windowrule = move 3% 35, title:^(btop)$
windowrule = move 70% 35, title:^(Network Connections)$
windowrule = move 45% 35, title:^(Volume Control)$
# animations
windowrule = animation slide, title:^(btop)$
windowrule = animation slide, title:^(Network Connections)$
windowrule = animation slide, title:^(Volume Control)$
windowrule = animation slide, title:^(Logout)$
}

View File

@@ -0,0 +1,13 @@
#!/bin/sh
# WOFI STYLES
CONFIG="$HOME/.config/wofi/WofiBig/config"
STYLE="$HOME/.config/wofi/style.css"
if [[ ! $(pidof wofi) ]]; then
cliphist list | wofi --show dmenu --prompt 'Search...' \
--conf ${CONFIG} --style ${STYLE} \
--width=600 --height=400 | cliphist decode | wl-copy
else
pkill wofi
fi

View File

@@ -0,0 +1,5 @@
#!/bin/bash
CONFIG="$HOME/.config/swaylock/config"
sleep 0.5s; swaylock --config ${CONFIG} & disown

7
hyprland/hypr/scripts/Mako.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
CONFIG="$HOME/.config/mako/config"
if [[ ! $(pidof mako) ]]; then
mako --config ${CONFIG}
fi

View File

@@ -0,0 +1,8 @@
#!/bin/bash
sleep 1
killall xdg-desktop-portal-hyprland
killall xdg-desktop-portal-wlr
killall xdg-desktop-portal
/usr/lib/xdg-desktop-portal-hyprland &
sleep 2
/usr/lib/xdg-desktop-portal &

View File

@@ -0,0 +1,80 @@
#!/bin/bash
iDIR="$HOME/.config/mako/icons"
time=$(date +%Y-%m-%d-%H-%M-%S)
dir="$(xdg-user-dir)/Pictures/Screenshots"
file="Screenshot_${time}_${RANDOM}.png"
# notify and view screenshot
notify_cmd_shot="notify-send -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png"
notify_view() {
${notify_cmd_shot} "Copied to clipboard."
## viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# countdown
countdown() {
for sec in $(seq $1 -1 1); do
notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow() {
cd ${dir} && grim - | tee "$file" | wl-copy
sleep 2
notify_view
}
shot5() {
countdown '5'
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
sleep 1
notify_view
}
shot10() {
countdown '10'
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
notify_view
}
shotwin() {
w_pos=$(hyprctl activewindow | grep 'at:' | cut -d':' -f2 | tr -d ' ' | tail -n1)
w_size=$(hyprctl activewindow | grep 'size:' | cut -d':' -f2 | tr -d ' ' | tail -n1 | sed s/,/x/g)
cd ${dir} && grim -g "$w_pos $w_size" - | tee "$file" | wl-copy
notify_view
}
shotarea() {
cd ${dir} && grim -g "$(slurp -b 1B1F28CC -c E06B74ff -s C778DD0D -w 2)" - | tee "$file" | wl-copy
notify_view
}
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
if [[ "$1" == "--now" ]]; then
shotnow
elif [[ "$1" == "--in5" ]]; then
shot5
elif [[ "$1" == "--in10" ]]; then
shot10
elif [[ "$1" == "--win" ]]; then
shotwin
elif [[ "$1" == "--area" ]]; then
shotarea
else
echo -e "Available Options : --now --in5 --in10 --win --area"
fi
exit 0

View File

@@ -0,0 +1,20 @@
#!/bin/bash
SCRIPTSDIR=$HOME/.config/hypr/scripts
# Kill already running process
_ps=(waybar mako)
for _prs in "${_ps[@]}"; do
if [[ $(pidof ${_prs}) ]]; then
killall -9 ${_prs}
fi
done
# Lauch notification daemon (mako)
${SCRIPTSDIR}/Mako.sh &
# Lauch statusbar (waybar)
${SCRIPTSDIR}/Waybar.sh &
# Lauch syncthing
${SCRIPTSDIR}/syncthing.sh &

106
hyprland/hypr/scripts/Volume.sh Executable file
View File

@@ -0,0 +1,106 @@
#!/bin/bash
iDIR="$HOME/.config/hypr/mako/icons"
# Get Volume
get_volume() {
volume=$(pamixer --get-volume)
echo "$volume"
}
# Get icons
get_icon() {
current=$(get_volume)
if [[ "$current" -eq "0" ]]; then
echo "$iDIR/volume-mute.png"
elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
echo "$iDIR/volume-low.png"
elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
echo "$iDIR/volume-mid.png"
elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
echo "$iDIR/volume-high.png"
fi
}
# Notify
notify_user() {
notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_icon)" "Volume : $(get_volume) %"
}
# Increase Volume
inc_volume() {
pamixer -i 5 && notify_user
}
# Decrease Volume
dec_volume() {
pamixer -d 5 && notify_user
}
# Toggle Mute
toggle_mute() {
if [ "$(pamixer --get-mute)" == "false" ]; then
pamixer -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF"
elif [ "$(pamixer --get-mute)" == "true" ]; then
pamixer -u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_icon)" "Volume Switched ON"
fi
}
# Toggle Mic
toggle_mic() {
if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
pamixer --default-source -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
pamixer -u --default-source u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/microphone.png" "Microphone Switched ON"
fi
}
# Get icons
get_mic_icon() {
current=$(pamixer --default-source --get-volume)
if [[ "$current" -eq "0" ]]; then
echo "$iDIR/microphone.png"
elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
echo "$iDIR/microphone.png"
elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
echo "$iDIR/microphone.png"
elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
echo "$iDIR/microphone.png"
fi
}
# Notify
notify_mic_user() {
notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_mic_icon)" "Mic-Level : $(pamixer --default-source --get-volume) %"
}
# Increase MIC Volume
inc_mic_volume() {
pamixer --default-source -i 5 && notify_mic_user
}
# Decrease MIC Volume
dec_mic_volume() {
pamixer --default-source -d 5 && notify_mic_user
}
# Execute accordingly
if [[ "$1" == "--get" ]]; then
get_volume
elif [[ "$1" == "--inc" ]]; then
inc_volume
elif [[ "$1" == "--dec" ]]; then
dec_volume
elif [[ "$1" == "--toggle" ]]; then
toggle_mute
elif [[ "$1" == "--toggle-mic" ]]; then
toggle_mic
elif [[ "$1" == "--get-icon" ]]; then
get_icon
elif [[ "$1" == "--get-mic-icon" ]]; then
get_mic_icon
elif [[ "$1" == "--mic-inc" ]]; then
inc_mic_volume
elif [[ "$1" == "--mic-dec" ]]; then
dec_mic_volume
else
get_volume
fi

View File

@@ -0,0 +1,8 @@
#!/bin/bash
CONFIG="$HOME/.config/waybar/config"
STYLE="$HOME/.config/waybar/style.css"
if [[ ! $(pidof waybar) ]]; then
waybar --bar main-bar --log-level error --config ${CONFIG} --style ${STYLE}
fi

10
hyprland/hypr/scripts/Wofi.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
CONFIG="$HOME/.config/wofi/config"
STYLE="$HOME/.config/wofi/style.css"
if [[ ! $(pidof wofi) ]]; then
wofi --show drun --prompt 'Search...' --conf ${CONFIG} --style ${STYLE}
elses
pkill wofi
fi

View File

@@ -0,0 +1,5 @@
#!/bin/bash
sleep 10
sudo systemctl start syncthing@$HOST.service
syncthing