mirror of
https://github.com/GHOSCHT/dotfiles.git
synced 2024-12-26 19:30:36 +01:00
Add hyprland
This commit is contained in:
commit
733e20bcaf
5 changed files with 317 additions and 0 deletions
203
.config/hypr/hyprland.conf
Normal file
203
.config/hypr/hyprland.conf
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=DP-1,1920x1080@75,auto,auto
|
||||||
|
monitor=DP-3,2560x1440@144,auto,auto
|
||||||
|
monitor=,preferred,auto,auto
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
exec-once = hyprshade on ~/.config/hypr/shaders/nightlight.frag
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = hyprpaper
|
||||||
|
exec-once = razer-cli --dpi 400
|
||||||
|
exec-once = fcitx5 -d
|
||||||
|
exec-once = /usr/lib/polkit-kde-authentication-agent-1
|
||||||
|
exec-once = openrgb --server --profile default
|
||||||
|
exec-once = nextcloud --background
|
||||||
|
exec-once = electron-mail --ozone-platform-hint=auto
|
||||||
|
exec-once = dunst
|
||||||
|
exec-once = easyeffects --gapplication-service
|
||||||
|
exec-once = $HOME/.local/share/hyprload/hyprload.sh
|
||||||
|
exec-once = flatpak run io.github.spacingbat3.webcord --start-minimized
|
||||||
|
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
||||||
|
exec-once = wl-paste -p --watch wl-copy -pc
|
||||||
|
exec-once = signal-desktop --start-in-tray
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
source = ~/.config/hypr/mocha.conf
|
||||||
|
|
||||||
|
# Some default env vars.
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = GBM_BACKEND,nvidia-drm
|
||||||
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = WLR_NO_HARDWARE_CURSORS,1
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
hyprload {
|
||||||
|
debug = false
|
||||||
|
quiet = true
|
||||||
|
}
|
||||||
|
split-monitor-workspaces {
|
||||||
|
count = 9
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = de
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 5
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = $teal
|
||||||
|
col.inactive_border = $tealAlpha
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
vrr = true
|
||||||
|
vfr = true
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
# screen_shader = ~/.config/hypr/shaders/nightlight.frag
|
||||||
|
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
drop_shadow = yes
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
new_is_master = true
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||||
|
device:epic-mouse-v1 {
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
windowrule = float, ^(CopyQ)$
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, RETURN, exec, alacritty
|
||||||
|
bind = $mainMod, SPACE, exec, ~/.config/rofi/launchers/type-2/launcher.sh
|
||||||
|
bind = $mainMod, x, exec, ~/.config/rofi/powermenu/type-2/powermenu.sh
|
||||||
|
bind = SUPER_SHIFT, C, killactive,
|
||||||
|
bind = SUPER_SHIFT, Q, exit,
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, R, exec, wofi --show drun
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, O, split-changemonitorsilent,next
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, split-workspace, 1
|
||||||
|
bind = $mainMod, 2, split-workspace, 2
|
||||||
|
bind = $mainMod, 3, split-workspace, 3
|
||||||
|
bind = $mainMod, 4, split-workspace, 4
|
||||||
|
bind = $mainMod, 5, split-workspace, 5
|
||||||
|
bind = $mainMod, 6, split-workspace, 6
|
||||||
|
bind = $mainMod, 7, split-workspace, 7
|
||||||
|
bind = $mainMod, 8, split-workspace, 8
|
||||||
|
bind = $mainMod, 9, split-workspace, 9
|
||||||
|
bind = $mainMod, 0, split-workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
#bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
#bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Hyprload
|
||||||
|
bind=SUPERSHIFT,R,hyprload,reload
|
||||||
|
bind=SUPERSHIFT,U,hyprload,update
|
||||||
|
|
||||||
|
bind = SUPERSHIFT, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||||
|
bind = $mainMod, L, exec, librewolf
|
||||||
|
bind = $mainMod SHIFT, L, exec, librewolf --private-window
|
||||||
|
bind = , Print, exec, hyprshade off && grim -g "$(slurp -d)" - | convert - -shave 1x1 PNG:- | wl-copy && hyprshade on ~/.config/hypr/shaders/nightlight.frag
|
3
.config/hypr/hyprload.toml
Normal file
3
.config/hypr/hyprload.toml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
plugins = [
|
||||||
|
"Duckonaut/split-monitor-workspaces",
|
||||||
|
]
|
3
.config/hypr/hyprpaper.conf
Normal file
3
.config/hypr/hyprpaper.conf
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
preload = ~/.config/awesome/wallpapers/city.jpg
|
||||||
|
wallpaper = DP-1,~/.config/awesome/wallpapers/city.jpg
|
||||||
|
wallpaper = DP-3,~/.config/awesome/wallpapers/city.jpg
|
61
.config/hypr/mocha.conf
Normal file
61
.config/hypr/mocha.conf
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
$rosewaterAlpha = f5e0dc
|
||||||
|
$flamingoAlpha = f2cdcd
|
||||||
|
$pinkAlpha = f5c2e7
|
||||||
|
$mauveAlpha = cba6f7
|
||||||
|
$redAlpha = f38ba8
|
||||||
|
$maroonAlpha = eba0ac
|
||||||
|
$peachAlpha = fab387
|
||||||
|
$yellowAlpha = f9e2af
|
||||||
|
$greenAlpha = a6e3a1
|
||||||
|
$tealAlpha = 94e2d5
|
||||||
|
$skyAlpha = 89dceb
|
||||||
|
$sapphireAlpha = 74c7ec
|
||||||
|
$blueAlpha = 89b4fa
|
||||||
|
$lavenderAlpha = b4befe
|
||||||
|
|
||||||
|
$textAlpha = cdd6f4
|
||||||
|
$subtext1Alpha = bac2de
|
||||||
|
$subtext0Alpha = a6adc8
|
||||||
|
|
||||||
|
$overlay2Alpha = 9399b2
|
||||||
|
$overlay1Alpha = 7f849c
|
||||||
|
$overlay0Alpha = 6c7086
|
||||||
|
|
||||||
|
$surface2Alpha = 585b70
|
||||||
|
$surface1Alpha = 45475a
|
||||||
|
$surface0Alpha = 313244
|
||||||
|
|
||||||
|
$baseAlpha = 1e1e2e
|
||||||
|
$mantleAlpha = 181825
|
||||||
|
$crustAlpha = 11111b
|
||||||
|
|
||||||
|
$rosewater = 0xfff5e0dc
|
||||||
|
$flamingo = 0xfff2cdcd
|
||||||
|
$pink = 0xfff5c2e7
|
||||||
|
$mauve = 0xffcba6f7
|
||||||
|
$red = 0xfff38ba8
|
||||||
|
$maroon = 0xffeba0ac
|
||||||
|
$peach = 0xfffab387
|
||||||
|
$yellow = 0xfff9e2af
|
||||||
|
$green = 0xffa6e3a1
|
||||||
|
$teal = 0xff94e2d5
|
||||||
|
$sky = 0xff89dceb
|
||||||
|
$sapphire = 0xff74c7ec
|
||||||
|
$blue = 0xff89b4fa
|
||||||
|
$lavender = 0xffb4befe
|
||||||
|
|
||||||
|
$text = 0xffcdd6f4
|
||||||
|
$subtext1 = 0xffbac2de
|
||||||
|
$subtext0 = 0xffa6adc8
|
||||||
|
|
||||||
|
$overlay2 = 0xff9399b2
|
||||||
|
$overlay1 = 0xff7f849c
|
||||||
|
$overlay0 = 0xff6c7086
|
||||||
|
|
||||||
|
$surface2 = 0xff585b70
|
||||||
|
$surface1 = 0xff45475a
|
||||||
|
$surface0 = 0xff313244
|
||||||
|
|
||||||
|
$base = 0xff1e1e2e
|
||||||
|
$mantle = 0xff181825
|
||||||
|
$crust = 0xff11111b
|
47
.config/hypr/shaders/nightlight.frag
Normal file
47
.config/hypr/shaders/nightlight.frag
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
precision mediump float;
|
||||||
|
varying vec2 v_texcoord;
|
||||||
|
uniform sampler2D tex;
|
||||||
|
|
||||||
|
const float temperature = 3500.0;
|
||||||
|
const float temperatureStrength = 1.0;
|
||||||
|
|
||||||
|
#define WithQuickAndDirtyLuminancePreservation
|
||||||
|
const float LuminancePreservationFactor = 1.0;
|
||||||
|
|
||||||
|
// function from https://www.shadertoy.com/view/4sc3D7
|
||||||
|
// valid from 1000 to 40000 K (and additionally 0 for pure full white)
|
||||||
|
vec3 colorTemperatureToRGB(const in float temperature){
|
||||||
|
// values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693
|
||||||
|
mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690),
|
||||||
|
vec3(0.0, 1669.5803561666639, 2575.2827530017594),
|
||||||
|
vec3(1.0, 1.3302673723350029, 1.8993753891711275)) :
|
||||||
|
mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690),
|
||||||
|
vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594),
|
||||||
|
vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275));
|
||||||
|
return mix(
|
||||||
|
clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)),
|
||||||
|
vec3(1.0),
|
||||||
|
smoothstep(1000.0, 0.0, temperature)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec4 pixColor = texture2D(tex, v_texcoord);
|
||||||
|
|
||||||
|
// RGB
|
||||||
|
vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]);
|
||||||
|
|
||||||
|
#ifdef WithQuickAndDirtyLuminancePreservation
|
||||||
|
color *= mix(1.0,
|
||||||
|
dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5),
|
||||||
|
LuminancePreservationFactor);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength);
|
||||||
|
|
||||||
|
vec4 outCol = vec4(color, pixColor[3]);
|
||||||
|
|
||||||
|
gl_FragColor = outCol;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue