diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..d6b8b86
--- /dev/null
+++ b/.config/hypr/hyprland.conf
@@ -0,0 +1,251 @@
+
+# #######################################################################################
+# 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.
+# #######################################################################################
+
+# This is an example Hyprland config file.
+# Refer to the wiki for more information.
+# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
+
+# Please note not all available settings / options are set here.
+# For a full list, see the wiki
+
+# You can split this configuration into multiple files
+# Create your files separately and then link them to this file like this:
+# source = ~/.config/hypr/myColors.conf
+
+###################
+### MY PROGRAMS ###
+###################
+
+# See https://wiki.hyprland.org/Configuring/Keywords/
+
+# Set programs that you use
+$terminal = kitty -e tmux
+$fileManager = pcmanfm
+$menu = wofi --show drun
+
+
+#################
+### AUTOSTART ###
+#################
+
+# Autostart necessary processes (like notifications daemons, status bars, etc.)
+# Or execute your favorite apps at launch like this:
+
+exec-once = $terminal
+exec-once = nm-applet &
+exec-once = waybar
+exec-once = copyq
+exec = kanshi
+exec = hyprpaper
+
+#############################
+### ENVIRONMENT VARIABLES ###
+#############################
+
+# See https://wiki.hyprland.org/Configuring/Environment-variables/
+
+env = XCURSOR_SIZE,24
+env = HYPRCURSOR_SIZE,24
+
+
+#####################
+### LOOK AND FEEL ###
+#####################
+
+# Refer to https://wiki.hyprland.org/Configuring/Variables/
+
+# https://wiki.hyprland.org/Configuring/Variables/#general
+general {
+ gaps_in = 5
+ gaps_out = 20
+
+ border_size = 2
+
+ # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
+ col.active_border = rgba(C90E6Fee) rgba(6A00DFee) 45deg
+ col.inactive_border = rgba(595959aa)
+
+ # Set to true enable resizing windows by clicking and dragging on borders and gaps
+ resize_on_border = false
+
+ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+ allow_tearing = false
+
+ layout = dwindle
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#decoration
+decoration {
+ rounding = 5
+
+ # Change transparency of focused and unfocused windows
+ active_opacity = 1.0
+ inactive_opacity = 1.0
+
+ drop_shadow = true
+ shadow_range = 4
+ shadow_render_power = 3
+ col.shadow = rgba(1a1a1aee)
+
+ # https://wiki.hyprland.org/Configuring/Variables/#blur
+ blur {
+ enabled = true
+ size = 3
+ passes = 1
+
+ vibrancy = 0.1696
+ }
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#animations
+animations {
+ enabled = true
+
+ # 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
+}
+
+# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+dwindle {
+ pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true # You probably want this
+}
+
+# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+master {
+ new_status = master
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#misc
+misc {
+ force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
+ disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
+}
+
+
+#############
+### INPUT ###
+#############
+
+# https://wiki.hyprland.org/Configuring/Variables/#input
+input {
+ kb_layout = ch
+ kb_variant = ,qwerty
+ kb_model =
+ kb_options =
+ kb_rules =
+
+ follow_mouse = 1
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+
+ touchpad {
+ natural_scroll = true
+ }
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#gestures
+gestures {
+ workspace_swipe = false
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
+device {
+ name = epic-mouse-v1
+ sensitivity = 0.5
+}
+
+
+####################
+### KEYBINDINGSS ###
+####################
+
+# See https://wiki.hyprland.org/Configuring/Keywords/
+$mainMod = SUPER # Sets "Windows" key as main modifier
+
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+bind = $mainMod, RETURN, exec, $terminal
+bind = SUPER_SHIFT, Q, killactive,
+bind = $mainMod, M, exit,
+bind = $mainMod, E, exec, $fileManager
+bind = SUPER_SHIFT, SPACE, togglefloating,
+bind = $mainMod, D, exec, $menu
+bind = $mainMod, P, exec, kanshi
+bind = $mainMod, S, togglesplit, # dwindle
+
+# 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
+
+bind = $mainMod, h, movefocus, l
+bind = $mainMod, l, movefocus, r
+bind = $mainMod, k, movefocus, u
+bind = $mainMod, j, movefocus, d
+
+# 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, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+# Example special workspace (scratchpad)
+bind = $mainMod, S, togglespecialworkspace, magic
+bind = $mainMod SHIFT, S, movetoworkspace, special:magic
+
+# 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
+
+bind = ALT_L, L, exec, hyprlock
+
+##############################
+### WINDOWS AND WORKSPACES ###
+##############################
+
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
+
+# Example windowrule v1
+# windowrule = float, ^(kitty)$
+
+# Example windowrule v2
+# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
+
+windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf
new file mode 100644
index 0000000..22c62af
--- /dev/null
+++ b/.config/hypr/hyprlock.conf
@@ -0,0 +1,67 @@
+source = $HOME/.config/hypr/macchiato.conf
+$mainMonitor = DP-5
+
+$accent = $mauve
+$accentAlpha = $mauveAlpha
+$font = JetBrainsMono Nerd Font
+
+# GENERAL
+general {
+ disable_loading_bar = true
+ hide_cursor = true
+}
+
+# BACKGROUND
+background {
+ monitor =
+ path = $HOME/.config/images/desktop/ultrawide_island.png
+ blur_passes = 0
+ color = $base
+}
+
+# TIME
+label {
+ monitor = $mainMonitor
+ text = $TIME
+ color = $overlay2
+ font_size = 90
+ font_family = $font
+ position = -30, 0
+ halign = right
+ valign = top
+}
+
+# DATE
+label {
+ monitor = $mainMonitor
+ text = cmd[update:43200000] date +"%A %d.%m.%Y"
+ color = $overlay2
+ font_size = 25
+ font_family = $font
+ position = -30, -150
+ halign = right
+ valign = top
+}
+
+# INPUT FIELD
+input-field {
+ monitor = $mainMonitor
+ size = 350, 60
+ outline_thickness = 2
+ dots_size = 0.15
+ dots_spacing = 0.22
+ dots_center = true
+ outer_color = $accent
+ inner_color = $surface0
+ font_color = $text
+ fade_on_empty = false
+ placeholder_text = Logged in as $USER
+ hide_input = false
+ check_color = $accent
+ fail_color = $red
+ fail_text = $FAIL ($ATTEMPTS)
+ capslock_color = $yellow
+ position = 0, -210
+ halign = center
+ valign = center
+}
diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf
new file mode 100644
index 0000000..29c4f64
--- /dev/null
+++ b/.config/hypr/hyprpaper.conf
@@ -0,0 +1,2 @@
+preload = /home/lorenz/.config/images/desktop/ultrawide_island.png
+wallpaper = , /home/lorenz/.config/images/desktop/ultrawide_island.png
diff --git a/.config/hypr/macchiato.conf b/.config/hypr/macchiato.conf
new file mode 100644
index 0000000..9e7071a
--- /dev/null
+++ b/.config/hypr/macchiato.conf
@@ -0,0 +1,78 @@
+
+$rosewater = rgb(f4dbd6)
+$rosewaterAlpha = f4dbd6
+
+$flamingo = rgb(f0c6c6)
+$flamingoAlpha = f0c6c6
+
+$pink = rgb(f5bde6)
+$pinkAlpha = f5bde6
+
+$mauve = rgb(c6a0f6)
+$mauveAlpha = c6a0f6
+
+$red = rgb(ed8796)
+$redAlpha = ed8796
+
+$maroon = rgb(ee99a0)
+$maroonAlpha = ee99a0
+
+$peach = rgb(f5a97f)
+$peachAlpha = f5a97f
+
+$yellow = rgb(eed49f)
+$yellowAlpha = eed49f
+
+$green = rgb(a6da95)
+$greenAlpha = a6da95
+
+$teal = rgb(8bd5ca)
+$tealAlpha = 8bd5ca
+
+$sky = rgb(91d7e3)
+$skyAlpha = 91d7e3
+
+$sapphire = rgb(7dc4e4)
+$sapphireAlpha = 7dc4e4
+
+$blue = rgb(8aadf4)
+$blueAlpha = 8aadf4
+
+$lavender = rgb(b7bdf8)
+$lavenderAlpha = b7bdf8
+
+$text = rgb(cad3f5)
+$textAlpha = cad3f5
+
+$subtext1 = rgb(b8c0e0)
+$subtext1Alpha = b8c0e0
+
+$subtext0 = rgb(a5adcb)
+$subtext0Alpha = a5adcb
+
+$overlay2 = rgb(939ab7)
+$overlay2Alpha = 939ab7
+
+$overlay1 = rgb(8087a2)
+$overlay1Alpha = 8087a2
+
+$overlay0 = rgb(6e738d)
+$overlay0Alpha = 6e738d
+
+$surface2 = rgb(5b6078)
+$surface2Alpha = 5b6078
+
+$surface1 = rgb(494d64)
+$surface1Alpha = 494d64
+
+$surface0 = rgb(363a4f)
+$surface0Alpha = 363a4f
+
+$base = rgb(24273a)
+$baseAlpha = 24273a
+
+$mantle = rgb(1e2030)
+$mantleAlpha = 1e2030
+
+$crust = rgb(181926)
+$crustAlpha = 181926
diff --git a/.config/i3/config b/.config/i3/config
index e8c868f..6ae330e 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -227,7 +227,7 @@ exec_always picom --experimental-backends -b
exec_always copyq
exec_always --no-startup-id dunst
bindsym $mod+v exec copyq toggle
-bindsym $mod+c exec "flatpak run com.github.rajsolai.textsnatcher"
+bindsym $mod+c exec com.github.rajsolai.textsnatcher
gaps inner 15
gaps outer 5
diff --git a/.config/images/desktop/ultrawide_island.png b/.config/images/desktop/ultrawide_island.png
new file mode 100644
index 0000000..2f60a15
Binary files /dev/null and b/.config/images/desktop/ultrawide_island.png differ
diff --git a/.config/images/pfp/gopher.png b/.config/images/pfp/gopher.png
new file mode 100644
index 0000000..27ae6ea
Binary files /dev/null and b/.config/images/pfp/gopher.png differ
diff --git a/.config/kanshi/config b/.config/kanshi/config
new file mode 100644
index 0000000..6158c5e
--- /dev/null
+++ b/.config/kanshi/config
@@ -0,0 +1,9 @@
+profile {
+ output eDP-1 disable
+ output DP-5 mode 1920x1080 position 0,0
+ output DP-7 mode 1920x1080 position 1920,0
+}
+
+profile {
+ output eDP-1 mode 1280x720 position 0,0
+}
diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini
index 1a5e3a5..07893bd 100644
--- a/.config/polybar/config.ini
+++ b/.config/polybar/config.ini
@@ -186,8 +186,7 @@ label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
type = internal/date
interval = 1
-date = " %d.%m.%Y %H:%M:%S"
-date-alt = %Y-%m-%d %H:%M:%S
+date = " %d.%m.%Y W %W %H:%M:%S"
label = %date%
label-foreground = ${colors.primary}
diff --git a/.config/waybar/config b/.config/waybar/config
new file mode 100644
index 0000000..1b81ec5
--- /dev/null
+++ b/.config/waybar/config
@@ -0,0 +1,78 @@
+{
+ "layer": "top",
+ "position": "top",
+ "height": 24,
+ "spacing": 4,
+ "modules-left": [
+ "hyprland/workspaces",
+ "hyprland/submap",
+ ],
+ "modules-center": [
+ "sway/window"
+ ],
+ "modules-right": [
+ "pulseaudio",
+ "cpu",
+ "memory",
+ "battery",
+ "clock",
+ "tray",
+ "custom/power"
+ ],
+ "hyprland/workspaces": {
+ "all-outputs": false,
+ "format": "{name}",
+ },
+ "hyprland/submap": {
+ "format": "{}"
+ },
+ "clock": {
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format" : "{:%d.%m.%Y %T}",
+ "interval" : 1
+ },
+ "cpu": {
+ "format": "{usage}% ",
+ "tooltip": false
+ },
+ "memory": {
+ "format": "{}% "
+ },
+ "battery": {
+ "states": {
+ "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% ",
+ "format-plugged": "{capacity}% ",
+ "format-icons": ["", "", "", "", ""]
+ },
+ },
+ "pulseaudio": {
+ "format": "{volume}% {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "default": ["", "", ""]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/power": {
+ "format" : "⏻ ",
+ "tooltip": false,
+ "menu": "on-click",
+ "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
+ "menu-actions": {
+ "shutdown": "shutdown",
+ "reboot": "reboot",
+ "suspend": "systemctl suspend",
+ "hibernate": "systemctl hibernate"
+ }
+ }
+}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..6812b23
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,327 @@
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-family: NerdFont, Roboto, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ }
+
+ window#waybar {
+ background-color: rgba(43, 48, 59, 0.5);
+ border-bottom: 3px 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;
+}
+
+/* you can set a style on hover for any module like this */
+#pulseaudio:hover {
+ background-color: #a37800;
+}
+
+#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;
+ box-shadow: inset 0 -3px #ffffff;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#wireplumber,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#scratchpad,
+#power-profiles-daemon,
+#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;
+}
+
+#clock {
+ background-color: #64727D;
+}
+
+#battery {
+ background-color: #ffffff;
+ color: #000000;
+}
+
+#battery.charging, #battery.plugged {
+ color: #ffffff;
+ background-color: #26A65B;
+}
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+}
+
+/* Using steps() instead of linear as a timing function to limit cpu usage */
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: steps(12);
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+#power-profiles-daemon {
+ padding-right: 15px;
+}
+
+#power-profiles-daemon.performance {
+ background-color: #f53c3c;
+ color: #ffffff;
+}
+
+#power-profiles-daemon.balanced {
+ background-color: #2980b9;
+ color: #ffffff;
+}
+
+#power-profiles-daemon.power-saver {
+ background-color: #2ecc71;
+ color: #000000;
+}
+
+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;
+}
+
+#privacy {
+ padding: 0;
+}
+
+#privacy-item {
+ padding: 0 5px;
+ color: white;
+}
+
+#privacy-item.screenshare {
+ background-color: #cf5700;
+}
+
+#privacy-item.audio-in {
+ background-color: #1ca000;
+}
+
+#privacy-item.audio-out {
+ background-color: #0069d4;
+}