Add hyprland

This commit is contained in:
GHOSCHT 2023-10-09 14:22:12 +02:00
commit 733e20bcaf
No known key found for this signature in database
5 changed files with 317 additions and 0 deletions

203
.config/hypr/hyprland.conf Normal file
View 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

View file

@ -0,0 +1,3 @@
plugins = [
"Duckonaut/split-monitor-workspaces",
]

View 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
View 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

View 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;
}