commit 7ae1bea154058d823551d3adfb35a08b7ad51d79
parent 23a29027cd0ba43fce1f08ff80f2d85c884d121e
Author: Sven Möller <sven@svemoe.de>
Date: Sun, 5 Mar 2023 21:46:24 +0100
Add wayland config
Diffstat:
5 files changed, 679 insertions(+), 0 deletions(-)
diff --git a/foot/.config/foot/foot.ini b/foot/.config/foot/foot.ini
@@ -0,0 +1,195 @@
+# -*- conf -*-
+
+# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
+# term=foot (or xterm-256color if built with -Dterminfo=disabled)
+# login-shell=no
+
+# app-id=foot
+# title=foot
+# locked-title=no
+
+font=monospace:size=14, Noto Color Emoji:size=12
+# font-bold=<bold variant of regular font>
+# font-italic=<italic variant of regular font>
+# font-bold-italic=<bold+italic variant of regular font>
+# line-height=<font metrics>
+# letter-spacing=0
+# horizontal-letter-offset=0
+# vertical-letter-offset=0
+# underline-offset=<font metrics>
+# box-drawings-uses-font-glyphs=no
+# dpi-aware=auto
+
+# initial-window-size-pixels=700x500 # Or,
+# initial-window-size-chars=<COLSxROWS>
+# initial-window-mode=windowed
+# pad=2x2 # optionally append 'center'
+# resize-delay-ms=100
+
+# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
+
+# bold-text-in-bright=no
+# word-delimiters=,│`|:"'()[]{}<>
+# selection-target=primary
+# workers=<number of logical CPUs>
+
+[environment]
+# name=value
+
+[bell]
+urgent=yes
+# notify=no
+# command=
+# command-focused=no
+
+[scrollback]
+# lines=1000
+# multiplier=3.0
+# indicator-position=relative
+# indicator-format=
+
+[url]
+# launch=xdg-open ${url}
+# label-letters=sadfjklewcmpgh
+# osc8-underline=url-mode
+# protocols=http, https, ftp, ftps, file, gemini, gopher
+# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
+
+[cursor]
+# style=block
+# color=<inverse foreground/background>
+# blink=no
+# beam-thickness=1.5
+# underline-thickness=<font underline thickness>
+
+[mouse]
+# hide-when-typing=no
+# alternate-scroll-mode=yes
+
+[colors]
+alpha=0.8
+# foreground=dcdccc
+# background=111111
+
+## Normal/regular colors (color palette 0-7)
+# regular0=222222 # black
+# regular1=cc9393 # red
+# regular2=7f9f7f # green
+# regular3=d0bf8f # yellow
+# regular4=6ca0a3 # blue
+# regular5=dc8cc3 # magenta
+# regular6=93e0e3 # cyan
+# regular7=dcdccc # white
+
+## Bright colors (color palette 8-15)
+# bright0=666666 # bright black
+# bright1=dca3a3 # bright red
+# bright2=bfebbf # bright green
+# bright3=f0dfaf # bright yellow
+# bright4=8cd0d3 # bright blue
+# bright5=fcace3 # bright magenta
+# bright6=b3ffff # bright cyan
+# bright7=ffffff # bright white
+
+## dimmed colors (see foot.ini(5) man page)
+# dim0=<not set>
+# ...
+# dim7=<not-set>
+
+## The remaining 256-color palette
+# 16 = <256-color palette #16>
+# ...
+# 255 = <256-color palette #255>
+
+## Misc colors
+# selection-foreground=<inverse foreground/background>
+# selection-background=<inverse foreground/background>
+# jump-labels=<regular0> <regular3> # black-on-yellow
+# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
+# search-box-no-match=<regular0> <regular1> # black-on-red
+# search-box-match=<regular0> <regular3> # black-on-yellow
+# urls=<regular3>
+
+[csd]
+# preferred=server
+# size=26
+# font=<primary font>
+# color=<foreground color>
+# hide-when-typing=no
+# border-width=0
+# border-color=<csd.color>
+# button-width=26
+# button-color=<background color>
+# button-minimize-color=<regular4>
+# button-maximize-color=<regular2>
+# button-close-color=<regular1>
+
+[key-bindings]
+# scrollback-up-page=Shift+Page_Up
+# scrollback-up-half-page=none
+# scrollback-up-line=none
+# scrollback-down-page=Shift+Page_Down
+# scrollback-down-half-page=none
+# scrollback-down-line=none
+# clipboard-copy=Control+Shift+c XF86Copy
+# clipboard-paste=Control+Shift+v XF86Paste
+# primary-paste=Shift+Insert
+# search-start=Control+Shift+r
+# font-increase=Control+plus Control+equal Control+KP_Add
+# font-decrease=Control+minus Control+KP_Subtract
+# font-reset=Control+0 Control+KP_0
+# spawn-terminal=Control+Shift+n
+# minimize=none
+# maximize=none
+# fullscreen=none
+# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
+# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
+# pipe-selected=[xargs -r firefox] none
+# show-urls-launch=Control+Shift+u
+# show-urls-copy=none
+# show-urls-persistent=none
+# prompt-prev=Control+Shift+z
+# prompt-next=Control+Shift+x
+# unicode-input=none
+# noop=none
+
+[search-bindings]
+# cancel=Control+g Control+c Escape
+# commit=Return
+# find-prev=Control+r
+# find-next=Control+s
+# cursor-left=Left Control+b
+# cursor-left-word=Control+Left Mod1+b
+# cursor-right=Right Control+f
+# cursor-right-word=Control+Right Mod1+f
+# cursor-home=Home Control+a
+# cursor-end=End Control+e
+# delete-prev=BackSpace
+# delete-prev-word=Mod1+BackSpace Control+BackSpace
+# delete-next=Delete
+# delete-next-word=Mod1+d Control+Delete
+# extend-to-word-boundary=Control+w
+# extend-to-next-whitespace=Control+Shift+w
+# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
+# primary-paste=Shift+Insert
+# unicode-input=none
+
+[url-bindings]
+# cancel=Control+g Control+c Control+d Escape
+# toggle-url-visible=t
+
+[text-bindings]
+# \x03=Mod4+c # Map Super+c -> Ctrl+c
+
+[mouse-bindings]
+# selection-override-modifiers=Shift
+# primary-paste=BTN_MIDDLE
+# select-begin=BTN_LEFT
+# select-begin-block=Control+BTN_LEFT
+# select-extend=BTN_RIGHT
+# select-extend-character-wise=Control+BTN_RIGHT
+# select-word=BTN_LEFT-2
+# select-word-whitespace=Control+BTN_LEFT-2
+# select-row=BTN_LEFT-3
+
+# vim: ft=dosini
diff --git a/hyprland/.config/hypr/hyprland.conf b/hyprland/.config/hypr/hyprland.conf
@@ -0,0 +1,181 @@
+
+########################################################################################
+AUTOGENERATED HYPR CONFIG.
+PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
+OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
+########################################################################################
+
+#
+# Please note not all available settings / options are set here.
+# For a full list, see the wiki
+#
+
+# See https://wiki.hyprland.org/Configuring/Monitors/
+monitor=,preferred,auto,auto
+monitor=eDP-1,disabled
+
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+
+# Execute your favorite apps at launch
+# exec-once = waybar & hyprpaper & firefox
+exec-once = hyprpaper
+exec-once = waybar
+exec-once = mpDris2
+exec-once = dunst
+
+# Source a file (multi-file configs)
+# source = ~/.config/hypr/myColors.conf
+
+# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+input {
+ kb_layout = de
+ kb_variant =
+ kb_model =
+ kb_options = caps:escape_shifted_capslock
+ kb_rules =
+
+ numlock_by_default = true
+ 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 = 10
+ gaps_out = 20
+ border_size = 2
+ col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+ col.inactive_border = rgba(595959ee)
+
+ layout = master
+
+ cursor_inactive_timeout = 5
+ no_cursor_warps = true
+}
+
+decoration {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ rounding = 5
+ blur = yes
+ blur_size = 1
+ blur_passes = 1
+ blur_new_optimizations = on
+
+ 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 = fade, 1, 7, default
+ animation = workspaces, 1, 6, default
+}
+
+misc {
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+ enable_swallow = true
+ swallow_regex = ^(foot)$
+}
+
+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, ^(kitty)$
+# 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 SHIFT, space, exec, foot
+bind = $mainMod, C, killactive,
+bind = $mainMod, E, exec, dolphin
+bind = $mainMod, V, togglefloating,
+bind = $mainMod, R, exec, wofi --show drun
+bind = $mainMod, N, exec, bemenu-run --fn "Terminus 16"
+bind = $mainMod, J, togglesplit, # dwindle
+bind = $mainMod, space, layoutmsg, swapwithmaster master
+bind = $mainMod, tab, workspace, previous
+bind = , xf86homepage, exec, firefox
+bind = , xf86audiolowervolume, exec, pulsemixer --change-volume -2
+bind = , xf86audioraisevolume, exec, pulsemixer --change-volume 2
+bind = , xf86audiomute, exec, pulsemixer --toggle-mute
+bind = , xf86audioplay, exec, player toggle
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, h, splitratio, -0.05
+bind = $mainMod, l, splitratio, +0.05
+bind = $mainMod, j, layoutmsg, cyclenext
+bind = $mainMod, k, layoutmsg, cycleprev
+bind = $mainMod, i, layoutmsg, addmaster
+bind = $mainMod, d, layoutmsg, removemaster
+bind = $mainMod, f, fullscreen, 0
+bind = $mainMod, m, fullscreen, 1
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
+bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
+bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
+bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
+bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
+bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
+bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
+bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
+bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
+bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
+
+# 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
diff --git a/hyprpaper/.config/hypr/hyprpaper.conf b/hyprpaper/.config/hypr/hyprpaper.conf
@@ -0,0 +1,2 @@
+preload = ~/pictures/walls/strandkoerbe.jpg
+wallpaper = ,~/pictures/walls/strandkoerbe.jpg
diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config
@@ -0,0 +1,25 @@
+{
+ "layer": "top", // Waybar at top layer
+ "spacing": 0, // Gaps between modules (4px)
+
+ // Choose the order of the modules
+ "modules-left": ["wlr/workspaces"],
+ "modules-center": ["hyprland/window"],
+ "modules-right": ["clock"],
+
+ // Modules configuration
+
+ "wlr/workspaces": {
+ "on-click": "activate"
+ },
+
+ "hyprland/window": {
+ "on-click-middle": "hyprctl dispatch layoutmsg swapwithmaster master"
+ },
+
+ "clock": {
+ "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
+ "format-alt": "{:%Y-%m-%d}"
+ },
+}
+
diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css
@@ -0,0 +1,276 @@
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-family: Terminus;
+ font-size: 16px;
+}
+
+window#waybar {
+ background-color: rgba(11, 11, 11, 0.8);
+ border-bottom: 0px solid rgba(100, 114, 125, 0.5);
+ color: #ffffff;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+window#waybar.hidden {
+ opacity: 0.2;
+}
+
+/*
+window#waybar.empty {
+ background-color: transparent;
+}
+window#waybar.solo {
+ background-color: #FFFFFF;
+}
+*/
+
+window#waybar.termite {
+ background-color: #3F3F3F;
+}
+
+window#waybar.chromium {
+ background-color: #000000;
+ border: none;
+}
+
+button {
+ /* Use box-shadow instead of border so the text isn't offset */
+ box-shadow: inset 0 -3px transparent;
+ /* Avoid rounded borders under each button name */
+ border: none;
+ border-radius: 0;
+}
+
+/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+button:hover {
+ background: inherit;
+ box-shadow: inset 0 -3px #ffffff;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ background-color: transparent;
+ color: #ffffff;
+}
+
+#workspaces button:hover {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#workspaces button.active {
+ background-color: #64727D;
+ box-shadow: inset 0 -3px #ffffff;
+}
+
+#workspaces button.urgent {
+ background-color: #eb4d4b;
+}
+
+#mode {
+ background-color: #64727D;
+ border-bottom: 3px solid #ffffff;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#wireplumber,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#scratchpad,
+#mpd {
+ padding: 0 10px;
+ color: #ffffff;
+}
+
+#window,
+#workspaces {
+ margin: 0 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+#battery {
+ background-color: #ffffff;
+ color: #000000;
+}
+
+#battery.charging, #battery.plugged {
+ color: #ffffff;
+ background-color: #26A65B;
+}
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+label:focus {
+ background-color: #000000;
+}
+
+#cpu {
+ background-color: #2ecc71;
+ color: #000000;
+}
+
+#memory {
+ background-color: #9b59b6;
+}
+
+#disk {
+ background-color: #964B00;
+}
+
+#backlight {
+ background-color: #90b1b1;
+}
+
+#network {
+ background-color: #2980b9;
+}
+
+#network.disconnected {
+ background-color: #f53c3c;
+}
+
+#pulseaudio {
+ background-color: #f1c40f;
+ color: #000000;
+}
+
+#pulseaudio.muted {
+ background-color: #90b1b1;
+ color: #2a5c45;
+}
+
+#wireplumber {
+ background-color: #fff0f5;
+ color: #000000;
+}
+
+#wireplumber.muted {
+ background-color: #f53c3c;
+}
+
+#custom-media {
+ background-color: #66cc99;
+ color: #2a5c45;
+ min-width: 100px;
+}
+
+#custom-media.custom-spotify {
+ background-color: #66cc99;
+}
+
+#custom-media.custom-vlc {
+ background-color: #ffa000;
+}
+
+#temperature {
+ background-color: #f0932b;
+}
+
+#temperature.critical {
+ background-color: #eb4d4b;
+}
+
+#tray {
+ background-color: #2980b9;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+#idle_inhibitor {
+ background-color: #2d3436;
+}
+
+#idle_inhibitor.activated {
+ background-color: #ecf0f1;
+ color: #2d3436;
+}
+
+#mpd {
+ background-color: #66cc99;
+ color: #2a5c45;
+}
+
+#mpd.disconnected {
+ background-color: #f53c3c;
+}
+
+#mpd.stopped {
+ background-color: #90b1b1;
+}
+
+#mpd.paused {
+ background-color: #51a37a;
+}
+
+#language {
+ background: #00b093;
+ color: #740864;
+ padding: 0 5px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state {
+ background: #97e1ad;
+ color: #000000;
+ padding: 0 0px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state > label {
+ padding: 0 5px;
+}
+
+#keyboard-state > label.locked {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad.empty {
+ background-color: transparent;
+}