forked from Shinonome/dots-hyprland
stuff
This commit is contained in:
Executable
+5
@@ -0,0 +1,5 @@
|
||||
# Auto generated color theme for image at: https://i.ytimg.com/vi/4Me9rKMKIiY/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARgdIGUoYDAP&rs=AOn4CLCTO0d31Dqgq1VrZ7Kyc7QQprKctw
|
||||
general {
|
||||
col.active_border = rgba(E72DA9FF) rgba(C24BB3FF) rgba(32EBDCFF) 45deg
|
||||
col.inactive_border = rgba(E72DA966)
|
||||
}
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
general {
|
||||
col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) 45deg
|
||||
col.inactive_border = rgba(04404aaa)
|
||||
}
|
||||
+193
@@ -0,0 +1,193 @@
|
||||
# This file contains general customization options
|
||||
# For Environment variables see env.conf
|
||||
# For Keybinds variables see keybinds.conf
|
||||
# For Auto-run stuff see execs.conf
|
||||
#autogenerated = 1
|
||||
|
||||
# I haven't updated yet but prepared
|
||||
# source=~/.config/hypr/env.conf
|
||||
|
||||
# Monitor: reserve space for eww bar
|
||||
monitor=eDP-1,1920x1080@60,0x0,1
|
||||
monitor=eDP-1, addreserved, 61, 0, 0, 0
|
||||
monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1
|
||||
|
||||
#################### Core components (authentication, idle daemon and stuff) ##############
|
||||
source=~/.config/hypr/execs.conf
|
||||
|
||||
############################# Keybinds ############################
|
||||
source=~/.config/hypr/keybinds.conf
|
||||
|
||||
############################## Input ##############################
|
||||
input {
|
||||
# Mouse
|
||||
# accel_profile = adaptive
|
||||
force_no_accel = false
|
||||
#sensitivity = 0
|
||||
# osu
|
||||
# force_no_accel = true
|
||||
# sensitivity = -0.23
|
||||
|
||||
# Keyboard
|
||||
kb_layout = us
|
||||
follow_mouse = 1
|
||||
numlock_by_default = true
|
||||
|
||||
touchpad {
|
||||
natural_scroll = yes
|
||||
disable_while_typing = true
|
||||
clickfinger_behavior = true
|
||||
scroll_factor = 0.7
|
||||
}
|
||||
scroll_method = 2fg
|
||||
}
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = true
|
||||
workspace_swipe_distance = 1200px
|
||||
workspace_swipe_fingers = 4
|
||||
workspace_swipe_cancel_ratio = 0.2
|
||||
workspace_swipe_min_speed_to_force = 5
|
||||
workspace_swipe_create_new = true
|
||||
}
|
||||
|
||||
general {
|
||||
# Gaps and border
|
||||
gaps_in = 4
|
||||
gaps_out = 8
|
||||
border_size = 2
|
||||
|
||||
# Fallback colors
|
||||
col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) 45deg
|
||||
col.inactive_border = rgba(04404aaa)
|
||||
|
||||
# Functionality
|
||||
# resize_on_border = true
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
|
||||
decoration {
|
||||
# Blur rules
|
||||
# blurls=gtk-layer-shell
|
||||
rounding = 17
|
||||
|
||||
# Blur
|
||||
blur = yes
|
||||
blur_size = 7
|
||||
blur_passes = 4
|
||||
blur_new_optimizations = on
|
||||
blur_ignore_opacity = false
|
||||
#blur_xray = true
|
||||
# Shadow
|
||||
drop_shadow = no
|
||||
shadow_range = 30
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(01010166)
|
||||
|
||||
# Opacity
|
||||
|
||||
|
||||
# Shader
|
||||
# screen_shader = ~/.config/hypr/shaders/nothing.frag
|
||||
|
||||
# Dim
|
||||
dim_inactive = false
|
||||
dim_strength = 0.1
|
||||
dim_special = 0
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
# Animation curves
|
||||
|
||||
bezier = md3_standard, 0.2, 0.0, 0, 1.0
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = win10, 0, 0, 0, 1
|
||||
bezier = gnome, 0, 0.85, 0.3, 1
|
||||
bezier = funky, 0.46, 0.35, -0.2, 1.2
|
||||
# Animation configs
|
||||
animation = windows, 1, 2, md3_decel, slide
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 0.0000001, default
|
||||
animation = workspaces, 1, 4, md3_decel, slide
|
||||
}
|
||||
|
||||
misc {
|
||||
vfr = 1
|
||||
vrr = 0
|
||||
focus_on_activate = true
|
||||
animate_manual_resizes = true
|
||||
animate_mouse_windowdragging = true
|
||||
#suppress_portal_warnings = true
|
||||
enable_swallow = true
|
||||
}
|
||||
debug {
|
||||
#overlay = true
|
||||
}
|
||||
dwindle {
|
||||
preserve_split = true # you probably want this
|
||||
#no_gaps_when_only = true
|
||||
}
|
||||
|
||||
decoration {
|
||||
#screen_shader = ~/.config/hypr/shaders/drugs.frag
|
||||
#screen_shader = ~/.config/hypr/shaders/crt.frag
|
||||
}
|
||||
debug {
|
||||
#damage_tracking=0
|
||||
}
|
||||
|
||||
# Efficiency
|
||||
#general {
|
||||
# gaps_in = 0
|
||||
# gaps_out = 0
|
||||
# border_size = 2
|
||||
#}
|
||||
#decoration {
|
||||
# rounding = 0
|
||||
#}
|
||||
#monitor=eDP-1, addreserved, 32, 0, 0, 0
|
||||
|
||||
######## Window rules ########
|
||||
#windowrule = float, ^(firefox)$
|
||||
windowrule = float, ^(steam)$
|
||||
windowrule = float, ^(guifetch)$
|
||||
|
||||
#windowrule = opacity 0.9 override 0.9 override, ^(firefox)$
|
||||
# Dialogs
|
||||
windowrule=float,title:^(Open File)(.*)$
|
||||
windowrule=float,title:^(Open Folder)(.*)$
|
||||
windowrule=float,title:^(Save As)(.*)$
|
||||
windowrule=float,title:^(Library)(.*)$
|
||||
windowrulev2 = float, class:^com.github.hluk.copyq$
|
||||
|
||||
windowrulev2 = rounding 10, floating:1
|
||||
######## Layer rules ########
|
||||
layerrule = blur, gtk-layer-shell
|
||||
layerrule = ignorezero, gtk-layer-shell
|
||||
layerrule = blur, notifications
|
||||
layerrule = ignorezero, notifications
|
||||
layerrule = blur, waybar
|
||||
layerrule = ignorezero, waybar
|
||||
|
||||
plugin {
|
||||
hyprbars {
|
||||
bar_color = rgba(090727FF)
|
||||
bar_height = 20
|
||||
bar_text_size = 10
|
||||
bar_text_color = rgba(7775D0FF)
|
||||
}
|
||||
borders-plus-plus {
|
||||
add_borders = 2 # 0 - 2
|
||||
col.border_1 = rgb(82E6F5) # example col for border 1
|
||||
col.border_2 = rgb(2222ff) # example col for border 2
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Dynamic colors are written here
|
||||
source=~/.config/hypr/colors.conf
|
||||
+191
@@ -0,0 +1,191 @@
|
||||
# This file contains general customization options
|
||||
# For Environment variables see env.conf
|
||||
# For Keybinds variables see keybinds.conf
|
||||
# For Auto-run stuff see execs.conf
|
||||
#autogenerated = 1
|
||||
|
||||
# I haven't updated yet but prepared
|
||||
# source=~/.config/hypr/env.conf
|
||||
|
||||
# Monitor: reserve space for eww bar
|
||||
monitor=eDP-1,1920x1080@60,0x0,1
|
||||
monitor=eDP-1, addreserved, 1, 1, 61, 1
|
||||
monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1
|
||||
|
||||
#################### Core components (authentication, idle daemon and stuff) ##############
|
||||
source=~/.config/hypr/execs.conf
|
||||
|
||||
############################# Keybinds ############################
|
||||
source=~/.config/hypr/keybinds.conf
|
||||
|
||||
############################## Input ##############################
|
||||
input {
|
||||
# Mouse
|
||||
# accel_profile = adaptive
|
||||
force_no_accel = false
|
||||
#sensitivity = 0
|
||||
# osu
|
||||
# force_no_accel = true
|
||||
# sensitivity = -0.23
|
||||
|
||||
# Keyboard
|
||||
kb_layout = us
|
||||
follow_mouse = 1
|
||||
numlock_by_default = true
|
||||
|
||||
touchpad {
|
||||
natural_scroll = yes
|
||||
disable_while_typing = true
|
||||
clickfinger_behavior = true
|
||||
scroll_factor = 0.7
|
||||
}
|
||||
scroll_method = 2fg
|
||||
}
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = true
|
||||
workspace_swipe_distance = 1000px
|
||||
workspace_swipe_fingers = 4
|
||||
workspace_swipe_cancel_ratio = 0.05
|
||||
workspace_swipe_min_speed_to_force = 5
|
||||
workspace_swipe_create_new = true
|
||||
}
|
||||
|
||||
general {
|
||||
# Gaps and border
|
||||
gaps_in = 4
|
||||
gaps_out = 7
|
||||
border_size = 2
|
||||
|
||||
# Fallback colors
|
||||
col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) 45deg
|
||||
col.inactive_border = rgba(04404aaa)
|
||||
|
||||
# Functionality
|
||||
# resize_on_border = true
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
|
||||
decoration {
|
||||
# Blur rules
|
||||
# blurls=gtk-layer-shell
|
||||
rounding = 17
|
||||
|
||||
# Blur
|
||||
blur = yes
|
||||
blur_size = 7
|
||||
blur_passes = 4
|
||||
blur_new_optimizations = on
|
||||
blur_ignore_opacity = false
|
||||
#blur_xray = true
|
||||
# Shadow
|
||||
drop_shadow = no
|
||||
shadow_range = 30
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(01010166)
|
||||
|
||||
# Opacity
|
||||
|
||||
|
||||
# Shader
|
||||
# screen_shader = ~/.config/hypr/shaders/nothing.frag
|
||||
|
||||
# Dim
|
||||
dim_inactive = false
|
||||
dim_strength = 0.1
|
||||
dim_special = 0
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
# Animation curves
|
||||
|
||||
bezier = md3_standard, 0.2, 0.0, 0, 1.0
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = win10, 0, 0, 0, 1
|
||||
bezier = gnome, 0, 0.85, 0.3, 1
|
||||
bezier = funky, 0.46, 0.35, -0.2, 1.2
|
||||
# Animation configs
|
||||
animation = windows, 1, 2, md3_decel, slide
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 0.0000001, default
|
||||
animation = workspaces, 1, 4, md3_decel, slidevert
|
||||
}
|
||||
|
||||
misc {
|
||||
vfr = 1
|
||||
vrr = 0
|
||||
focus_on_activate = true
|
||||
animate_manual_resizes = true
|
||||
animate_mouse_windowdragging = true
|
||||
#suppress_portal_warnings = true
|
||||
enable_swallow = true
|
||||
}
|
||||
debug {
|
||||
#overlay = true
|
||||
}
|
||||
dwindle {
|
||||
preserve_split = true # you probably want this
|
||||
#no_gaps_when_only = true
|
||||
}
|
||||
|
||||
decoration {
|
||||
#screen_shader = ~/.config/hypr/shaders/drugs.frag
|
||||
#screen_shader = ~/.config/hypr/shaders/crt.frag
|
||||
}
|
||||
debug {
|
||||
#damage_tracking=0
|
||||
}
|
||||
|
||||
# Efficiency
|
||||
#general {
|
||||
# gaps_in = 0
|
||||
# gaps_out = 0
|
||||
# border_size = 2
|
||||
#}
|
||||
#decoration {
|
||||
# rounding = 0
|
||||
#}
|
||||
#monitor=eDP-1, addreserved, 32, 0, 0, 0
|
||||
|
||||
######## Window rules ########
|
||||
#windowrule = float, ^(firefox)$
|
||||
windowrule = float, ^(steam)$
|
||||
windowrule = float, ^(guifetch)$
|
||||
|
||||
#windowrule = opacity 0.9 override 0.9 override, ^(firefox)$
|
||||
# Dialogs
|
||||
windowrule=float,title:^(Open File)(.*)$
|
||||
windowrule=float,title:^(Open Folder)(.*)$
|
||||
windowrule=float,title:^(Save As)(.*)$
|
||||
windowrule=float,title:^(Library)(.*)$
|
||||
windowrulev2 = float, class:^com.github.hluk.copyq$
|
||||
|
||||
windowrulev2 = rounding 10, floating:1
|
||||
######## Layer rules ########
|
||||
layerrule = blur, gtk-layer-shell
|
||||
layerrule = ignorezero, gtk-layer-shell
|
||||
layerrule = blur, waybar
|
||||
layerrule = ignorezero, waybar
|
||||
|
||||
plugin {
|
||||
hyprbars {
|
||||
bar_color = rgba(090727FF)
|
||||
bar_height = 20
|
||||
bar_text_size = 10
|
||||
bar_text_color = rgba(7775D0FF)
|
||||
}
|
||||
borders-plus-plus {
|
||||
add_borders = 2 # 0 - 2
|
||||
col.border_1 = rgb(82E6F5) # example col for border 1
|
||||
col.border_2 = rgb(2222ff) # example col for border 2
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Dynamic colors are written here
|
||||
source=~/.config/hypr/colors.conf
|
||||
+199
@@ -0,0 +1,199 @@
|
||||
########################## Language ############################
|
||||
bind = SUPERSHIFT, V, exec, ibus engine Bamboo::Us
|
||||
bind = SUPERSHIFT, E, exec, ibus engine xkb:us::eng
|
||||
|
||||
#################### It just works™ keybinds ###################
|
||||
# Volume
|
||||
bindl = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindle = , XF86AudioRaiseVolume, exec, ~/.config/eww/scripts/volume osd &
|
||||
bindle = , XF86AudioLowerVolume, exec, ~/.config/eww/scripts/volume osd &
|
||||
bindl = , XF86AudioMute, exec, ~/.config/eww/scripts/volume osd &
|
||||
|
||||
# Brightness
|
||||
bindle=, XF86MonBrightnessUp, exec, light -A 3 && ~/.config/eww/scripts/brightness osd &
|
||||
bindle=, XF86MonBrightnessDown, exec, light -U 3 && ~/.config/eww/scripts/brightness osd &
|
||||
|
||||
######################################## Keybinds ########################################
|
||||
# Apps: just normal apps
|
||||
bind = SUPER, C, exec, code --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
bind = CONTROLSHIFTALT, Y, exec, yuzu
|
||||
bind = SUPER, T, exec, foot --override shell=fish
|
||||
bind = SUPERALT, T, exec, wezterm
|
||||
bind = SUPER, Return, exec, kitty
|
||||
bind = SUPER, E, exec, nautilus --new-window
|
||||
bind = SUPER, W, exec, firefox
|
||||
bind = CONTROLSUPERALT, E, exec, /usr/bin/microsoft-edge-stable --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4
|
||||
bind = SUPER, X, exec, gnome-text-editor --new-window
|
||||
bind = SUPERSHIFT, W, exec, wps
|
||||
|
||||
#Apps: Settings and config
|
||||
bind = SUPER, I, exec, gnome-control-center
|
||||
bind = CONTROLSUPER, V, exec, pavucontrol
|
||||
bind = CONTROLSHIFT, Escape, exec, gnome-system-monitor
|
||||
bind = CONTROLALTSHIFT, Escape, exec, foot -T 'btop' btop
|
||||
bind = SUPERSHIFT, I, exec, ~/.local/bin/guifetch
|
||||
|
||||
|
||||
# Actions
|
||||
bind = SUPERSHIFT, Period, exec, pkill wofi || wofi-emoji
|
||||
bind = SUPER, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji
|
||||
bind = SUPER, Q, killactive,
|
||||
bind = SUPERALT, Space, togglefloating,
|
||||
bind = SHIFTSUPERALT, Q, exec, hyprctl kill
|
||||
bind = CONTROLALT, Delete, exec, pkill wlogout || wlogout -p layer-shell
|
||||
bind = CONTROLSHIFTALTSUPER, Delete, exec, systemctl poweroff
|
||||
|
||||
# Screenshot, Record, OCR (Optical Character Recognition), Color picker, Clipboard history
|
||||
bind = SUPERSHIFT, D, exec,~/.local/bin/rubyshot | wl-copy
|
||||
bind = SUPERSHIFTALT, S, exec, grim -g "$(slurp)" - | swappy -f -
|
||||
bindl =,Print,exec,grim - | wl-copy
|
||||
bind = SUPERSHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
|
||||
bind = SUPERALT, R, exec, ~/.local/bin/record-script.sh
|
||||
bind = CONTROLALT, R, exec, ~/.local/bin/record-script.sh --sound
|
||||
bind = SUPERSHIFTALT, R, exec, ~/.local/bin/record-script-fullscreen.sh
|
||||
bind = CONTROLSUPERSHIFT,S,exec,grim -g "$(slurp)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
|
||||
bind = SUPERSHIFT,T,exec,grim -g "$(slurp)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
|
||||
bind = SUPERSHIFT, C, exec, hyprpicker -a
|
||||
bind = SUPER, B, exec, copyq menu
|
||||
bind = SUPER, V, exec, pkill fuzzel || cliphist list | fuzzel --no-fuzzy --icon-theme=candy-icons --background-color=1D1D27ee --text-color=cdd6f4ff --match-color=AC16C7FF --border-width=3 --border-radius=10 --border-color=8701E7FF --selection-color=585b70ff --selection-text-color=cdd6f4ff --selection-match-color=AC16C7FF --font="Rubik" --prompt=" " --dmenu | cliphist decode | wl-copy
|
||||
# Media
|
||||
bind = SUPERSHIFT, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"`
|
||||
bind = SUPERSHIFT, B, exec, playerctl previous
|
||||
bind = SUPERSHIFT, P, exec, playerctl play-pause
|
||||
#Lock screen | blur: --effect-blur=20x20
|
||||
bind = SUPER, L, exec, ~/.local/bin/lock.sh
|
||||
bind = SUPERSHIFT, L, exec, ~/.local/bin/lock.sh
|
||||
bindl = SUPERSHIFT, L, exec, sleep 0.1 && systemctl suspend
|
||||
# App launcher
|
||||
bindr = SUPER, SUPER_L, exec, ~/.config/eww/scripts/toggle-overview.sh --keypress &
|
||||
bind = SUPER, Slash, exec, pkill fuzzel || fuzzel --icon-theme=candy-icons --background-color=1D1D27ee --text-color=cdd6f4ff --match-color=AC16C7FF --border-width=3 --border-radius=10 --border-color=8701E7FF --selection-color=585b70ff --selection-text-color=cdd6f4ff --selection-match-color=AC16C7FF --font="Rubik" --prompt=" "
|
||||
#bindr = SUPER, SUPER_L, exec, pkill rofi || rofi -show drun
|
||||
|
||||
################################# eww keybinds ################################
|
||||
bindr = CONTROLSUPER, R, exec, pkill eww && eww daemon && eww open bar && eww open bg-decor
|
||||
bind = SUPER, Tab, exec, ~/.config/eww/scripts/toggle-overview.sh
|
||||
bind = SUPER, O, exec, ~/.config/eww/scripts/toggle-osettings.sh --keypress
|
||||
bind = CONTROLSUPER, O, exec, ~/.config/eww/scripts/toggle-osettings.sh --keypress
|
||||
bind = SUPER, M, exec, ~/.config/eww/scripts/toggle-bottombar.sh
|
||||
bind = SUPER, N, exec, ~/.config/eww/scripts/toggle-onotify.sh --keypress
|
||||
bind = SUPER, Comma, exec, ~/.config/eww/scripts/toggle-themer.sh
|
||||
bind = SUPER, D, exec, ~/.config/eww/scripts/toggle-dash.sh --keypress
|
||||
bind = SUPER, A, exec, ~/.config/eww/scripts/toggle-dashfs.sh
|
||||
bind = SUPER, G, exec, ~/.config/eww/scripts/toggle-wingamebar.sh
|
||||
|
||||
bind = CONTROLSUPER, Tab, exec, ~/.config/eww/scripts/toggle-compactmode.sh
|
||||
bind = SUPERALT, W, exec, ~/.config/eww/scripts/toggle-winmode.sh
|
||||
|
||||
############################ Keybinds for Hyprland ############################
|
||||
# Swap windows
|
||||
bind=SUPERSHIFT,left,movewindow,l
|
||||
bind=SUPERSHIFT,right,movewindow,r
|
||||
bind=SUPERSHIFT,up,movewindow,u
|
||||
bind=SUPERSHIFT,down,movewindow,d
|
||||
# Move focus
|
||||
bind = SUPER, left, movefocus, l
|
||||
bind = SUPER, right, movefocus, r
|
||||
bind = SUPER, up, movefocus, u
|
||||
bind = SUPER, down, movefocus, d
|
||||
bind = SUPER, BracketLeft, movefocus, l
|
||||
bind = SUPER, BracketRight, movefocus, r
|
||||
# Window title
|
||||
bind = SUPER, left, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, right, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, up, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, down, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, BracketLeft, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, BracketRight, exec, eww update rev_center_ws=false
|
||||
bind = ALT, Tab, exec, eww update rev_center_ws=false
|
||||
|
||||
# Workspace, window, tab switch with keyboard
|
||||
bind = CONTROLSUPER, right, workspace, +1
|
||||
bind = CONTROLSUPER, left, workspace, -1
|
||||
bind = CONTROLSUPER, BracketLeft, workspace, -1
|
||||
bind = CONTROLSUPER, BracketRight, workspace, +1
|
||||
bind = CONTROLSUPER, up, workspace, -5
|
||||
bind = CONTROLSUPER, down, workspace, +5
|
||||
bind = SUPER, Page_Down, workspace, +1
|
||||
bind = SUPER, Page_Up, workspace, -1
|
||||
bind = CONTROLSUPER, Page_Down, workspace, +1
|
||||
bind = CONTROLSUPER, Page_Up, workspace, -1
|
||||
bind = SUPERSHIFT, Page_Down, movetoworkspace, +1
|
||||
bind = SUPERSHIFT, Page_Up, movetoworkspace, -1
|
||||
bind = CONTROLSUPERSHIFT, Right, movetoworkspace, +1
|
||||
bind = CONTROLSUPERSHIFT, Left, movetoworkspace, -1
|
||||
bind = SUPERSHIFT, mouse_down, movetoworkspace, -1
|
||||
bind = SUPERSHIFT, mouse_up, movetoworkspace, +1
|
||||
|
||||
# Show workspaces module
|
||||
bind = CONTROLSUPER, right, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, left, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, BracketLeft, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, BracketRight, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, down, exec, eww update rev_center_ws=true
|
||||
bind = SUPER, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = SUPER, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPERSHIFT, Right, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPERSHIFT, Left, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, mouse_down, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, mouse_up, exec, eww update rev_center_ws=true
|
||||
|
||||
# Window split ratio
|
||||
binde = SUPER, Minus, splitratio, -0.1
|
||||
binde = SUPER, Equal, splitratio, 0.1
|
||||
binde = SUPER, Semicolon, splitratio, -0.1
|
||||
binde = SUPER, Apostrophe, splitratio, 0.1
|
||||
# Fullscreen
|
||||
bind = SUPER, F, fullscreen
|
||||
# Switching
|
||||
bind = SUPER, 1, workspace, 1
|
||||
bind = SUPER, 2, workspace, 2
|
||||
bind = SUPER, 3, workspace, 3
|
||||
bind = SUPER, 4, workspace, 4
|
||||
bind = SUPER, 5, workspace, 5
|
||||
bind = SUPER, 6, workspace, 6
|
||||
bind = SUPER, 7, workspace, 7
|
||||
bind = SUPER, 8, workspace, 8
|
||||
bind = SUPER, 9, workspace, 9
|
||||
bind = SUPER, 0, workspace, 10
|
||||
bind = SUPER, S, togglespecialworkspace,
|
||||
bind = CONTROLSUPER, S, togglespecialworkspace,
|
||||
bind = ALT, Tab, cyclenext # Why is this even here?
|
||||
bind = ALT, Tab, bringactivetotop, # bring it to the top
|
||||
# Move window to workspace Super + Alt + [0-9]
|
||||
bind = SUPER ALT, 1, movetoworkspacesilent, 1
|
||||
bind = SUPER ALT, 2, movetoworkspacesilent, 2
|
||||
bind = SUPER ALT, 3, movetoworkspacesilent, 3
|
||||
bind = SUPER ALT, 4, movetoworkspacesilent, 4
|
||||
bind = SUPER ALT, 5, movetoworkspacesilent, 5
|
||||
bind = SUPER ALT, 6, movetoworkspacesilent, 6
|
||||
bind = SUPER ALT, 7, movetoworkspacesilent, 7
|
||||
bind = SUPER ALT, 8, movetoworkspacesilent, 8
|
||||
bind = SUPER ALT, 9, movetoworkspacesilent, 9
|
||||
bind = SUPER ALT, 0, movetoworkspacesilent, 10
|
||||
bind = CONTROLSHIFTSUPER, Up, movetoworkspacesilent, special
|
||||
bind = SUPERALT, S, movetoworkspacesilent, special
|
||||
# Scroll through existing workspaces with (Control) + Super + scroll
|
||||
bind = SUPER, mouse_up, workspace, +1
|
||||
bind = SUPER, mouse_down, workspace, -1
|
||||
bind = CONTROLSUPER, mouse_up, workspace, +1
|
||||
bind = CONTROLSUPER, mouse_down, workspace, -1
|
||||
# Move/resize windows with Super + LMB/RMB and dragging
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
bindm = SUPER, mouse:273, resizewindow
|
||||
bindm = SUPER, mouse:274, movewindow
|
||||
bindm = SUPER, Z, movewindow
|
||||
bind = CONTROLSUPER, Backslash, resizeactive, exact 640 480
|
||||
|
||||
# trying vim-like stuff
|
||||
binde = SUPER_ALT, I, exec, wtype -k Up
|
||||
binde = SUPER_ALT, K, exec, wtype -P Down
|
||||
binde = SUPER_ALT, J, exec, wtype -P Left
|
||||
binde = SUPER_ALT, L, exec, wtype -P Right
|
||||
|
||||
+198
@@ -0,0 +1,198 @@
|
||||
########################## Language ############################
|
||||
bind = SUPERSHIFT, V, exec, ibus engine Bamboo::Us
|
||||
bind = SUPERSHIFT, E, exec, ibus engine xkb:us::eng
|
||||
|
||||
#################### It just works™ keybinds ###################
|
||||
# Volume
|
||||
bindl = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindle = , XF86AudioRaiseVolume, exec, ~/.config/eww/scripts/volume osd &
|
||||
bindle = , XF86AudioLowerVolume, exec, ~/.config/eww/scripts/volume osd &
|
||||
bindl = , XF86AudioMute, exec, ~/.config/eww/scripts/volume osd &
|
||||
|
||||
# Brightness
|
||||
bindle=, XF86MonBrightnessUp, exec, light -A 3 && ~/.config/eww/scripts/brightness osd &
|
||||
bindle=, XF86MonBrightnessDown, exec, light -U 3 && ~/.config/eww/scripts/brightness osd &
|
||||
|
||||
######################################## Keybinds ########################################
|
||||
# Apps: just normal apps
|
||||
bind = SUPER, C, exec, code --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
bind = CONTROLSHIFTALT, Y, exec, yuzu
|
||||
bind = SUPER, T, exec, foot --override shell=fish
|
||||
bind = SUPERALT, T, exec, wezterm
|
||||
bind = SUPER, Return, exec, kitty
|
||||
bind = SUPER, E, exec, nautilus --new-window
|
||||
bind = SUPER, W, exec, firefox
|
||||
bind = CONTROLSUPERALT, E, exec, /usr/bin/microsoft-edge-stable --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4
|
||||
bind = SUPER, X, exec, gnome-text-editor --new-window
|
||||
bind = SUPERSHIFT, W, exec, wps
|
||||
|
||||
#Apps: Settings and config
|
||||
bind = SUPER, I, exec, gnome-control-center
|
||||
bind = CONTROLSUPER, V, exec, pavucontrol
|
||||
bind = CONTROLSHIFT, Escape, exec, gnome-system-monitor
|
||||
bind = CONTROLALTSHIFT, Escape, exec, foot -T 'btop' btop
|
||||
bind = SUPERSHIFT, I, exec, ~/.local/bin/guifetch
|
||||
|
||||
|
||||
# Actions
|
||||
bind = SUPERSHIFT, Period, exec, pkill wofi || wofi-emoji
|
||||
bind = SUPER, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji
|
||||
bind = SUPER, Q, killactive,
|
||||
bind = SUPERALT, Space, togglefloating,
|
||||
bind = SHIFTSUPERALT, Q, exec, hyprctl kill
|
||||
bind = CONTROLALT, Delete, exec, pkill wlogout || wlogout -p layer-shell
|
||||
bind = CONTROLSHIFTALTSUPER, Delete, exec, systemctl poweroff
|
||||
|
||||
# Screenshot, Record, OCR (Optical Character Recognition), Color picker, Clipboard history
|
||||
bind = SUPERSHIFT, D, exec,~/.local/bin/rubyshot | wl-copy
|
||||
bind = SUPERSHIFTALT, S, exec, grim -g "$(slurp)" - | swappy -f -
|
||||
bindl =,Print,exec,grim - | wl-copy
|
||||
bind = SUPERSHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
|
||||
bind = SUPERALT, R, exec, ~/.local/bin/record-script.sh
|
||||
bind = CONTROLALT, R, exec, ~/.local/bin/record-script.sh --sound
|
||||
bind = SUPERSHIFTALT, R, exec, ~/.local/bin/record-script-fullscreen.sh
|
||||
bind = CONTROLSUPERSHIFT,S,exec,grim -g "$(slurp)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
|
||||
bind = SUPERSHIFT,T,exec,grim -g "$(slurp)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
|
||||
bind = SUPERSHIFT, C, exec, hyprpicker -a
|
||||
bind = SUPER, B, exec, copyq menu
|
||||
bind = SUPER, V, exec, pkill fuzzel || cliphist list | fuzzel --no-fuzzy --icon-theme=candy-icons --background-color=1D1D27ee --text-color=cdd6f4ff --match-color=AC16C7FF --border-width=3 --border-radius=10 --border-color=8701E7FF --selection-color=585b70ff --selection-text-color=cdd6f4ff --selection-match-color=AC16C7FF --font="Rubik" --prompt=" " --dmenu | cliphist decode | wl-copy
|
||||
# Media
|
||||
bind = SUPERSHIFT, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"`
|
||||
bind = SUPERSHIFT, B, exec, playerctl previous
|
||||
bind = SUPERSHIFT, P, exec, playerctl play-pause
|
||||
#Lock screen | blur: --effect-blur=20x20
|
||||
bind = SUPER, L, exec, ~/.local/bin/lock.sh
|
||||
bind = SUPERSHIFT, L, exec, ~/.local/bin/lock.sh
|
||||
bindl = SUPERSHIFT, L, exec, sleep 0.1 && systemctl suspend
|
||||
# App launcher
|
||||
bindr = SUPER, SUPER_L, exec, ~/.config/eww/scripts/toggle-overview.sh --keypress &
|
||||
bind = SUPER, Slash, exec, pkill fuzzel || fuzzel --icon-theme=candy-icons --background-color=1D1D27ee --text-color=cdd6f4ff --match-color=AC16C7FF --border-width=3 --border-radius=10 --border-color=8701E7FF --selection-color=585b70ff --selection-text-color=cdd6f4ff --selection-match-color=AC16C7FF --font="Rubik" --prompt=" "
|
||||
#bindr = SUPER, SUPER_L, exec, pkill rofi || rofi -show drun
|
||||
|
||||
################################# eww keybinds ################################
|
||||
bindr = CONTROLSUPER, R, exec, pkill eww && eww daemon && eww open bar && eww open bg-decor
|
||||
bind = SUPER, Tab, exec, ~/.config/eww/scripts/toggle-overview.sh
|
||||
bind = SUPER, O, exec, ~/.config/eww/scripts/toggle-osettings.sh --keypress
|
||||
bind = CONTROLSUPER, O, exec, ~/.config/eww/scripts/toggle-osettings.sh --keypress
|
||||
bind = SUPER, M, exec, ~/.config/eww/scripts/toggle-bottombar.sh
|
||||
bind = SUPER, N, exec, ~/.config/eww/scripts/toggle-onotify.sh --keypress
|
||||
bind = SUPER, Comma, exec, ~/.config/eww/scripts/toggle-themer.sh
|
||||
bind = SUPER, D, exec, ~/.config/eww/scripts/toggle-dash.sh --keypress
|
||||
bind = SUPER, A, exec, ~/.config/eww/scripts/toggle-dashfs.sh
|
||||
bind = SUPER, G, exec, ~/.config/eww/scripts/toggle-wingamebar.sh
|
||||
|
||||
bind = CONTROLSUPER, Tab, exec, ~/.config/eww/scripts/toggle-compactmode.sh
|
||||
bind = SUPERALT, W, exec, ~/.config/eww/scripts/toggle-winmode.sh
|
||||
|
||||
############################ Keybinds for Hyprland ############################
|
||||
# Swap windows
|
||||
bind=SUPERSHIFT,left,movewindow,l
|
||||
bind=SUPERSHIFT,right,movewindow,r
|
||||
bind=SUPERSHIFT,up,movewindow,u
|
||||
bind=SUPERSHIFT,down,movewindow,d
|
||||
# Move focus
|
||||
bind = SUPER, left, movefocus, l
|
||||
bind = SUPER, right, movefocus, r
|
||||
bind = SUPER, up, movefocus, u
|
||||
bind = SUPER, down, movefocus, d
|
||||
bind = SUPER, BracketLeft, movefocus, l
|
||||
bind = SUPER, BracketRight, movefocus, r
|
||||
# Window title
|
||||
bind = SUPER, left, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, right, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, up, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, down, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, BracketLeft, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, BracketRight, exec, eww update rev_center_ws=false
|
||||
bind = ALT, Tab, exec, eww update rev_center_ws=false
|
||||
|
||||
# Workspace, window, tab switch with keyboard
|
||||
bind = CONTROLSUPER, right, workspace, +1
|
||||
bind = CONTROLSUPER, left, workspace, -1
|
||||
bind = CONTROLSUPER, BracketLeft, workspace, -1
|
||||
bind = CONTROLSUPER, BracketRight, workspace, +1
|
||||
bind = CONTROLSUPER, up, workspace, -1
|
||||
bind = CONTROLSUPER, down, workspace, +1
|
||||
bind = SUPER, Page_Down, workspace, +1
|
||||
bind = SUPER, Page_Up, workspace, -1
|
||||
bind = CONTROLSUPER, Page_Down, workspace, +1
|
||||
bind = CONTROLSUPER, Page_Up, workspace, -1
|
||||
bind = SUPERSHIFT, Page_Down, movetoworkspace, +1
|
||||
bind = SUPERSHIFT, Page_Up, movetoworkspace, -1
|
||||
bind = CONTROLSUPERSHIFT, Right, movetoworkspace, +1
|
||||
bind = CONTROLSUPERSHIFT, Left, movetoworkspace, -1
|
||||
bind = SUPERSHIFT, mouse_down, movetoworkspace, -1
|
||||
bind = SUPERSHIFT, mouse_up, movetoworkspace, +1
|
||||
|
||||
# Show workspaces module
|
||||
bind = CONTROLSUPER, right, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, left, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, BracketLeft, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, BracketRight, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, down, exec, eww update rev_center_ws=true
|
||||
bind = SUPER, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = SUPER, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPERSHIFT, Right, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPERSHIFT, Left, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, mouse_down, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, mouse_up, exec, eww update rev_center_ws=true
|
||||
|
||||
# Window split ratio
|
||||
binde = SUPER, Minus, splitratio, -0.1
|
||||
binde = SUPER, Equal, splitratio, 0.1
|
||||
binde = SUPER, Semicolon, splitratio, -0.1
|
||||
binde = SUPER, Apostrophe, splitratio, 0.1
|
||||
# Fullscreen
|
||||
bind = SUPER, F, fullscreen
|
||||
# Switching
|
||||
bind = SUPER, 1, workspace, 1
|
||||
bind = SUPER, 2, workspace, 2
|
||||
bind = SUPER, 3, workspace, 3
|
||||
bind = SUPER, 4, workspace, 4
|
||||
bind = SUPER, 5, workspace, 5
|
||||
bind = SUPER, 6, workspace, 6
|
||||
bind = SUPER, 7, workspace, 7
|
||||
bind = SUPER, 8, workspace, 8
|
||||
bind = SUPER, 9, workspace, 9
|
||||
bind = SUPER, 0, workspace, 10
|
||||
bind = SUPER, S, togglespecialworkspace,
|
||||
bind = CONTROLSUPER, S, togglespecialworkspace,
|
||||
bind = ALT, Tab, cyclenext # Why is this even here?
|
||||
bind = ALT, Tab, bringactivetotop, # bring it to the top
|
||||
# Move window to workspace Super + Alt + [0-9]
|
||||
bind = SUPER ALT, 1, movetoworkspacesilent, 1
|
||||
bind = SUPER ALT, 2, movetoworkspacesilent, 2
|
||||
bind = SUPER ALT, 3, movetoworkspacesilent, 3
|
||||
bind = SUPER ALT, 4, movetoworkspacesilent, 4
|
||||
bind = SUPER ALT, 5, movetoworkspacesilent, 5
|
||||
bind = SUPER ALT, 6, movetoworkspacesilent, 6
|
||||
bind = SUPER ALT, 7, movetoworkspacesilent, 7
|
||||
bind = SUPER ALT, 8, movetoworkspacesilent, 8
|
||||
bind = SUPER ALT, 9, movetoworkspacesilent, 9
|
||||
bind = SUPER ALT, 0, movetoworkspacesilent, 10
|
||||
bind = SUPERALT, S, movetoworkspacesilent, special
|
||||
# Scroll through existing workspaces with (Control) + Super + scroll
|
||||
bind = SUPER, mouse_up, workspace, +1
|
||||
bind = SUPER, mouse_down, workspace, -1
|
||||
bind = CONTROLSUPER, mouse_up, workspace, +1
|
||||
bind = CONTROLSUPER, mouse_down, workspace, -1
|
||||
# Move/resize windows with Super + LMB/RMB and dragging
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
bindm = SUPER, mouse:273, resizewindow
|
||||
bindm = SUPER, mouse:274, movewindow
|
||||
bindm = SUPER, Z, movewindow
|
||||
bind = CONTROLSUPER, Backslash, resizeactive, exact 640 480
|
||||
|
||||
# trying vim-like stuff
|
||||
binde = SUPER_ALT, I, exec, wtype -k Up
|
||||
binde = SUPER_ALT, K, exec, wtype -P Down
|
||||
binde = SUPER_ALT, J, exec, wtype -P Left
|
||||
binde = SUPER_ALT, L, exec, wtype -P Right
|
||||
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
env = XMODIFIERS, @im=ibus
|
||||
env = GTK_IM_MODULE, ibus
|
||||
env = QT_IM_MODULE, ibus
|
||||
env = QT_QPA_PLATFORMTHEME, qt5ct
|
||||
env = WLR_NO_HARDWARE_CURSORS, 1
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
# Wallpaper
|
||||
exec-once = swaybg -i ~/.config/eww/images/wallpaper/wallpaper
|
||||
|
||||
# Status bar
|
||||
#exec-once = waybar
|
||||
exec-once = eww daemon && eww open bar && eww open bottomline # && eww open dynamic-bg
|
||||
exec-once = ~/.config/eww/scripts/get_open_icons &
|
||||
#exec-once = eww daemon && eww open winbar &
|
||||
|
||||
# Language Switch
|
||||
exec-once = ibus-daemon --xim -d -r
|
||||
exec-once = ibus engine xkb:us::eng
|
||||
|
||||
# Core components (authentication, lock screen, notification daemon)
|
||||
exec-once = dbus-update-activation-environment --all
|
||||
exec-once = /usr/bin/gnome-keyring-daemon --start --components=secrets
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
exec-once = dunst &
|
||||
exec-once = swayidle -w timeout 300 '$HOME/.local/bin/lock.sh' before-sleep '$HOME/.local/bin/lock.sh' &
|
||||
exec-once = swayidle -w timeout 450 'systemctl suspend'
|
||||
|
||||
# Clipboard history
|
||||
exec-once = wl-paste --watch cliphist store
|
||||
|
||||
# Cursor and Touchpad gestures
|
||||
exec-once = hyprctl setcursor Bibata-Modern-Classic 24
|
||||
exec-once = libinput-gestures-setup start
|
||||
|
||||
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
Executable
+148
@@ -0,0 +1,148 @@
|
||||
###################################################
|
||||
# This is the config for Hypr, not Hyprland! #
|
||||
# that abandoned Xorg window manager.. #
|
||||
###################################################
|
||||
|
||||
gaps_in=4
|
||||
border_size=3
|
||||
gaps_out=8
|
||||
rounding=17
|
||||
max_fps=60 # max fps for updates of config & animations
|
||||
focus_when_hover=1 # 0 - do not switch the focus when hover (only for tiling)
|
||||
main_mod=SUPER # For moving, resizing
|
||||
intelligent_transients=1 # keeps transients always on top.
|
||||
no_unmap_saving=1 # disables saving unmapped windows (seems to break sometimes)
|
||||
scratchpad_mon=0 # self-explanatory # no its not
|
||||
|
||||
# Execs
|
||||
exec-once=nitrogen --set-centered ~/.config/eww/images/wallpaper/wallpaper
|
||||
exec-once=/usr/bin/gnome-keyring-daemon --start --components=secrets
|
||||
exec-once=/usr/libexec/polkit-gnome-authentication-agent-1 &
|
||||
exec-once=ibus-daemon --xim -d -r
|
||||
exec-once=picom
|
||||
#exec-once=ibus-daemon &
|
||||
exec-once=ibus engine Bamboo::Us
|
||||
bind=SUPERSHIFT,V,exec,ibus engine Bamboo::Us
|
||||
bind=SUPERSHIFT,E,exec,ibus engine xkb:us::eng
|
||||
|
||||
# Layout
|
||||
layout=0 # 0 - dwindle (default), 1 - master
|
||||
layout {
|
||||
no_gaps_when_only=0 # disables gaps and borders when only window on screen
|
||||
}
|
||||
|
||||
# Bar config
|
||||
Bar {
|
||||
height=20
|
||||
monitor=0
|
||||
enabled=1
|
||||
mod_pad_in=8
|
||||
no_tray_saving=1 # using this doesnt save the tray between reloads but fixes an issue with the bar disappearing.
|
||||
|
||||
font.main=Noto Sans
|
||||
font.secondary=Noto Sans
|
||||
|
||||
col.bg=0xff111111
|
||||
col.high=0xffff3333
|
||||
|
||||
module=left,X,0xff8000ff,0xffffffff,1,workspaces
|
||||
module=pad,left,10
|
||||
module=left,,0xff7000dd,0xff7000dd,1,tray
|
||||
module=right,X,0xffffffff,0xff00ff33,1000,$date +%a,\ %b\ %Y\ \ %I:%M\ %p$
|
||||
}
|
||||
|
||||
# colors
|
||||
col.active_border=0xff7348e0
|
||||
col.inactive_border=0x77222222
|
||||
|
||||
# status command
|
||||
# deprecated
|
||||
# status_command=date +%a,\ %b\ %Y\ \ %I:%M\ %p
|
||||
#
|
||||
|
||||
# animations
|
||||
Animations {
|
||||
enabled=1
|
||||
speed=8
|
||||
window_resize_speed=1
|
||||
cheap=1 # highly recommended
|
||||
borders=1
|
||||
workspaces=1
|
||||
}
|
||||
|
||||
# example window rules, more in the wiki
|
||||
|
||||
# windowrule=float,class:krunner
|
||||
# windowrule=float,role:pop-up
|
||||
# windowrule=float,role:task_dialog
|
||||
# windowrule=monitor 0,class:krunner
|
||||
# windowrule=size 500 50,class:krunner
|
||||
# windowrule=move 700 500,class:krunner
|
||||
# windowrule=pseudo,class:discord
|
||||
|
||||
# keybinds
|
||||
bind=CTRLALT,119,exec,kill Xorg
|
||||
bind=SUPER,R,exec,dmenu_run
|
||||
bind=SUPER,T,exec,kitty fish
|
||||
# bind=SUPER,W,exec,microsoft-edge --password-store=gnome --enable-features=UseOzonePlatform --gtk-version=4
|
||||
bind=SUPER,W,exec,firefox
|
||||
bind=SUPER,A,exec,rofi -show drun
|
||||
bind=SUPER,ESCAPE,exec,kitty btop
|
||||
bind=SUPER,E,exec,nautilus --new-window
|
||||
bind=SUPER,G,exec,gnome-text-editor --new-window
|
||||
|
||||
bind=SUPER,Q,killactive,
|
||||
|
||||
bind=SUPERSHIFT,LEFT,movewindow,l
|
||||
bind=SUPERSHIFT,RIGHT,movewindow,r
|
||||
bind=SUPERSHIFT,UP,movewindow,u
|
||||
bind=SUPERSHIFT,DOWN,movewindow,d
|
||||
|
||||
bind=SUPER,LEFT,movefocus,l
|
||||
bind=SUPER,RIGHT,movefocus,r
|
||||
bind=SUPER,UP,movefocus,u
|
||||
bind=SUPER,DOWN,movefocus,d
|
||||
|
||||
bind=SUPER,F,fullscreen,
|
||||
|
||||
bind=SUPER,1,workspace,1
|
||||
bind=SUPER,2,workspace,2
|
||||
bind=SUPER,3,workspace,3
|
||||
bind=SUPER,4,workspace,4
|
||||
bind=SUPER,5,workspace,5
|
||||
bind=SUPER,6,workspace,6
|
||||
bind=SUPER,7,workspace,7
|
||||
bind=SUPER,8,workspace,8
|
||||
bind=SUPER,9,workspace,9
|
||||
bind=SUPER,0,workspace,10
|
||||
|
||||
bind=CTRLSUPER,left,lastworkspace,-
|
||||
bind=CTRLSUPER,right,nextworkspace,+
|
||||
bind=CTRLSUPER,Prior,lastworkspace,-
|
||||
bind=CTRLSUPER,Next,nextworkspace,+
|
||||
bind=SUPER,Prior,lastworkspace,-
|
||||
bind=SUPER,Next,nextworkspace,+
|
||||
bind=CTRLSUPER,H,lastworkspace,
|
||||
bind=CTRLSUPER,L,nextworkspace,
|
||||
|
||||
bind=CTRLSUPERSHIFT,left,movetorelativeworkspace,-
|
||||
bind=CTRLSUPERSHIFT,right,movetorelativeworkspace,+
|
||||
|
||||
bind=SUPERALT,1,movetoworkspace,1
|
||||
bind=SUPERALT,2,movetoworkspace,2
|
||||
bind=SUPERALT,3,movetoworkspace,3
|
||||
bind=SUPERALT,4,movetoworkspace,4
|
||||
bind=SUPERALT,5,movetoworkspace,5
|
||||
bind=SUPERALT,6,movetoworkspace,6
|
||||
bind=SUPERALT,7,movetoworkspace,7
|
||||
bind=SUPERALT,8,movetoworkspace,8
|
||||
bind=SUPERALT,9,movetoworkspace,9
|
||||
bind=SUPERALT,0,movetoworkspace,10
|
||||
|
||||
bind=SUPERSHIFT,S,movetoworkspace,scratchpad
|
||||
bind=SUPER,S,scratchpad,
|
||||
|
||||
bind=SUPERALT,SPACE,togglefloating,
|
||||
|
||||
bind=SUPER,equal,splitratio,+0.15
|
||||
bind=SUPER,minus,splitratio,-0.15
|
||||
Executable
+162
@@ -0,0 +1,162 @@
|
||||
# This file contains general customization options
|
||||
# For Environment variables see env.conf
|
||||
# For Keybinds variables see keybinds.conf
|
||||
# For Auto-run stuff see execs.conf
|
||||
#autogenerated = 1
|
||||
|
||||
source=~/.config/hypr/env.conf
|
||||
|
||||
# Monitor: reserve space for eww bar
|
||||
monitor=eDP-1,1920x1080@60,0x0,1
|
||||
monitor=eDP-1, addreserved, 61, 0, 0, 0
|
||||
monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1
|
||||
|
||||
#################### Core components (authentication, idle daemon and stuff) ##############
|
||||
source=~/.config/hypr/execs.conf
|
||||
|
||||
############################# Keybinds ############################
|
||||
source=~/.config/hypr/keybinds.conf
|
||||
|
||||
############################## Input ##############################
|
||||
input {
|
||||
# Mouse
|
||||
# accel_profile = adaptive
|
||||
force_no_accel = false
|
||||
#sensitivity = 0
|
||||
|
||||
# Keyboard
|
||||
kb_layout = us
|
||||
follow_mouse = 1
|
||||
numlock_by_default = true
|
||||
|
||||
touchpad {
|
||||
natural_scroll = yes
|
||||
disable_while_typing = true
|
||||
clickfinger_behavior = true
|
||||
scroll_factor = 0.7
|
||||
}
|
||||
scroll_method = 2fg
|
||||
}
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = true
|
||||
workspace_swipe_distance = 1200px
|
||||
workspace_swipe_fingers = 4
|
||||
workspace_swipe_cancel_ratio = 0.2
|
||||
workspace_swipe_min_speed_to_force = 5
|
||||
workspace_swipe_create_new = true
|
||||
}
|
||||
|
||||
general {
|
||||
# Gaps and border
|
||||
gaps_in = 4
|
||||
gaps_out = 8
|
||||
border_size = 2
|
||||
|
||||
# Fallback colors
|
||||
col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) 45deg
|
||||
col.inactive_border = rgba(04404aaa)
|
||||
|
||||
# Functionality
|
||||
# resize_on_border = true
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
dwindle {
|
||||
preserve_split = true # you probably want this
|
||||
#no_gaps_when_only = true
|
||||
}
|
||||
|
||||
decoration {
|
||||
# Blur rules
|
||||
rounding = 15
|
||||
|
||||
# Blur
|
||||
blur = yes
|
||||
blur_size = 7
|
||||
blur_passes = 4
|
||||
blur_new_optimizations = on
|
||||
blur_ignore_opacity = false
|
||||
# Shadow
|
||||
drop_shadow = no
|
||||
shadow_range = 30
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(01010166)
|
||||
|
||||
# Shader
|
||||
# screen_shader = ~/.config/hypr/shaders/nothing.frag
|
||||
|
||||
# Dim
|
||||
dim_inactive = false
|
||||
dim_strength = 0.1
|
||||
dim_special = 0
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
# Animation curves
|
||||
|
||||
bezier = md3_standard, 0.2, 0.0, 0, 1.0
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = win10, 0, 0, 0, 1
|
||||
bezier = gnome, 0, 0.85, 0.3, 1
|
||||
bezier = funky, 0.46, 0.35, -0.2, 1.2
|
||||
# Animation configs
|
||||
animation = windows, 1, 2, md3_decel, slide
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 0.0000001, default
|
||||
animation = workspaces, 1, 4, md3_decel, slide
|
||||
}
|
||||
|
||||
misc {
|
||||
vfr = 1
|
||||
vrr = 0
|
||||
focus_on_activate = true
|
||||
animate_manual_resizes = true
|
||||
animate_mouse_windowdragging = true
|
||||
#suppress_portal_warnings = true
|
||||
enable_swallow = true
|
||||
}
|
||||
|
||||
debug {
|
||||
#overlay = true
|
||||
#damage_tracking=0
|
||||
}
|
||||
|
||||
decoration {
|
||||
#screen_shader = ~/.config/hypr/shaders/drugs.frag
|
||||
#screen_shader = ~/.config/hypr/shaders/crt.frag
|
||||
}
|
||||
|
||||
######## Window rules ########
|
||||
windowrule = float, ^(steam)$
|
||||
windowrule = float, ^(guifetch)$
|
||||
|
||||
# Dialogs
|
||||
windowrule=float,title:^(Open File)(.*)$
|
||||
windowrule=float,title:^(Open Folder)(.*)$
|
||||
windowrule=float,title:^(Save As)(.*)$
|
||||
windowrule=float,title:^(Library)(.*)$
|
||||
windowrulev2 = rounding 17, floating:1
|
||||
|
||||
######## Layer rules ########
|
||||
layerrule = blur, gtk-layer-shell
|
||||
layerrule = ignorezero, gtk-layer-shell
|
||||
layerrule = blur, notifications
|
||||
layerrule = ignorezero, notifications
|
||||
|
||||
plugin {
|
||||
hyprbars {
|
||||
bar_color = rgba(090727FF)
|
||||
bar_height = 20
|
||||
bar_text_size = 10
|
||||
bar_text_color = rgba(7775D0FF)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Dynamic colors
|
||||
source=~/.config/hypr/colors.conf
|
||||
Executable
+201
@@ -0,0 +1,201 @@
|
||||
########################## Language ############################
|
||||
bind = SUPERSHIFT, V, exec, ibus engine Bamboo::Us
|
||||
bind = SUPERSHIFT, E, exec, ibus engine xkb:us::eng
|
||||
bind = SUPER, Space, exec, ~/.config/eww/scripts/language --cycle
|
||||
|
||||
#################### It just works™ keybinds ###################
|
||||
# Volume
|
||||
bindl = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindle = , XF86AudioRaiseVolume, exec, ~/.config/eww/scripts/volume osd &
|
||||
bindle = , XF86AudioLowerVolume, exec, ~/.config/eww/scripts/volume osd &
|
||||
bindl = , XF86AudioMute, exec, ~/.config/eww/scripts/volume osd &
|
||||
|
||||
# Brightness
|
||||
bindle=, XF86MonBrightnessUp, exec, light -A 3 && ~/.config/eww/scripts/brightness osd &
|
||||
bindle=, XF86MonBrightnessDown, exec, light -U 3 && ~/.config/eww/scripts/brightness osd &
|
||||
|
||||
######################################## Keybinds ########################################
|
||||
# Apps: just normal apps
|
||||
bind = SUPER, C, exec, code --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
bind = CONTROLSHIFTALT, Y, exec, yuzu
|
||||
bind = SUPER, T, exec, foot --override shell=fish
|
||||
bind = SUPERALT, T, exec, wezterm
|
||||
bind = SUPER, Return, exec, kitty
|
||||
bind = SUPER, E, exec, nautilus --new-window
|
||||
bind = SUPER, W, exec, firefox
|
||||
bind = CONTROLSUPERALT, E, exec, /usr/bin/microsoft-edge-stable --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4
|
||||
bind = SUPER, X, exec, gnome-text-editor --new-window
|
||||
bind = SUPERSHIFT, W, exec, wps
|
||||
|
||||
# Apps: Settings and config
|
||||
bind = SUPER, I, exec, gnome-control-center
|
||||
bind = CONTROLSUPER, V, exec, pavucontrol
|
||||
bind = CONTROLSHIFT, Escape, exec, gnome-system-monitor
|
||||
bind = CONTROLALTSHIFT, Escape, exec, foot -T 'btop' btop
|
||||
bind = SUPERSHIFT, I, exec, ~/.local/bin/guifetch
|
||||
|
||||
|
||||
# Actions
|
||||
bind = SUPERSHIFT, Period, exec, pkill wofi || wofi-emoji
|
||||
bind = SUPER, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji
|
||||
bind = SUPER, Q, killactive,
|
||||
bind = SUPERALT, Space, togglefloating,
|
||||
bind = SHIFTSUPERALT, Q, exec, hyprctl kill
|
||||
bind = CONTROLALT, Delete, exec, pkill wlogout || wlogout -p layer-shell
|
||||
bind = CONTROLSHIFTALTSUPER, Delete, exec, systemctl poweroff
|
||||
|
||||
# Screenshot, Record, OCR (Optical Character Recognition), Color picker, Clipboard history
|
||||
bind = SUPERSHIFT, D, exec,~/.local/bin/rubyshot | wl-copy
|
||||
bind = SUPERSHIFTALT, S, exec, grim -g "$(slurp)" - | swappy -f -
|
||||
bindl =,Print,exec,grim - | wl-copy
|
||||
bind = SUPERSHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
|
||||
bind = SUPERALT, R, exec, ~/.local/bin/record-script.sh
|
||||
bind = CONTROLALT, R, exec, ~/.local/bin/record-script.sh --sound
|
||||
bind = SUPERSHIFTALT, R, exec, ~/.local/bin/record-script-fullscreen.sh
|
||||
bind = CONTROLSUPERSHIFT,S,exec,grim -g "$(slurp)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
|
||||
bind = SUPERSHIFT,T,exec,grim -g "$(slurp)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
|
||||
bind = SUPERSHIFT, C, exec, hyprpicker -a
|
||||
bind = SUPER, B, exec, copyq menu
|
||||
bind = SUPER, V, exec, pkill fuzzel || cliphist list | fuzzel --no-fuzzy --icon-theme=candy-icons --background-color=1D1D27ee --text-color=cdd6f4ff --match-color=AC16C7FF --border-width=3 --border-radius=10 --border-color=8701E7FF --selection-color=585b70ff --selection-text-color=cdd6f4ff --selection-match-color=AC16C7FF --font="Rubik" --prompt=" " --dmenu | cliphist decode | wl-copy
|
||||
|
||||
# Media
|
||||
bind = SUPERSHIFT, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"`
|
||||
bind = SUPERSHIFT, B, exec, playerctl previous
|
||||
bind = SUPERSHIFT, P, exec, playerctl play-pause
|
||||
|
||||
#Lock screen | blur: --effect-blur=20x20
|
||||
bind = SUPER, L, exec, ~/.local/bin/lock.sh
|
||||
bind = SUPERSHIFT, L, exec, ~/.local/bin/lock.sh
|
||||
bindl = SUPERSHIFT, L, exec, sleep 0.1 && systemctl suspend
|
||||
|
||||
# App launcher
|
||||
bindr = SUPER, SUPER_L, exec, ~/.config/eww/scripts/toggle-overview.sh --keypress &
|
||||
bind = SUPER, Slash, exec, pkill fuzzel || fuzzel --icon-theme=candy-icons --background-color=1D1D27ee --text-color=cdd6f4ff --match-color=AC16C7FF --border-width=3 --border-radius=10 --border-color=8701E7FF --selection-color=585b70ff --selection-text-color=cdd6f4ff --selection-match-color=AC16C7FF --font="Rubik" --prompt=" "
|
||||
|
||||
################################# eww keybinds ################################
|
||||
bindr = CONTROLSUPER, R, exec, pkill eww && eww daemon && eww open bar && eww open bottomline
|
||||
bind = SUPER, Tab, exec, ~/.config/eww/scripts/toggle-overview.sh &
|
||||
bind = SUPER, O, exec, ~/.config/eww/scripts/toggle-osettings.sh --keypress &
|
||||
bind = CONTROLSUPER, O, exec, ~/.config/eww/scripts/toggle-osettings.sh --keypress &
|
||||
bind = SUPER, M, exec, ~/.config/eww/scripts/toggle-bottombar.sh &
|
||||
bind = SUPER, N, exec, ~/.config/eww/scripts/toggle-onotify.sh --keypress &
|
||||
bind = SUPER, Comma, exec, ~/.config/eww/scripts/toggle-themer.sh &
|
||||
bind = SUPER, D, exec, ~/.config/eww/scripts/toggle-dash.sh --keypress &
|
||||
bind = SUPER, A, exec, ~/.config/eww/scripts/toggle-dashfs.sh --keypress &
|
||||
bind = SUPER, G, exec, ~/.config/eww/scripts/toggle-wingamebar.sh &
|
||||
|
||||
bind = CONTROLSUPER, Tab, exec, ~/.config/eww/scripts/toggle-compactmode.sh
|
||||
bind = SUPERALT, W, exec, ~/.config/eww/scripts/toggle-winmode.sh
|
||||
|
||||
############################ Keybinds for Hyprland ############################
|
||||
# Swap windows
|
||||
bind = SUPERSHIFT, left, movewindow, l
|
||||
bind = SUPERSHIFT, right, movewindow, r
|
||||
bind = SUPERSHIFT, up, movewindow, u
|
||||
bind = SUPERSHIFT, down, movewindow, d
|
||||
# Move focus
|
||||
bind = SUPER, left, movefocus, l
|
||||
bind = SUPER, right, movefocus, r
|
||||
bind = SUPER, up, movefocus, u
|
||||
bind = SUPER, down, movefocus, d
|
||||
bind = SUPER, BracketLeft, movefocus, l
|
||||
bind = SUPER, BracketRight, movefocus, r
|
||||
# Window title
|
||||
bind = SUPER, left, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, right, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, up, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, down, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, BracketLeft, exec, eww update rev_center_ws=false
|
||||
bind = SUPER, BracketRight, exec, eww update rev_center_ws=false
|
||||
bind = ALT, Tab, exec, eww update rev_center_ws=false
|
||||
|
||||
# Workspace, window, tab switch with keyboard
|
||||
bind = CONTROLSUPER, right, workspace, +1
|
||||
bind = CONTROLSUPER, left, workspace, -1
|
||||
bind = CONTROLSUPER, BracketLeft, workspace, -1
|
||||
bind = CONTROLSUPER, BracketRight, workspace, +1
|
||||
bind = CONTROLSUPER, up, workspace, -5
|
||||
bind = CONTROLSUPER, down, workspace, +5
|
||||
bind = SUPER, Page_Down, workspace, +1
|
||||
bind = SUPER, Page_Up, workspace, -1
|
||||
bind = CONTROLSUPER, Page_Down, workspace, +1
|
||||
bind = CONTROLSUPER, Page_Up, workspace, -1
|
||||
bind = SUPERSHIFT, Page_Down, movetoworkspace, +1
|
||||
bind = SUPERSHIFT, Page_Up, movetoworkspace, -1
|
||||
bind = CONTROLSUPERSHIFT, Right, movetoworkspace, +1
|
||||
bind = CONTROLSUPERSHIFT, Left, movetoworkspace, -1
|
||||
bind = SUPERSHIFT, mouse_down, movetoworkspace, -1
|
||||
bind = SUPERSHIFT, mouse_up, movetoworkspace, +1
|
||||
|
||||
# Show workspaces module
|
||||
bind = CONTROLSUPER, right, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, left, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, BracketLeft, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, BracketRight, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, down, exec, eww update rev_center_ws=true
|
||||
bind = SUPER, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = SUPER, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPER, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, Page_Down, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, Page_Up, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPERSHIFT, Right, exec, eww update rev_center_ws=true
|
||||
bind = CONTROLSUPERSHIFT, Left, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, mouse_down, exec, eww update rev_center_ws=true
|
||||
bind = SUPERSHIFT, mouse_up, exec, eww update rev_center_ws=true
|
||||
|
||||
# Window split ratio
|
||||
binde = SUPER, Minus, splitratio, -0.1
|
||||
binde = SUPER, Equal, splitratio, 0.1
|
||||
binde = SUPER, Semicolon, splitratio, -0.1
|
||||
binde = SUPER, Apostrophe, splitratio, 0.1
|
||||
|
||||
# Fullscreen
|
||||
bind = SUPER, F, fullscreen
|
||||
|
||||
# Switching
|
||||
bind = SUPER, 1, workspace, 1
|
||||
bind = SUPER, 2, workspace, 2
|
||||
bind = SUPER, 3, workspace, 3
|
||||
bind = SUPER, 4, workspace, 4
|
||||
bind = SUPER, 5, workspace, 5
|
||||
bind = SUPER, 6, workspace, 6
|
||||
bind = SUPER, 7, workspace, 7
|
||||
bind = SUPER, 8, workspace, 8
|
||||
bind = SUPER, 9, workspace, 9
|
||||
bind = SUPER, 0, workspace, 10
|
||||
bind = SUPER, S, togglespecialworkspace,
|
||||
bind = CONTROLSUPER, S, togglespecialworkspace,
|
||||
bind = ALT, Tab, cyclenext
|
||||
bind = ALT, Tab, bringactivetotop, # bring it to the top
|
||||
|
||||
# Move window to workspace Super + Alt + [0-9]
|
||||
bind = SUPER ALT, 1, movetoworkspacesilent, 1
|
||||
bind = SUPER ALT, 2, movetoworkspacesilent, 2
|
||||
bind = SUPER ALT, 3, movetoworkspacesilent, 3
|
||||
bind = SUPER ALT, 4, movetoworkspacesilent, 4
|
||||
bind = SUPER ALT, 5, movetoworkspacesilent, 5
|
||||
bind = SUPER ALT, 6, movetoworkspacesilent, 6
|
||||
bind = SUPER ALT, 7, movetoworkspacesilent, 7
|
||||
bind = SUPER ALT, 8, movetoworkspacesilent, 8
|
||||
bind = SUPER ALT, 9, movetoworkspacesilent, 9
|
||||
bind = SUPER ALT, 0, movetoworkspacesilent, 10
|
||||
bind = CONTROLSHIFTSUPER, Up, movetoworkspacesilent, special
|
||||
bind = SUPERALT, S, movetoworkspacesilent, special
|
||||
|
||||
# Scroll through existing workspaces with (Control) + Super + scroll
|
||||
bind = SUPER, mouse_up, workspace, +1
|
||||
bind = SUPER, mouse_down, workspace, -1
|
||||
bind = CONTROLSUPER, mouse_up, workspace, +1
|
||||
bind = CONTROLSUPER, mouse_down, workspace, -1
|
||||
|
||||
# Move/resize windows with Super + LMB/RMB and dragging
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
bindm = SUPER, mouse:273, resizewindow
|
||||
bindm = SUPER, mouse:274, movewindow
|
||||
bindm = SUPER, Z, movewindow
|
||||
bind = CONTROLSUPER, Backslash, resizeactive, exact 640 480
|
||||
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
// vim: set ft=glsl:
|
||||
// blue light filter shader
|
||||
// values from https://reshade.me/forum/shader-discussion/3673-blue-light-filter-similar-to-f-lux
|
||||
|
||||
precision mediump float;
|
||||
varying vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
|
||||
void main() {
|
||||
|
||||
vec4 pixColor = texture2D(tex, v_texcoord);
|
||||
|
||||
// green
|
||||
pixColor[1] *= 0.855;
|
||||
|
||||
// blue
|
||||
pixColor[2] *= 0.725;
|
||||
|
||||
gl_FragColor = pixColor;
|
||||
}
|
||||
Executable
+511
@@ -0,0 +1,511 @@
|
||||
#version 100
|
||||
precision highp float;
|
||||
varying highp vec2 v_texcoord;
|
||||
varying highp vec3 v_pos;
|
||||
uniform highp sampler2D tex;
|
||||
uniform lowp float time;
|
||||
|
||||
#define BORDER_COLOR vec4(vec3(0.0, 0.0, 0.0), 1.0) // black border
|
||||
#define BORDER_RADIUS 1.0 // larger vignette radius
|
||||
#define BORDER_SIZE 0.01 // small border size
|
||||
#define CHROMATIC_ABERRATION_STRENGTH 0.00
|
||||
#define DENOISE_INTENSITY 0.0001 //
|
||||
#define DISTORTION_AMOUNT 0.00 // moderate distortion amount
|
||||
#define HDR_BLOOM 0.75 // bloom intensity
|
||||
#define HDR_BRIGHTNESS 0.011 // brightness
|
||||
#define HDR_CONTRAST 0.011 // contrast
|
||||
#define HDR_SATURATION 1.0// saturation
|
||||
#define LENS_DISTORTION_AMOUNT 0.0
|
||||
#define NOISE_THRESHOLD 0.0001
|
||||
#define PHOSPHOR_BLUR_AMOUNT 0.77 // Amount of blur for phosphor glow
|
||||
#define PHOSPHOR_GLOW_AMOUNT 0.77 // Amount of phosphor glow
|
||||
#define SAMPLING_RADIUS 0.0001
|
||||
#define SCANLINE_FREQUENCY 540.0
|
||||
#define SCANLINE_THICKNESS 0.0507
|
||||
#define SCANLINE_TIME time * 471.24
|
||||
#define SHARPNESS 0.25
|
||||
#define SUPERSAMPLING_SAMPLES 16.0
|
||||
#define VIGNETTE_RADIUS 0.0 // larger vignette radius
|
||||
#define PI 3.14159265359
|
||||
#define TWOPI 6.28318530718
|
||||
|
||||
vec2 applyBarrelDistortion(vec2 coord, float amt) {
|
||||
vec2 p = coord.xy / vec2(1.0);
|
||||
vec2 v = p * 2.0 - vec2(1.0);
|
||||
float r = dot(v, v);
|
||||
float k = 1.0 + pow(r, 2.0) * pow(amt, 2.0);
|
||||
vec2 result = v * k;
|
||||
return vec2(0.5, 0.5) + 0.5 * result.xy;
|
||||
}
|
||||
|
||||
vec4 applyColorCorrection(vec4 color) {
|
||||
color.rgb *= vec3(1.0, 0.79, 0.89);
|
||||
return vec4(color.rgb, 1.0);
|
||||
}
|
||||
|
||||
vec4 applyBorder(vec2 tc, vec4 color, float borderSize, vec4 borderColor) {
|
||||
float dist_x = min(tc.x, 1.0 - tc.x);
|
||||
float dist_y = min(tc.y, 1.0 - tc.y);
|
||||
float dist = min(dist_x, dist_y) * -1.0;
|
||||
float border = smoothstep(borderSize, 0.0, dist);
|
||||
border += smoothstep(borderSize, 0.0, dist);
|
||||
return mix(color, borderColor, border);
|
||||
}
|
||||
|
||||
vec4 applyFakeHDR(vec4 color, float brightness, float contrast, float saturation, float bloom) {
|
||||
color.rgb = (color.rgb - vec3(0.5)) * exp2(brightness) + vec3(0.5);
|
||||
vec3 crtfactor = vec3(1.05, 0.92, 1.0);
|
||||
color.rgb = pow(color.rgb, crtfactor);
|
||||
// // NTSC
|
||||
// vec3 lumCoeff = vec3(0.2125, 0.7154, 0.0721);
|
||||
|
||||
// // BT.709
|
||||
// vec3 lumCoeff = vec3(0.299, 0.587, 0.114);
|
||||
|
||||
// BT.2020
|
||||
vec3 lumCoeff = vec3(0.2627, 0.6780, 0.0593);
|
||||
|
||||
// // Warm NTSC
|
||||
// vec3 lumCoeff = vec3(0.2125, 0.7010, 0.0865);
|
||||
|
||||
float luminance = dot(color.rgb, lumCoeff);
|
||||
luminance = pow(luminance, 2.2);
|
||||
color.rgb = mix(vec3(luminance), color.rgb, saturation);
|
||||
color.rgb = mix(color.rgb, vec3(1.0), pow(max(0.0, luminance - 1.0 + bloom), 4.0));
|
||||
return color;
|
||||
}
|
||||
|
||||
vec4 applyVignette(vec4 color) {
|
||||
vec2 center = vec2(0.5, 0.5); // center of screen
|
||||
float radius = VIGNETTE_RADIUS; // radius of vignette effect
|
||||
float softness = 1.0; // softness of vignette effect
|
||||
float intensity = 0.7; // intensity of vignette effect
|
||||
vec2 offset = v_texcoord - center; // offset from center of screen
|
||||
float distance = length(offset); // distance from center of screen
|
||||
float alpha = smoothstep(radius, radius - radius * softness, distance) * intensity; // calculate alpha value for vignette effect
|
||||
return mix(vec4(0.0, 0.0, 0.0, alpha), color, alpha); // mix black with color using calculated alpha value
|
||||
}
|
||||
|
||||
vec4 applyPhosphorGlow(vec2 tc, vec4 color, sampler2D tex) {
|
||||
// Calculate average color value of the texture
|
||||
vec4 texelColor = color;
|
||||
float averageColor = (texelColor.r + texelColor.g + texelColor.b) / 3.0;
|
||||
|
||||
// Determine brightness-dependent color factor
|
||||
float factor = mix(
|
||||
mix(0.09,
|
||||
mix(0.005, 0.0075, (averageColor - 0.1) / 0.1),
|
||||
step(0.01, averageColor)), 0.0005,
|
||||
step(0.02, averageColor));
|
||||
// Apply phosphor glow effect
|
||||
vec4 sum = vec4(0.0);
|
||||
vec4 pixels[9];
|
||||
pixels[0] = texture2D(tex, tc - vec2(0.001, 0.001));
|
||||
pixels[1] = texture2D(tex, tc - vec2(0.001, 0.0));
|
||||
pixels[2] = texture2D(tex, tc - vec2(0.001, -0.001));
|
||||
pixels[3] = texture2D(tex, tc - vec2(0.0, 0.001));
|
||||
pixels[4] = texture2D(tex, tc);
|
||||
pixels[5] = texture2D(tex, tc + vec2(0.001, 0.001));
|
||||
pixels[6] = texture2D(tex, tc + vec2(0.001, 0.0));
|
||||
pixels[7] = texture2D(tex, tc + vec2(0.001, -0.001));
|
||||
pixels[8] = texture2D(tex, tc + vec2(0.0, 0.001));
|
||||
|
||||
// Perform operations on input pixels in parallel
|
||||
sum = pixels[0]
|
||||
+ pixels[1]
|
||||
+ pixels[2]
|
||||
+ pixels[3]
|
||||
+ pixels[4]
|
||||
+ pixels[5]
|
||||
+ pixels[6]
|
||||
+ pixels[7]
|
||||
+ pixels[8];
|
||||
sum /= 9.0;
|
||||
sum += texture2D(tex, tc - vec2(0.01, 0.01)) * 0.001;
|
||||
sum += texture2D(tex, tc - vec2(0.0, 0.01)) * 0.001;
|
||||
sum += texture2D(tex, tc - vec2(-0.01, 0.01)) * 0.001;
|
||||
sum += texture2D(tex, tc - vec2(0.01, 0.0)) * 0.001;
|
||||
sum += color * PHOSPHOR_BLUR_AMOUNT;
|
||||
sum += texture2D(tex, tc - vec2(-0.01, 0.0)) * 0.001;
|
||||
sum += texture2D(tex, tc - vec2(0.01, -0.01)) * 0.001;
|
||||
sum += texture2D(tex, tc - vec2(0.0, -0.01)) * 0.001;
|
||||
sum += texture2D(tex, tc - vec2(-0.01, -0.01)) * 0.001;
|
||||
sum *= PHOSPHOR_GLOW_AMOUNT;
|
||||
|
||||
// Initialize sum_sum_factor to zero
|
||||
vec4 sum_sum_factor = vec4(0.0);
|
||||
// Compute sum_j for i = -1
|
||||
vec4 sum_j = vec4(0.0);
|
||||
sum_j += texture2D(tex, tc + vec2(-1, -1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(0, -1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(1, -1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(-1, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(0, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(1, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(-1, 1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(1, 1) * 0.01);
|
||||
sum_sum_factor += sum_j * vec4(0.011);
|
||||
|
||||
// Compute sum_j for i = 0
|
||||
sum_j = vec4(0.0);
|
||||
sum_j += texture2D(tex, tc + vec2(-1, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(0, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(1, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(-1, 1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(1, 1) * 0.01);
|
||||
sum_sum_factor += sum_j * vec4(0.011);
|
||||
|
||||
// Compute sum_j for i = 1
|
||||
sum_j = vec4(0.0);
|
||||
sum_j += texture2D(tex, tc + vec2(-1, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(1, 0) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(-1, 1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(0, 1) * 0.01);
|
||||
sum_j += texture2D(tex, tc + vec2(1, 1) * 0.01);
|
||||
sum_sum_factor += sum_j * vec4(0.011);
|
||||
color += mix(sum_sum_factor * sum_sum_factor * vec4(factor), sum, 0.5);
|
||||
return color;
|
||||
}
|
||||
|
||||
vec4 applyAdaptiveSharpen(vec2 tc, vec4 color, sampler2D tex) {
|
||||
vec4 color_tl = texture2D(tex, tc + vec2(-1.0, -1.0) * 0.5 / 2160.0);
|
||||
vec4 color_tr = texture2D(tex, tc + vec2(1.0, -1.0) * 0.5 / 2160.0);
|
||||
vec4 color_bl = texture2D(tex, tc + vec2(-1.0, 1.0) * 0.5 / 2160.0);
|
||||
vec4 color_br = texture2D(tex, tc + vec2(1.0, 1.0) * 0.5 / 2160.0);
|
||||
float sharpness = SHARPNESS;
|
||||
vec3 color_no_alpha = color.rgb;
|
||||
vec3 color_tl_no_alpha = color_tl.rgb;
|
||||
vec3 color_tr_no_alpha = color_tr.rgb;
|
||||
vec3 color_bl_no_alpha = color_bl.rgb;
|
||||
vec3 color_br_no_alpha = color_br.rgb;
|
||||
float delta = (dot(color_no_alpha, vec3(0.333333)) + dot(color_tl_no_alpha, vec3(0.333333)) + dot(color_tr_no_alpha, vec3(0.333333)) + dot(color_bl_no_alpha, vec3(0.333333)) + dot(color_br_no_alpha, vec3(0.333333))) * 0.2 - dot(color_no_alpha, vec3(0.333333));
|
||||
vec3 sharp_color_no_alpha = color_no_alpha + min(vec3(0.0), vec3(delta * sharpness));
|
||||
vec4 sharp_color = vec4(sharp_color_no_alpha, color.a);
|
||||
return sharp_color;
|
||||
}
|
||||
|
||||
vec4 applyScanlines(vec2 tc, vec4 color) {
|
||||
float scanline = (cos(tc.y * SCANLINE_FREQUENCY + SCANLINE_TIME) *
|
||||
sin(tc.y * SCANLINE_FREQUENCY + SCANLINE_TIME)) * SCANLINE_THICKNESS;
|
||||
float alpha = clamp(1.0 - abs(scanline), 0.0, 1.0);
|
||||
return vec4(color.rgb * alpha, color.a);
|
||||
}
|
||||
|
||||
vec4 applyChromaticAberration(vec2 uv, vec4 color) {
|
||||
vec2 center = vec2(0.5, 0.5); // center of the screen
|
||||
vec2 offset = (uv - center) * CHROMATIC_ABERRATION_STRENGTH; // calculate the offset from the center
|
||||
|
||||
// apply lens distortion
|
||||
float rSquared = dot(offset, offset);
|
||||
float distortion = 1.0 + LENS_DISTORTION_AMOUNT * rSquared;
|
||||
vec2 distortedOffset = offset * distortion;
|
||||
|
||||
// apply chromatic aberration
|
||||
vec2 redOffset = vec2(distortedOffset.x * 1.00, distortedOffset.y * 1.00);
|
||||
vec2 blueOffset = vec2(distortedOffset.x * 1.00, distortedOffset.y * 1.00);
|
||||
|
||||
vec4 redColor = texture2D(tex, uv + redOffset);
|
||||
vec4 blueColor = texture2D(tex, uv + blueOffset);
|
||||
|
||||
vec4 result = vec4(redColor.r, color.g, blueColor.b, color.a);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
vec4 reduceGlare(vec4 color) {
|
||||
// Calculate the intensity of the color by taking the average of the RGB components
|
||||
float intensity = (color.r + color.g + color.b) / 3.0;
|
||||
// Set the maximum intensity that can be considered for glare
|
||||
float maxIntensity = 0.98;
|
||||
// Use smoothstep to create a smooth transition from no glare to full glare
|
||||
// based on the intensity of the color and the maximum intensity
|
||||
float glareIntensity = smoothstep(maxIntensity - 0.02, maxIntensity, intensity);
|
||||
// Set the amount of glare to apply to the color
|
||||
float glareAmount = 0.02;
|
||||
// Mix the original color with the reduced color that has glare applied to it
|
||||
vec3 reducedColor = mix(color.rgb, vec3(glareIntensity), glareAmount);
|
||||
// Return the reduced color with the original alpha value
|
||||
return vec4(reducedColor, color.a);
|
||||
}
|
||||
|
||||
// Apply a fake HDR effect to the input color.
|
||||
// Parameters:
|
||||
// - inputColor: the color to apply the effect to.
|
||||
// - brightness: the brightness of the image. Should be a value between 0 and 1.
|
||||
// - contrast: the contrast of the image. Should be a value between 0 and 1.
|
||||
// - saturation: the saturation of the image. Should be a value between 0 and 2.
|
||||
// - bloom: the intensity of the bloom effect. Should be a value between 0 and 1.
|
||||
vec4 applyFakeHDREffect(vec4 inputColor, float brightness, float contrast, float saturation, float bloom) {
|
||||
const float minBrightness = 0.0;
|
||||
const float maxBrightness = 1.0;
|
||||
const float minContrast = 0.0;
|
||||
const float maxContrast = 1.0;
|
||||
const float minSaturation = 0.0;
|
||||
const float maxSaturation = 2.0;
|
||||
const float minBloom = 0.0;
|
||||
const float maxBloom = 1.0;
|
||||
|
||||
// Check input parameters for validity
|
||||
if (brightness < minBrightness || brightness > maxBrightness) {
|
||||
return vec4(0.0, 0.0, 0.0, 1.0); // Return black with alpha of 1.0 to indicate error
|
||||
}
|
||||
if (contrast < minContrast || contrast > maxContrast) {
|
||||
return vec4(0.0, 0.0, 0.0, 1.0);
|
||||
}
|
||||
if (saturation < minSaturation || saturation > maxSaturation) {
|
||||
return vec4(0.0, 0.0, 0.0, 1.0);
|
||||
}
|
||||
if (bloom < minBloom || bloom > maxBloom) {
|
||||
return vec4(0.0, 0.0, 0.0, 1.0);
|
||||
}
|
||||
|
||||
// Apply brightness and contrast
|
||||
vec3 color = inputColor.rgb;
|
||||
color = (color - vec3(0.5)) * exp2(brightness * 10.0) + vec3(0.5);
|
||||
color = mix(vec3(0.5), color, pow(contrast * 4.0 + 1.0, 2.0));
|
||||
|
||||
// // NTSC
|
||||
// vec3 lumCoeff = vec3(0.2125, 0.7154, 0.0721);
|
||||
|
||||
// // BT.709
|
||||
// vec3 lumCoeff = vec3(0.299, 0.587, 0.114);
|
||||
|
||||
// // BT.2020
|
||||
// vec3 lumCoeff = vec3(0.2627, 0.6780, 0.0593);
|
||||
|
||||
// Warm NTSC
|
||||
vec3 lumCoeff = vec3(0.2125, 0.7010, 0.0865);
|
||||
|
||||
// Apply saturation
|
||||
float luminance = dot(color, lumCoeff);
|
||||
vec3 grey = vec3(luminance);
|
||||
color = mix(grey, color, saturation);
|
||||
|
||||
// Apply bloom effect
|
||||
float threshold = 1.0 - bloom;
|
||||
vec3 bloomColor = max(color - threshold, vec3(0.0));
|
||||
bloomColor = pow(bloomColor, vec3(2.0));
|
||||
bloomColor = mix(vec3(0.0), bloomColor, pow(min(luminance, threshold), 4.0));
|
||||
color += bloomColor;
|
||||
|
||||
return vec4(color, inputColor.a);
|
||||
}
|
||||
|
||||
vec4 bilateralFilter(sampler2D tex, vec2 uv, vec4 color, float sampleRadius, float noiseThreshold, float intensity) {
|
||||
vec4 filteredColor = vec4(0.0);
|
||||
float totalWeight = 0.0;
|
||||
|
||||
// Top-left pixel
|
||||
vec4 sample = texture2D(tex, uv + vec2(-1.0, -1.0));
|
||||
float dist = length(vec2(-1.0, -1.0));
|
||||
float colorDist = length(sample - color);
|
||||
float weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
// Top pixel
|
||||
sample = texture2D(tex, uv + vec2(0.0, -1.0));
|
||||
dist = length(vec2(0.0, -1.0));
|
||||
colorDist = length(sample - color);
|
||||
weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
// Top-right pixel
|
||||
sample = texture2D(tex, uv + vec2(1.0, -1.0));
|
||||
dist = length(vec2(1.0, -1.0));
|
||||
colorDist = length(sample - color);
|
||||
weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
// Left pixel
|
||||
sample = texture2D(tex, uv + vec2(-1.0, 0.0));
|
||||
dist = length(vec2(-1.0, 0.0));
|
||||
colorDist = length(sample - color);
|
||||
weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
// Center pixel
|
||||
sample = texture2D(tex, uv);
|
||||
dist = 0.0;
|
||||
colorDist = length(sample - color);
|
||||
weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
// Right pixel
|
||||
sample = texture2D(tex, uv + vec2(1.0, 0.0));
|
||||
dist = length(vec2(1.0, 0.0));
|
||||
colorDist = length(sample - color);
|
||||
weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
// Bottom-left pixel
|
||||
sample = texture2D(tex, uv + vec2(-1.0, 1.0));
|
||||
dist = length(vec2(-1.0, 1.0));
|
||||
colorDist = length(sample - color);
|
||||
weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
// Bottom pixel
|
||||
sample = texture2D(tex, uv + vec2(0.0, sampleRadius));
|
||||
dist = length(vec2(0.0, sampleRadius));
|
||||
colorDist = length(sample - color);
|
||||
weight = exp(-0.5 * (dist * dist + colorDist * colorDist * intensity) / (sampleRadius * sampleRadius));
|
||||
filteredColor += sample * weight;
|
||||
totalWeight += weight;
|
||||
|
||||
filteredColor /= totalWeight;
|
||||
return mix(color, filteredColor, step(noiseThreshold, length(filteredColor - color)));
|
||||
}
|
||||
|
||||
vec4 supersample(sampler2D tex, vec2 uv, float sampleRadius, float noiseThreshold, float intensity) {
|
||||
float radiusSq = sampleRadius * sampleRadius;
|
||||
vec2 poissonDisk;
|
||||
vec4 color = vec4(0.0);
|
||||
|
||||
float r1_0 = sqrt(0.0 / 16.0);
|
||||
float r2_0 = fract(1.0 / 3.0);
|
||||
float theta_0 = TWOPI * r2_0;
|
||||
poissonDisk = vec2(r1_0 * cos(theta_0), r1_0 * sin(theta_0));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_1 = sqrt(1.0 / 16.0);
|
||||
float r2_1 = fract(2.0 / 3.0);
|
||||
float theta_1 = TWOPI * r2_1;
|
||||
poissonDisk = vec2(r1_1 * cos(theta_1), r1_1 * sin(theta_1));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_2 = sqrt(2.0 / 16.0);
|
||||
float r2_2 = fract(3.0 / 3.0);
|
||||
float theta_2 = TWOPI * r2_2;
|
||||
poissonDisk = vec2(r1_2 * cos(theta_2), r1_2 * sin(theta_2));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_3 = sqrt(3.0 / 16.0);
|
||||
float r2_3 = fract(4.0 / 3.0);
|
||||
float theta_3 = TWOPI * r2_3;
|
||||
poissonDisk = vec2(r1_3 * cos(theta_3), r1_3 * sin(theta_3));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_4 = sqrt(4.0 / 16.0);
|
||||
float r2_4 = fract(5.0 / 3.0);
|
||||
float theta_4 = TWOPI * r2_4;
|
||||
poissonDisk = vec2(r1_4 * cos(theta_4), r1_4 * sin(theta_4));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_5 = sqrt(5.0 / 16.0);
|
||||
float r2_5 = fract(6.0 / 3.0);
|
||||
float theta_5 = TWOPI * r2_5;
|
||||
poissonDisk = vec2(r1_5 * cos(theta_5), r1_5 * sin(theta_5));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_6 = sqrt(6.0 / 16.0);
|
||||
float r2_6 = fract(7.0 / 3.0);
|
||||
float theta_6 = TWOPI * r2_6;
|
||||
poissonDisk = vec2(r1_6 * cos(theta_6), r1_6 * sin(theta_6));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_7 = sqrt(7.0 / 16.0);
|
||||
float r2_7 = fract(8.0 / 3.0);
|
||||
float theta_7 = TWOPI * r2_7;
|
||||
poissonDisk = vec2(r1_7 * cos(theta_7), r1_7 * sin(theta_7));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_8 = sqrt(8.0 / 16.0);
|
||||
float r2_8 = fract(9.0 / 3.0);
|
||||
float theta_8 = TWOPI * r2_8;
|
||||
poissonDisk = vec2(r1_8 * cos(theta_8), r1_8 * sin(theta_8));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_9 = sqrt(9.0 / 16.0);
|
||||
float r2_9 = fract(10.0 / 3.0);
|
||||
float theta_9 = TWOPI * r2_9;
|
||||
poissonDisk = vec2(r1_9 * cos(theta_9), r1_9 * sin(theta_9));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_10 = sqrt(10.0 / 16.0);
|
||||
float r2_10 = fract(11.0 / 3.0);
|
||||
float theta_10 = TWOPI * r2_10;
|
||||
poissonDisk = vec2(r1_10 * cos(theta_10), r1_10 * sin(theta_10));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_11 = sqrt(11.0 / 16.0);
|
||||
float r2_11 = fract(12.0 / 3.0);
|
||||
float theta_11 = TWOPI * r2_11;
|
||||
poissonDisk = vec2(r1_11 * cos(theta_11), r1_11 * sin(theta_11));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_12 = sqrt(12.0 / 16.0);
|
||||
float r2_12 = fract(13.0 / 3.0);
|
||||
float theta_12 = TWOPI * r2_12;
|
||||
poissonDisk = vec2(r1_12 * cos(theta_12), r1_12 * sin(theta_12));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_13 = sqrt(13.0 / 16.0);
|
||||
float r2_13 = fract(14.0 / 3.0);
|
||||
float theta_13 = TWOPI * r2_13;
|
||||
poissonDisk = vec2(r1_13 * cos(theta_13), r1_13 * sin(theta_13));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_14 = sqrt(14.0 / 16.0);
|
||||
float r2_14 = fract(15.0 / 3.0);
|
||||
float theta_14 = TWOPI * r2_14;
|
||||
poissonDisk = vec2(r1_14 * cos(theta_14), r1_14 * sin(theta_14));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
float r1_15 = sqrt(15.0 / 16.0);
|
||||
float r2_15 = fract(16.0 / 3.0);
|
||||
float theta_15 = TWOPI * r2_15;
|
||||
poissonDisk = vec2(r1_15 * cos(theta_15), r1_15 * sin(theta_15));
|
||||
color += texture2D(tex, uv + poissonDisk * sampleRadius);
|
||||
|
||||
return bilateralFilter(tex, uv, color, sampleRadius, noiseThreshold, intensity);
|
||||
}
|
||||
void main() {
|
||||
vec2 tc_no_dist = v_texcoord;
|
||||
|
||||
vec2 tc = applyBarrelDistortion(tc_no_dist, DISTORTION_AMOUNT);
|
||||
|
||||
// [-1, 1]
|
||||
vec2 tc_no_dist_symmetric = tc_no_dist * 2.0 - 1.0;
|
||||
|
||||
// [0,1]
|
||||
vec2 tc_no_dist_normalized = (tc_no_dist_symmetric + 1.0) / 2.0;
|
||||
|
||||
// vec4 color = texture2D(tex, tc);
|
||||
vec4 color = supersample(tex, tc, SAMPLING_RADIUS, NOISE_THRESHOLD, DENOISE_INTENSITY);
|
||||
|
||||
color = applyAdaptiveSharpen(tc, color, tex);
|
||||
|
||||
color = applyPhosphorGlow(tc, color, tex);
|
||||
|
||||
color = reduceGlare(color);
|
||||
|
||||
color = mix(applyFakeHDREffect(color, HDR_BRIGHTNESS, HDR_CONTRAST, HDR_SATURATION, HDR_BLOOM), color, 0.5);
|
||||
|
||||
color = applyColorCorrection(color);
|
||||
|
||||
color /= SUPERSAMPLING_SAMPLES;
|
||||
|
||||
color = mix(applyChromaticAberration(tc, color), color, 0.25);
|
||||
|
||||
color = mix(color, applyVignette(color), 0.37);
|
||||
|
||||
color = applyBorder(tc_no_dist_normalized, color, 1.0 - BORDER_SIZE * BORDER_RADIUS, BORDER_COLOR);
|
||||
|
||||
color = mix(applyBorder(tc, color, BORDER_SIZE, BORDER_COLOR), color, 0.05);
|
||||
|
||||
color = applyScanlines(tc, color);
|
||||
|
||||
gl_FragColor = color;
|
||||
gl_FragColor.a = 1.0;
|
||||
}
|
||||
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
|
||||
precision highp float;
|
||||
varying vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
uniform float time;
|
||||
|
||||
void warpco(inout vec2 tc) {
|
||||
tc -= 0.5;
|
||||
tc *= length(tc) * 2.0;
|
||||
tc += 0.5;
|
||||
}
|
||||
|
||||
float rand1d(float seed) {
|
||||
return sin(seed*1454.0);
|
||||
}
|
||||
|
||||
float rand2d(vec2 co)
|
||||
{
|
||||
return fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453);
|
||||
}
|
||||
|
||||
vec3 rgb(in vec2 tc, float freq, float amp, inout vec4 centre) {
|
||||
vec2 off = vec2(1.0/800.0, 0.0) * sin(tc.t * freq + time) * amp;
|
||||
vec2 off2 = vec2(1.0/800.0, 0.0) * sin(tc.t * freq - time * 1.5) * amp;
|
||||
centre = texture2D(tex, tc);
|
||||
return vec3(texture2D(tex, tc-off).r, centre.g, texture2D(tex, tc+off2).b);
|
||||
}
|
||||
|
||||
void main() {
|
||||
// vec2 px = 1.0 / textureSize(tex, 0).st;
|
||||
vec2 tc = v_texcoord;
|
||||
warpco(tc);
|
||||
tc = mix(v_texcoord, tc, sin(time * 2.0)*0.07);
|
||||
tc.x += rand2d(floor(tc * 20.0 + floor(time * 2.5))) * 0.01;
|
||||
tc.x += rand1d(floor(tc.x * 40.0)) * 0.005 * rand1d(time * 0.001);
|
||||
tc.y += sin(tc.x + time) * 0.02;
|
||||
vec4 centre;
|
||||
vec3 bent = rgb(tc, 100.0, 5.0, centre);
|
||||
vec3 col = mix(centre.rgb, bent, sin(time));
|
||||
gl_FragColor = vec4(col, centre.a);
|
||||
// gl_FragColor = vec4(texture2D(tex, v_texcoord));
|
||||
}
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
// vim: set ft=glsl:
|
||||
// blue light filter shader
|
||||
// values from https://reshade.me/forum/shader-discussion/3673-blue-light-filter-similar-to-f-lux
|
||||
|
||||
precision mediump float;
|
||||
varying vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
|
||||
void main() {
|
||||
|
||||
vec4 pixColor = texture2D(tex, v_texcoord);
|
||||
|
||||
// red
|
||||
pixColor[0] *= 0.7;
|
||||
// green
|
||||
pixColor[1] *= 0.6;
|
||||
// blue
|
||||
pixColor[2] *= 0.5;
|
||||
|
||||
gl_FragColor = pixColor;
|
||||
}
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
// vim: set ft=glsl:
|
||||
// blue light filter shader
|
||||
// values from https://reshade.me/forum/shader-discussion/3673-blue-light-filter-similar-to-f-lux
|
||||
|
||||
precision mediump float;
|
||||
varying vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
|
||||
void main() {
|
||||
|
||||
vec4 pixColor = texture2D(tex, v_texcoord);
|
||||
|
||||
gl_FragColor = pixColor;
|
||||
}
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
// -*- mode:c -*-
|
||||
precision lowp float;
|
||||
varying vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
|
||||
float distanceSquared(vec3 pixColor, vec3 solarizedColor) {
|
||||
vec3 distanceVector = pixColor - solarizedColor;
|
||||
return dot(distanceVector, distanceVector);
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec3 solarized[16];
|
||||
solarized[0] = vec3(0.,0.169,0.212);
|
||||
solarized[1] = vec3(0.027,0.212,0.259);
|
||||
solarized[2] = vec3(0.345,0.431,0.459);
|
||||
solarized[3] = vec3(0.396,0.482,0.514);
|
||||
solarized[4] = vec3(0.514,0.58,0.588);
|
||||
solarized[5] = vec3(0.576,0.631,0.631);
|
||||
solarized[6] = vec3(0.933,0.91,0.835);
|
||||
solarized[7] = vec3(0.992,0.965,0.89);
|
||||
solarized[8] = vec3(0.71,0.537,0.);
|
||||
solarized[9] = vec3(0.796,0.294,0.086);
|
||||
solarized[10] = vec3(0.863,0.196,0.184);
|
||||
solarized[11] = vec3(0.827,0.212,0.51);
|
||||
solarized[12] = vec3(0.424,0.443,0.769);
|
||||
solarized[13] = vec3(0.149,0.545,0.824);
|
||||
solarized[14] = vec3(0.165,0.631,0.596);
|
||||
solarized[15] = vec3(0.522,0.6,0.);
|
||||
|
||||
vec3 pixColor = vec3(texture2D(tex, v_texcoord));
|
||||
int closest = 0;
|
||||
float closestDistanceSquared = distanceSquared(pixColor, solarized[0]);
|
||||
for (int i = 1; i < 15; i++) {
|
||||
float newDistanceSquared = distanceSquared(pixColor, solarized[i]);
|
||||
if (newDistanceSquared < closestDistanceSquared) {
|
||||
closest = i;
|
||||
closestDistanceSquared = newDistanceSquared;
|
||||
}
|
||||
}
|
||||
gl_FragColor = vec4(solarized[closest], 1.);
|
||||
}
|
||||
Reference in New Issue
Block a user