commit eff55d413cc15f5f85577f61eea515a4381f5e57
parent 5e703312a2fe0c2429034fbfbc38075fd4a30b6a
Author: JayVii <jayvii[AT]posteo[DOT]de>
Date: Wed, 19 Jun 2024 21:34:03 +0200
feat: add wayfire configuration
Diffstat:
13 files changed, 1113 insertions(+), 0 deletions(-)
diff --git a/wayfire/.config/waybar/README b/wayfire/.config/waybar/README
@@ -0,0 +1,2 @@
+Configs are taken and adapted from:
+https://github.com/aMir733/dotfiles/tree/wayfire/.config/waybar
diff --git a/wayfire/.config/waybar/config b/wayfire/.config/waybar/config
@@ -0,0 +1,127 @@
+{
+ "layer": "top",
+ "position": "top",
+ "height": 24,
+ "spacing": 4,
+ "margin-top": 5,
+ "margin-bottom": 10,
+
+ // Choose the order of the modules
+
+ "modules-left":["custom/launcher", "wlr/workspaces", "wlr/taskbar"],
+ "modules-right":["custom/snip", "pulseaudio", "cpu", "memory", "temperature", "backlight", "battery", "battery#bat2", "network", "tray", "clock", "custom/power"],
+
+ // Modules configuration
+
+ "wlr/taskbar": {
+ "format": "{icon}",
+ "icon-size": 20,
+ "icon-theme": "Adwaita",
+ "tooltip-format": "{title}",
+ "on-click": "activate",
+ "on-click-middle": "",
+ "on-click-right": "minimize"
+ },
+ "wlr/workspaces": {
+ "format": "{name}: {icon}",
+ "format-icons": {
+ "1": "",
+ "2": "",
+ "3": "",
+ "4": "",
+ "5": "",
+ "focused": "",
+ "default": ""
+ },
+ "sort-by-number": true
+ },
+ "tray": {
+ "icon-size": 20,
+ "spacing": 10
+ },
+ "clock": {
+ "timezone": "Europe/Berlin",
+ "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
+ "format": "{:%a %d %b %H:%M}",
+ "format-alt": "{:%c}"
+ },
+ "cpu": {
+ "format": "{usage}% ⚡",
+ "on-click": "qps"
+ // "tooltip": false
+ },
+ "memory": {
+ "format": "{}% 💾",
+ "on-click": "qps"
+ },
+ "temperature": {
+ "thermal-zone": 2,
+ // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
+ "critical-threshold": 60,
+ // "format-critical": "{temperatureC}°C {icon}",
+ "format": "{temperatureC}°C 🔥",
+ },
+ "backlight": {
+ // "device": "acpi_video1",
+ "format": "{percent}% 💡"
+ },
+ "battery": {
+ "states": {
+ "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{capacity}% 🪫",
+ "format-charging": "{capacity}% 🔌",
+ "format-plugged": "{capacity}% 🔌",
+ "tooltip-format": "{time}",
+ "format-good": "{capacity}% 🔋",
+ "format-full": "{capacity}% 🔋",
+ },
+ "battery#bat2": {
+ "bat": "BAT2"
+ },
+ "network": {
+ // "interface": "wlp2*", // (Optional) To force the use of this interface
+ "format-wifi": "{essid} ({signalStrength}%)",
+ "format-ethernet": "Connected 🖧",
+ "tooltip-format": "{ifname} via {gwaddr} 🖧",
+ "format-linked": "{ifname} (No IP) 🖧",
+ "format-disconnected": "Disconnected ⚠",
+ "on-click": "nm-connection-editor"
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{volume}% 🔊",
+ "format-bluetooth": "{volume}% 🔊",
+ "format-bluetooth-muted": "{icon} {format_source}",
+ "format-muted": "{volume}% {format_source}",
+ "format-source": "🔇",
+ "format-source-muted": "🔇",
+ "format-icons": {
+ "headphone": "🎧",
+ "hands-free": "🎧",
+ "headset": "🎧",
+ "phone": "📞",
+ "portable": "📞",
+ "car": "🚗",
+ "default": ["🔇"]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/launcher":{
+ "format": "🐧",
+ "tooltip-format": "Applications",
+ "on-click": "wofi",
+ "on-click-right": "killall wofi"
+ },
+ "custom/power":{
+ "format": "⏻ ",
+ "on-click": "wlogout",
+ "on-click-right": "killall wlogout"
+ },
+ "custom/snip":{
+ "format": "✂",
+ "on-click": "slurp | grim -g - ~/Bilder/Screenshots/$(date '+%Y_%m_%d_%H_%M_%S').png"
+ }
+}
diff --git a/wayfire/.config/waybar/gaps b/wayfire/.config/waybar/gaps
@@ -0,0 +1,12 @@
+[{
+ "layer": "top",
+ "position": "left",
+},
+{
+ "layer": "top",
+ "position": "right",
+},
+{
+ "layer": "top",
+ "position": "bottom",
+}]
diff --git a/wayfire/.config/waybar/gaps.css b/wayfire/.config/waybar/gaps.css
@@ -0,0 +1,5 @@
+* {
+ background: transparent;
+ min-width: 10px;
+ min-height: 10px;
+}
diff --git a/wayfire/.config/waybar/modules/audio-output.sh b/wayfire/.config/waybar/modules/audio-output.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+CURRENT=$(wpctl status | sed -n '/^Audio$/,/Sink endpoints:$/p' | sed -n '/\[vol: .*\]/p' | grep '*')
+check_current () { if echo "$CURRENT" | grep -i "$1" &>/dev/null ; then echo true ; fi ; }
+
+case true in
+ "$(check_current "HDMI")") echo '{"text": "HDMI", "alt": "hdmi"}' | jq --unbuffered --compact-output ;;
+ "$(check_current "Wireless")") echo '{"text": "Headphone", "alt": "headphone"}' | jq --unbuffered --compact-output ;;
+ "$(check_current "Galaxy buds")") echo '{"text": "Galaxy Buds", "alt": "buds"}' | jq --unbuffered --compact-output ;;
+ *) echo '{"text": "??", "alt": "others"}' | jq --unbuffered --compact-output ;;
+esac
diff --git a/wayfire/.config/waybar/modules/audio-volume.sh b/wayfire/.config/waybar/modules/audio-volume.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+VOLUME=`echo "$(get-volume)*100" | bc | cut -d'.' -f1`
+echo '{"percentage": '$VOLUME'}' | jq --unbuffered --compact-output
diff --git a/wayfire/.config/waybar/modules/audio.sh b/wayfire/.config/waybar/modules/audio.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+CURRENT=$(wpctl status | sed -n '/^Audio$/,/Sink endpoints:$/p' | sed -n '/\[vol: .*\]/p' | grep '*')
+VOLUME=`echo "$(get-volume)*100" | bc | cut -d'.' -f1`
+
+if echo "$CURRENT" | grep -i "HDMI" &>/dev/null ; then
+ echo '{"text": "'$VOLUME'", "alt": "hdmi"}' | jq --unbuffered --compact-output
+elif echo "$CURRENT" | grep "Wireless" &>/dev/null ; then
+ echo '{"text": "'$VOLUME'", "alt": "headphone"}' | jq --unbuffered --compact-output
+elif echo "$CURRENT" | grep "Galaxy Buds" &>/dev/null ; then
+ # "percentage": '$(buds_battery.py A8:87:B3:01:80:07 | tr ',' '\n' | sort -n | head -n 1 || echo 1)'
+ echo '{"text": "'$VOLUME'", "alt": "buds"}' | jq --unbuffered --compact-output
+else
+ echo '{"text": "'$VOLUME'", "alt": "other"}' | jq --unbuffered --compact-output
+fi
diff --git a/wayfire/.config/waybar/style.css b/wayfire/.config/waybar/style.css
@@ -0,0 +1,293 @@
+* {
+ border: none;
+ border-radius: 5px;
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-family: Roboto, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ min-height: 0;
+}
+
+window#waybar {
+ background-color: transparent;
+ color: #ffffff;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+window#waybar.hidden {
+ opacity: 0.2;
+}
+
+
+#workspaces button {
+ background: #1f1f1f;
+ color: #ffffff;
+ border-radius: 20px;
+
+}
+
+/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+#workspaces button:hover {
+ background: lightblue;
+ color: black;
+ border-bottom: 3px solid #ffffff;
+
+}
+
+#workspaces button.focused {
+ background: #1f1f1f;
+}
+
+#workspaces button.focused:hover {
+ background: lightblue;
+ color: black;
+ border-bottom: 3px solid #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,
+#custom-media,
+#custom-launcher,
+#custom-power,
+#custom-layout,
+#custom-updater,
+#custom-snip,
+#taskbar,
+#tray,
+#mode,
+#idle_inhibitor,
+#mpd {
+ padding: 0 10px;
+ color: #ffffff;
+}
+
+#window,
+#workspaces {
+ margin: 0px 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0px;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0px;
+}
+
+#clock {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#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: #171717;
+ color: #ffffff;
+}
+
+#memory {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#disk {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#backlight {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#network {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#network.disconnected {
+ background-color: #171717;
+ color: red;
+}
+
+#pulseaudio {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#pulseaudio.muted {
+ background-color: #171717;
+ color: red;
+}
+
+#custom-media {
+ background-color: #8EC5FC;
+ background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%);
+ color: black;
+ border-radius: 20px;
+ margin-right: 5px;
+ margin-left: 5px;
+}
+
+#custom-media.custom-spotify {
+ background-color: #8EC5FC;
+ background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%);
+ color: black;
+ border-radius: 20px;
+ margin-right: 5px;
+
+}
+
+#custom-media.custom-vlc {
+ background-color: #8EC5FC;
+ background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%);
+ color: black;
+ border-radius: 20px;
+ margin-right: 5px;
+}
+
+#custom-power{
+ background-color: #171717;
+ font-size: 18px;
+ border-radius: 0px 20px 20px 0px;
+ margin-right: 5px;
+}
+
+#custom-launcher{
+ background-color: #171717;
+ font-size: 20px;
+ border-radius: 20px 0px 0px 20px;
+ margin-left: 5px;
+
+}
+
+#custom-layout{
+ background-color: #171717;
+ color: white;
+ font-size:20px;
+}
+
+#custom-updater {
+ background-color: #171717;
+ color: white;
+}
+
+#custom-snip {
+ background-color: #171717;
+ color: skyblue;
+ font-size: 20px;
+}
+
+
+#taskbar{
+ background-color: #171717;
+ border-radius: 0px 20px 20px 0px;
+}
+
+#temperature {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#temperature.critical {
+ background-color: #eb4d4b;
+}
+
+#tray {
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #171717;
+ color: #ffffff;
+}
+
+#idle_inhibitor {
+ background-color: #171717;
+ border-radius: 20px 0px 0px 20px;
+
+}
+
+#idle_inhibitor.activated {
+ background-color: #171717;
+ color: #ffffff;
+ border-radius: 20px 0px 0px 20px;
+
+}
+
+#language {
+ background-color: #171717;
+ color: #ffffff;
+ min-width: 16px;
+}
+
+#keyboard-state {
+ background: #97e1ad;
+ color: #000000;
+ min-width: 16px;
+}
+
+#keyboard-state > label {
+ padding: 0px 5px;
+}
+
+#keyboard-state > label.locked {
+ background: rgba(0, 0, 0, 0.2);
+}
diff --git a/wayfire/.config/wayfire.ini b/wayfire/.config/wayfire.ini
@@ -0,0 +1,481 @@
+[alpha]
+min_value = 0.100000
+modifier = <alt> <super>
+
+[animate]
+close_animation = zoom
+duration = 400
+enabled_for = (type equals "toplevel" | (type equals "x-or" & focusable equals true))
+fade_duration = 400
+fade_enabled_for = type equals "overlay"
+fire_color = \#B22303FF
+fire_duration = 300
+fire_enabled_for = none
+fire_particle_size = 16.000000
+fire_particles = 2000
+open_animation = fade
+random_fire_color = false
+startup_duration = 600
+zoom_duration = 500
+zoom_enabled_for = none
+
+[annotate]
+clear_workspace = <alt> <super> KEY_C
+draw = <alt> <super> BTN_LEFT
+from_center = true
+line_width = 3.000000
+method = draw
+stroke_color = \#FF0000FF
+
+[autorotate-iio]
+lock_rotation = false
+rotate_down = <ctrl> <super> KEY_DOWN
+rotate_left = <ctrl> <super> KEY_LEFT
+rotate_right = <ctrl> <super> KEY_RIGHT
+rotate_up = <ctrl> <super> KEY_UP
+
+[autostart]
+autostart_wf_shell = true
+background = ~/.azotebg
+gamma = wlsunset
+idle = swayidle before-sleep swaylock
+notifications = mako
+outputs = kanshi
+portal = /usr/libexec/xdg-desktop-portal
+startup = ~/.startup.sh
+
+[background-view]
+# command = mpv --loop=inf --no-osc --cursor-autohide=no
+# file = /home/amir/Pictures/wallpapers/calm-sea-fishing-water-ripples-4k-live-wallpaper.mp4
+#command = swaybg --mode fit --image /home/jan/Bilder/Wallpaper/02.png
+
+[bench]
+average_frames = 1
+frames_per_update = 3
+position = top_center
+
+[blur]
+blur_by_default = all
+bokeh_degrade = 1
+bokeh_iterations = 15
+bokeh_offset = 5.000000
+box_degrade = 1
+box_iterations = 2
+box_offset = 1.000000
+gaussian_degrade = 1
+gaussian_iterations = 2
+gaussian_offset = 1.000000
+kawase_degrade = 8
+kawase_iterations = 2
+kawase_offset = 2.000000
+method = kawase
+mode = normal
+saturation = 1.000000
+toggle = none
+
+[command]
+binding_launcher = <super> KEY_D
+binding_lock = <super> KEY_L
+binding_logout = <super> <shift> KEY_L
+binding_mute = KEY_MUTE
+binding_screenshot = KEY_27
+binding_screenshot_interactive = <super> KEY_27
+binding_terminal = <super> KEY_T
+command_launcher = wofi
+command_light_down = ~/.local/bin/brightness.sh "dec" 5
+command_light_up = ~/.local/bin/brightness.sh "inc" 5
+command_lock = swaylock
+command_logout = wlogout
+command_mute = pactl set-sink-mute @DEFAULT_SINK@ toggle
+command_screenshot = grim ~/Bilder/Screenshots/$(date '+%Y_%m_%d_%H_%M_%S').png && notify-send "Screenshot taken" "~/Bilder/Screenshots/$(date '+%Y_%m_%d_%H_%M_%S').png"
+command_screenshot_interactive = slurp | grim -g - ~/Bilder/Screenshots/$(date '+%Y_%m_%d_%H_%M_%S').png && notify-send "Screenshot taken" "~/Bilder/Screenshots/$(date '+%Y_%m_%d_%H_%M_%S').png"
+command_terminal = foot --maximize
+command_volume_down = pactl set-sink-volume @DEFAULT_SINK@ -5%
+command_volume_up = pactl set-sink-volume @DEFAULT_SINK@ +5%
+command_input_mute = pactl set-source-mute @DEFAULT_SOURCE@ toggle
+repeatable_binding_light_down = KEY_BRIGHTNESSDOWN
+repeatable_binding_light_up = KEY_BRIGHTNESSUP
+repeatable_binding_volume_down = KEY_VOLUMEDOWN
+repeatable_binding_volume_up = KEY_VOLUMEUP
+repeatable_binding_input_mute = KEY_F20
+binding_nulla = <super> KEY_1
+binding_nullb = <super> KEY_2
+binding_nullc = <super> KEY_3
+binding_nulld = <super> KEY_4
+binding_nulle = <super> KEY_5
+binding_nullf = <super> KEY_6
+binding_nullg = <super> KEY_7
+binding_nullh = <super> KEY_8
+binding_nulli = <super> KEY_9
+binding_nullj = <super> KEY_0
+command_nulla = wtype -d 500 -k Super_L -k 1
+command_nullb = wtype -d 500 -k Super_L -k 2
+command_nullc = wtype -d 500 -k Super_L -k 3
+command_nulld = wtype -d 500 -k Super_L -k 4
+command_nulle = wtype -d 500 -k Super_L -k 5
+command_nullf = wtype -d 500 -k Super_L -k 6
+command_nullg = wtype -d 500 -k Super_L -k 7
+command_nullh = wtype -d 500 -k Super_L -k 8
+command_nulli = wtype -d 500 -k Super_L -k 9
+command_nullj = wtype -d 500 -k Super_L -k 0
+
+[core]
+background_color = \#1A1A1AFF
+close_top_view = <super> KEY_Q | <alt> KEY_F4
+focus_button_with_modifiers = false
+focus_buttons = BTN_LEFT | BTN_MIDDLE | BTN_RIGHT
+focus_buttons_passthrough = true
+max_render_time = -1
+plugins = alpha animate autostart command cube expo fast-switcher grid idle move place resize switcher vswitch window-rules zoom preserve-output force-fullscreen blur rounded-corners firedecor follow-focus
+preferred_decoration_mode = client
+transaction_timeout = 100
+vheight = 2
+vwidth = 3
+xwayland = false
+
+[crosshair]
+line_color = \#FF0000FF
+line_width = 2
+
+[cube]
+activate = <super> <ctrl> BTN_LEFT
+background = \#1A1A1AFF
+background_mode = simple
+cubemap_image =
+deform = 0
+initial_animation = 350
+light = true
+rotate_left = none
+rotate_right = none
+skydome_mirror = true
+skydome_texture =
+speed_spin_horiz = 0.020000
+speed_spin_vert = 0.020000
+speed_zoom = 0.070000
+zoom = 0.100000
+
+[decoration]
+active_color = \#4D4D4DFF
+border_size = 20
+button_order = minimize close
+font = DejaVu Sans
+ignore_views = app_id is "foot"
+inactive_color = \#333333DD
+title_height = 25
+
+[expo]
+background = \#1A1A1AFF
+duration = 300
+inactive_brightness = 0.700000
+keyboard_interaction = true
+offset = 10
+select_workspace_1 = KEY_1
+select_workspace_2 = KEY_2
+select_workspace_3 = KEY_3
+select_workspace_4 = KEY_4
+select_workspace_5 = KEY_5
+select_workspace_6 = KEY_6
+select_workspace_7 = KEY_7
+select_workspace_8 = KEY_8
+select_workspace_9 = KEY_9
+toggle = <super> | hotspot left-top 1x1 200
+transition_length = 200
+
+[extra-gestures]
+close_fingers = 20
+move_delay = 500
+move_fingers = 3
+
+[fast-switcher]
+activate = <alt> BTN_LEFT
+activate_backward = <alt> <shift> KEY_ESC
+inactive_alpha = 0.700000
+
+[firedecor]
+active_accent = \#FFFFFFFF
+active_border = \#222222AA
+active_outline = \#000000FF
+active_title = \#FFFFFFFF
+border_size = 30 0
+button_size = 20
+button_style = firedecor
+corner_radius = 5
+debug_mode = false
+extra_themes =
+font = JetBrains Mono
+font_size = 20
+icon_size = 20
+icon_theme = hicolor
+ignore_views = none
+inactive_accent = \#FFFFFFFF
+inactive_border = \#333333DD
+inactive_buttons = false
+inactive_outline = \#000000FF
+inactive_title = \#FFFFFFFF
+layout = P5 title | | minimize P5 close P5 -
+outline_size = 0
+padding_size = 2
+round_on = all
+
+[fisheye]
+radius = 450.000000
+toggle = <ctrl> <super> KEY_F
+zoom = 7.000000
+
+[follow-cursor-bindings]
+
+[follow-focus]
+change_output = true
+change_view = true
+focus_delay = 50
+raise_on_top = true
+threshold = 10
+
+[grid]
+duration = 300
+restore = <super> <shift> KEY_DOWN | <super> KEY_KP0
+slot_b = <super> KEY_KP2
+slot_bl = <super> KEY_KP1
+slot_br = <super> KEY_KP3
+slot_c = <super> <shift> KEY_UP | <super> KEY_KP5
+slot_l = <super> <shift> KEY_LEFT | <super> KEY_KP4
+slot_r = <super> <shift> KEY_RIGHT | <super> KEY_KP6
+slot_t = <super> KEY_KP8
+slot_tl = <super> KEY_KP7
+slot_tr = <super> KEY_KP9
+type = crossfade
+
+[idle]
+cube_max_zoom = 1.500000
+cube_rotate_speed = 1.000000
+cube_zoom_speed = 1000
+disable_on_fullscreen = true
+dpms_timeout = 300
+screensaver_timeout = 3600
+toggle = none
+
+[input]
+click_method = default
+cursor_size = 24
+cursor_theme = default
+disable_touchpad_while_mouse = false
+disable_touchpad_while_typing = false
+gesture_sensitivity = 1.000000
+kb_capslock_default_state = false
+kb_numlock_default_state = false
+kb_repeat_delay = 400
+kb_repeat_rate = 40
+left_handed_mode = false
+middle_emulation = false
+modifier_binding_timeout = 400
+mouse_accel_profile = flat
+mouse_cursor_speed = 0.000000
+mouse_scroll_speed = 1.000000
+natural_scroll = false
+scroll_method = default
+tap_to_click = true
+touchpad_accel_profile = default
+touchpad_cursor_speed = 0.000000
+touchpad_scroll_speed = 1.000000
+xkb_layout = de,de,us,ir
+xkb_model =
+xkb_options = grp:shifts_toggle
+xkb_rules = evdev
+xkb_variant =
+
+[input-device]
+output =
+
+[invert]
+preserve_hue = false
+toggle = <super> KEY_I
+
+[join-views]
+
+[keycolor]
+color = \#000000FF
+opacity = 0.250000
+threshold = 0.500000
+
+[mag]
+default_height = 500
+toggle = <alt> <super> KEY_M
+zoom_level = 75
+
+[move]
+activate = <super> BTN_LEFT
+enable_snap = true
+enable_snap_off = true
+join_views = false
+quarter_snap_threshold = 50
+snap_off_threshold = 10
+snap_threshold = 10
+workspace_switch_after = -1
+
+[oswitch]
+next_output = <super> KEY_O
+next_output_with_win = <shift> <super> KEY_O
+
+[output]
+mode = auto
+position = auto
+scale = 1.000000
+transform = normal
+
+[place]
+mode = center
+
+[preserve-output]
+last_output_focus_timeout = 10000
+
+[primary-monitor-switch]
+external-monitor = HDMI-A-2
+
+[resize]
+activate = <super> BTN_RIGHT
+
+[scale]
+allow_zoom = false
+bg_color = \#1A1A1AE6
+duration = 750
+inactive_alpha = 0.750000
+interact = false
+middle_click_close = false
+spacing = 50
+text_color = \#CCCCCCFF
+title_font_size = 16
+title_overlay = all
+title_position = center
+toggle = <super> KEY_P
+toggle_all = <super> KEY_LEFTBRACE
+
+[scale-title-filter]
+bg_color = \#00000080
+case_sensitive = false
+font_size = 30
+overlay = true
+share_filter = false
+text_color = \#CCCCCCCC
+
+[showrepaint]
+reduce_flicker = true
+toggle = <alt> <super> KEY_S
+
+[simple-tile]
+animation_duration = 0
+button_move = <super> BTN_LEFT
+button_resize = <super> BTN_RIGHT
+inner_gap_size = 5
+keep_fullscreen_on_adjacent = true
+key_focus_above = <super> KEY_K
+key_focus_below = <super> KEY_J
+key_focus_left = <super> KEY_H
+key_focus_right = <super> KEY_L
+key_toggle = <super> KEY_T
+outer_horiz_gap_size = 0
+outer_vert_gap_size = 0
+tile_by_default = all
+
+[switcher]
+next_view = <super> KEY_TAB
+prev_view = <super> <shift> KEY_TAB
+speed = 500
+view_thumbnail_scale = 1.000000
+
+[vswipe]
+background = \#1A1A1AFF
+delta_threshold = 24.000000
+duration = 180
+enable_free_movement = false
+enable_horizontal = true
+enable_smooth_transition = false
+enable_vertical = true
+fingers = 4
+gap = 32.000000
+speed_cap = 0.050000
+speed_factor = 256.000000
+threshold = 0.350000
+
+[vswitch]
+background = \#1A1A1AFF
+binding_down = <super> KEY_DOWN
+binding_left = <super> KEY_LEFT
+binding_right = <super> KEY_RIGHT
+binding_up = <super> KEY_UP
+binding_0 = <super> KEY_0
+binding_1 = <super> KEY_1
+binding_2 = <super> KEY_2
+binding_3 = <super> KEY_3
+binding_4 = <super> KEY_4
+binding_5 = <super> KEY_5
+binding_6 = <super> KEY_6
+binding_7 = <super> KEY_7
+binding_8 = <super> KEY_8
+binding_9 = <super> KEY_9
+send_win_1 = <super> <shift> KEY_1
+send_win_2 = <super> <shift> KEY_2
+send_win_3 = <super> <shift> KEY_3
+send_win_4 = <super> <shift> KEY_4
+send_win_5 = <super> <shift> KEY_5
+send_win_6 = <super> <shift> KEY_6
+duration = 250
+gap = 20
+wraparound = true
+
+[water]
+activate = <ctrl> <super> BTN_LEFT
+
+[window-rules]
+
+[winzoom]
+dec_x_binding = <ctrl> <super> KEY_LEFT
+dec_y_binding = <ctrl> <super> KEY_UP
+inc_x_binding = <ctrl> <super> KEY_RIGHT
+inc_y_binding = <ctrl> <super> KEY_DOWN
+modifier = <ctrl> <super>
+nearest_filtering = false
+preserve_aspect = true
+zoom_step = 0.100000
+
+[wm-actions]
+minimize = none
+send_to_back = none
+toggle_always_on_top = none
+toggle_fullscreen = none
+toggle_maximize = none
+toggle_showdesktop = none
+toggle_sticky = none
+
+[wobbly]
+friction = 3.000000
+grid_resolution = 6
+spring_k = 8.000000
+
+[workarounds]
+all_dialogs_modal = true
+app_id_mode = stock
+dynamic_repaint_delay = false
+use_external_output_configuration = false
+
+[workspace-names]
+background_color = \#333333B3
+display_duration = 500
+font = sans-serif
+position = center
+show_option_names = false
+text_color = \#FFFFFFFF
+
+[wrot]
+activate = <ctrl> <super> BTN_RIGHT
+activate-3d = <shift> <super> BTN_RIGHT
+invert = false
+reset = <ctrl> <super> KEY_R
+reset-one = <super> KEY_R
+reset_radius = 25.000000
+sensitivity = 24
+
+[zoom]
+interpolation_method = 0
+modifier = <super>
+smoothing_duration = 300
+speed = 0.010000
diff --git a/wayfire/.config/wofi/config b/wayfire/.config/wofi/config
@@ -0,0 +1,20 @@
+hide_scroll=true
+show=drun
+width=50%
+lines=8
+line_wrap=word
+term=foot
+allow_markup=true
+always_parse_args=false
+show_all=true
+print_command=true
+layer=overlay
+allow_images=true
+sort_order=alphabetical
+gtk_dark=true
+prompt=
+image_size=28
+display_generic=true
+location=center
+key_expand=Tab
+insensitive=true
diff --git a/wayfire/.config/wofi/style.css b/wayfire/.config/wofi/style.css
@@ -0,0 +1,41 @@
+* {
+ color: #e5e9f0;
+ background: transparent;
+}
+
+#window {
+ background: rgba(41, 46, 66, 0.9);
+ margin: auto;
+ padding: 10px;
+ border-radius: 20px;
+ border: 5px solid #b072d1;
+}
+
+#input {
+ padding: 10px;
+ margin-bottom: 10px;
+ border-radius: 15px;
+}
+
+#outer-box {
+ padding: 20px;
+}
+
+#img {
+ margin-right: 6px;
+}
+
+#entry {
+ padding: 10px;
+ border-radius: 15px;
+}
+
+#entry:selected {
+ background-color: #2e3440;
+}
+
+#text {
+ margin: 2px;
+ font-size: 18px;
+ font-family: Fira Code Regular
+}
diff --git a/wayfire/.local/bin/brightness.sh b/wayfire/.local/bin/brightness.sh
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+
+DEV="/sys/class/backlight/intel_backlight"
+MAX=$(cat "${DEV}/max_brightness")
+CUR=$(cat "${DEV}/brightness")
+PER=$((($CUR * 100) / $MAX))
+
+# If no argument is given, return current value
+if [[ -z $1 ]]; then
+ echo "return value"
+ echo "$PER"
+fi
+
+# increasing brightness
+if [[ "$1" == "inc" ]]; then
+
+ # calculate new value in percent, cap at 100%
+ PER_NEW=$((${PER} + ${2}))
+ if [[ $PER_NEW -gt 100 ]]; then
+ PER_NEW=100
+ fi
+
+ # calculate numerical value
+ CUR_NEW=$(((${MAX} * ${PER_NEW}) / 100))
+
+ # set new value
+ echo "Setting brightness to $CUR_NEW"
+ echo "$CUR_NEW" > "${DEV}/brightness"
+
+fi
+
+if [[ "$1" == "dec" ]]; then
+
+ # calculate new value in percent, capt at 5%
+ PER_NEW=$((${PER} - ${2}))
+ if [[ $PER_NEW -lt 5 ]]; then
+ PER_NEW=5
+ fi
+
+ # calculate numerical value
+ CUR_NEW=$(((${MAX} * ${PER_NEW}) / 100))
+
+ # set new value
+ echo "Setting brightness to $CUR_NEW"
+ echo "$CUR_NEW" > "${DEV}/brightness"
+
+fi
diff --git a/wayfire/.startup.sh b/wayfire/.startup.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+
+# Fast Startup for GTK Applications
+echo "[Wayfire Startup] Export Environment Variables"
+dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK &
+
+# Set Wallpaper
+echo "[Wayfire Startup] Set Wallpaper"
+swaybg --mode fit --image ~/Bilder/Wallpaper/02.png &
+
+# Launch Systembar
+# echo "[Wayfire Startup] Launch Yambar"
+# yambar -c .config/yambar/config.yaml &
+echo "[Wayfire Startup] Launch Waybar"
+waybar &
+
+# Lock Screen
+echo "[Wayfire Startup] Launch Swayidle"
+swayidle before-sleep swaylock &
+swayidle timeout 300 swaylock &
+
+# Screen Temperature
+echo "[Wayfire Startup] Launch wlsunset"
+sleep 5 && wlsunset -L 6.6441878 -l 49.7596208 &
+
+# set volume to 100% and mute
+echo "[Wayfire Startup] Set Audio Output Configuration"
+sleep 2 && pactl set-sink-volume @DEFAULT_SINK@ 100% &
+sleep 2 && pactl set-sink-mute @DEFAULT_SINK@ 1 &
+
+# set microphone to 15% and mute
+echo "[Wayfire Startup] Set Audio Input Configuration"
+sleep 2 && pactl set-source-volume @DEFAULT_SOURCE@ 15% &
+sleep 2 && pactl set-source-mute @DEFAULT_SOURCE@ 1 &
+
+# set brightness to 100%
+echo "[Wayfire Startup] Set Brightness"
+~/.local/bin/brightness "inc" 100 &
+
+# Launch KDE Connect
+echo "[Wayfire Startup] Launch KDE-Connect"
+kdeconnect-indicator &
+sleep 10 && kdeconnect-cli --refresh &
+
+# Launch Nextcloud Sync
+echo "[Wayfire Startup] Launch Nextcloud Sync"
+sleep 10 && nextcloud --background &
+
+# Launch Nextcloud Talk
+echo "[Wayfire Startup] Launch Nextcloud Talk"
+$HOME/.local/opt/nextcloud-talk/Nextcloud\ Talk --background &
+
+# Launch Nextcloud Talk
+echo "[Wayfire Startup] Launch Signal"
+flatpak run org.signal.Signal &