Last active
June 12, 2022 13:39
-
-
Save solarkraft/f46421295b8c211b2eb56b3acc118cc4 to your computer and use it in GitHub Desktop.
My desktop configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Paul's Wayfire config | |
# Check out https://github.com/WayfireWM/wayfire/wiki/Configuration for help | |
### Output configuration | |
# Layout: Positiom in virtual pixels | |
# Negative values are mishandled by XWayland and some tools, so stay positive :-) | |
# 15" 4K laptop display | |
[output:eDP-1] | |
scale = 1.8 | |
# 55" TV | |
[output:DP-3] | |
mode = 3840x2160@60 | |
scale = 1 | |
# wayland client output | |
[output:WL-1] | |
scale = 1 | |
[input] | |
### Keyboard | |
xkb_layout = de | |
xkb_model = | |
xkb_option = caps:escape | |
xkb_rule = evdev | |
xkb_variant = | |
# a bit faster than usual | |
kb_repeat_delay = 200 | |
kb_repeat_rate = 80 | |
modifier_binding_timeout = 400 | |
### Touchpad | |
disable_touchpad_while_mouse = false | |
disable_while_typing = false | |
natural_scroll = true | |
scroll_method | |
scroll_method = default | |
tap_to_click = true | |
touchpad_accel_profile = adaptive | |
touchpad_cursor_speed = 0 | |
touchpad_scroll_speed = 0.3 | |
click_method = clickfinger | |
### Mouse | |
mouse_accel_profile = adaptive | |
mouse_cursor_speed = -0.8 | |
mouse_scroll_speed = 1 | |
### Cursor | |
cursor_size = 24 | |
cursor_theme = default | |
[core] | |
# support legacy apps | |
xwayland = true | |
preferred_decoration_mode = server | |
#virtual desktops | |
vheight = 3 | |
vwidth = 4 | |
close_top_view = <super> KEY_Q | <alt> KEY_F4 | |
background_color = \#555f | |
plugins = alpha animate autostart command cube expo grid idle invert oswitch place vswitch window-rules wrot move zoom vswipe fisheye fast-switcher switcher wm-actions bench scale workarounds decoration resize glib-main-loop dbus_interface #blur | |
# available in stock wayfire: animate blur common cube decoration scale tile vswitch window-rules wm-actions wobbly alpha autostart command compositor-view-test expo extra-gestures fast-switcher fisheye grid idle invert move oswitch place preserve-output resize switcher vswipe wrot zoom | |
# available in wayfire-plugins-extra: annotate autorotate-iio background-view bench crosshair follow-focus force-fullscreen glip-main-loop join-views keycolor mag showrepaint water window-zoom workspace-names | |
#max_render_time = 12 | |
# ammen99 instruction to combat random lag | |
max_render_time = -1 | |
#focus_buttons_passthrough = false | |
#focus_buttons = BTN_RIGHT | |
[autostart] | |
# Automatically starts wf-background, wf-dock and wf-panel | |
# I don't want wf-panel because I start waybar instead | |
autostart_wf_shell = false | |
# Any assignment is fine as long as it's unique | |
# I like to do some logging of things that experience issues from time to time | |
# enable screen sharing through pipewire & desktop portal | |
portal = /usr/lib/xdg-desktop-portal -r | |
portal_wlr = /usr/lib/xdg-desktop-portal-wlr | |
# crashes a while after screen reconfiguration | |
notifications = mako | |
#outputs = kanshi | |
# Automatically start some apps | |
autostart_script = $(xdg-user-dir)/.autostart.sh | |
background = wf-background > $(xdg-user-dir)/.log/wf-background.log | |
panel = waybar | |
dock = wf-dock | |
#dock2 = cairo-dock | |
# idle/sleep/wakeup stuff | |
idle = sh -c 'swayidle \ | |
after-resume "bluetoothctl power on" \ # fix bluetooth being disabled after sleep | |
after-resume "sudo systemctl restart systemd-networkd" \ # | |
before-sleep "swaylock" \ # lock screen before sleeping | |
' | |
[command] | |
binding_launcher = <super> KEY_SPACE | |
#command_launcher = wofi --normal-window --gtk-dark --insensitive --lines 5 --width 400 --show run --exec-search --term konsole | |
command_launcher = $(xdg-user-dir)/.cargo/bin/sirula | |
binding_terminal = <super> KEY_ENTER | |
command_terminal = konsole | |
# logout stuff | |
binding_lock = <super> KEY_ESC | <super> KEY_L | |
command_lock = swaylock --color 000000 --indicator-caps-lock --ignore-empty-password --show-failed-attempts | |
binding_sleep = <super> <alt> KEY_ESC | |
command_sleep = udo systemctl suspend | |
binding_logout = <super> <shift> KEY_ESC | |
# Looks messy, works flawlessly | |
#command_logout = sh -c 'if zenity --question --text="Log out?"; then killall --user $USER -INT wayfire; fi' | |
command_logout = killall --user $USER -INT wayfire | |
# screen capture | |
binding_screenshot_interactive = KEY_SYSRQ | |
binding_screenshot_complete = <shift> KEY_SYSRQ | |
command_screenshot_interactive = grim -g "$(slurp)" - | tee $(xdg-user-dir DOCUMENTS)/screencap/$(date +%Y-%m-%dT%H:%M:%SZ).png | wl-copy | |
command_screenshot_complete = grim - | tee $(xdg-user-dir DOCUMENTS)/screencap/$(date +%Y-%m-%dT%H:%M:%SZ).png | wl-copy | |
# screen recording | |
binding_screenrec_interactive = <super> KEY_SYSRQ | |
binding_screenrec_stop = <super> <shift> KEY_SYSRQ | |
command_screenrec_interactive = wf-recorder --file="$(xdg-user-dir DOCUMENTS)/screencap/$(date +%Y-%m-%dT%H:%M:%SZ).mp4" --geometry "$(slurp)" | |
# killall wf-recorder usually works, but you run into trouble when you simultaneously want to use it for screen sharing and recording | |
command_screenrec_stop=pkill --signal int --full "wf-recorder --file" && notify-send "Recording stopped" | |
# audio (needs refinement) | |
binding_mute = KEY_MUTE | |
repeatable_binding_volume_up = KEY_VOLUMEUP | |
repeatable_binding_volume_down = KEY_VOLUMEDOWN | |
#command_mute = amixer set Master toggle && notify-send "Mute toggled" | |
command_mute = amixer set Master toggle && notify-send "Mute toggled" | |
command_volume_up = pactl set-sink-volume 0 +3000 | |
command_volume_down = pactl set-sink-volume 0 -3000 | |
# screen brightness | |
repeatable_binding_light_down = KEY_BRIGHTNESSDOWN | |
repeatable_binding_light_up = KEY_BRIGHTNESSUP | |
command_light_down = light -T 0.5 && notify-send "Brightness: `light`" | |
command_light_up = light -T 2 && notify-send "Brightness: `light`" | |
# gammastep / redshit / red tint | |
command_redshift_on = systemctl --user start redshift.service | |
binding_redshift_on = <super> KEY_BRIGHTNESSDOWN | |
command_redshift_off = systemctl --user stop redshift.service | |
binding_redshift_off = <super> KEY_BRIGHTNESSUP | |
command_redshift_toggle = if (systemctl -q --user is-active redshift.service); then systemctl --user stop redshift.service; else systemctl --user start redshift.service; fi | |
binding_redshift_toggle = <super> KEY_R | |
binding_test_command = <super> KEY_E | |
#command_test_command = sh -c 'notify-send "test"' | |
command_test_command = sh -c '\ | |
notify-send "test" \ #comment | |
"this is a test" \ #comment | |
' | |
[wm-actions] | |
toggle_always_on_top = <super> KEY_T | |
[animate] | |
open_animation = zoom | |
close_animation = fire | |
duration = 350 | |
enabled_for = (type is toplevel || (type is x-or && focuseable is true)) | |
fire_particle_size = 16.000000 | |
fire_particles = 500 | |
[decoration] | |
active_color = \#0009 | |
border_size = 4 | |
button_order = minimize maximize close | |
close_top_view = <super> KEY_Q | <alt> KEY_F4 | |
#font = Noto Sans | |
font = Rubik | |
inactive_color = \#0006 | |
title_height = 24 | |
vheight = 6 | |
vwidth = 6 | |
[blur] | |
method = box | |
mode = normal | |
# no worky? | |
saturation = 0.1 | |
bokeh_degrade = 5 | |
bokeh_iterations = 10 | |
bokeh_offset = 20 | |
box_degrade = 4 | |
box_iterations = 2 | |
box_offset = 3 | |
gaussian_degrade = 3 | |
gaussian_iterations = 4 | |
gaussian_offset = 2 | |
kawase_degrade = 2 | |
kawase_iterations = 2 | |
kawase_offset = 10 | |
# control a window's transparency using the scroll wheel | |
[alpha] | |
min_value = 0.100000 | |
modifier = <super> | |
[expo] | |
background = \#1A1A1AFF | |
duration = 250 | |
#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 = <ctrl> <super> | |
[fast-switcher] | |
activate = <alt> KEY_TAB | |
[fisheye] | |
radius = 1800 | |
toggle = <alt> <super> KEY_F | |
zoom = 20 | |
[scale] | |
toggle = <super> | |
toggle_all = <shift> <super> | |
duration = 250 | |
interact = true | |
inactive_alpha = 0.9 | |
middle_click_close = true | |
[idle] | |
cube_max_zoom = 1.5 | |
cube_rotate_speed = 1 | |
cube_zoom_speed = 1000 | |
disable_on_fullscreen = true | |
dpms_timeout = -1 | |
screensaver_timeout = 3600 | |
toggle = none | |
[move] | |
activate = <super> BTN_LEFT | |
enable_snap = true | |
enable_snap_off = true | |
join_views = true | |
# How close to get to the edge before tiling is activated | |
snap_threshold = 0 | |
# How many pixels to travel before a window is de-tiled ??? maybe not | |
snap_off_threshold = 50 | |
[oswitch] | |
next_output = <super> KEY_O | |
next_output_with_win = <shift> <super> KEY_O | |
[place] | |
mode = center | |
[resize] | |
activate = <super> BTN_RIGHT | |
[simple-tile] | |
#button_move = <super> BTN_LEFT | |
#button_resize = <super> BTN_RIGHT | |
#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 | |
#key_toggle_fullscreen = <super> KEY_M | |
tile_by_default = any | |
[grid] | |
duration = 200 | |
restore = <super> KEY_DOWN | <super> KEY_KP0 | |
slot_b = <super> KEY_KP2 | |
slot_bl = <super> KEY_KP1 | |
slot_br = <super> KEY_KP3 | |
slot_c = <super> KEY_UP | <super> KEY_KP5 | |
slot_l = <super> KEY_LEFT | <super> KEY_KP4 | |
slot_r = <super> KEY_RIGHT | <super> KEY_KP6 | |
slot_t = <super> KEY_KP8 | |
slot_tl = <super> KEY_KP7 | |
slot_tr = <super> KEY_KP9 | |
type = simple | |
[switcher] | |
next_view = <super> KEY_TAB | |
prev_view = <shift> <super> KEY_TAB | |
speed = 250 | |
view_thumbnail_scale = 1.5 | |
gesture_toggle = edge-swipe down 3 | |
touch_sensitivity = 1 | |
[vswipe] | |
background = \#1A1A1AFF | |
delta_threshold = 24 | |
duration = 260 | |
enable_horizontal = true | |
enable_smooth_transition = true | |
enable_vertical = true | |
fingers = 4 | |
gap = 32 | |
speed_cap = 0.05 | |
speed_factor = 350 | |
threshold = 0.35 | |
[vswitch] | |
binding_down = <ctrl> <super> KEY_DOWN | |
binding_left = <ctrl> <super> KEY_LEFT | |
binding_right = <ctrl> <super> KEY_RIGHT | |
binding_up = <ctrl> <super> KEY_UP | |
binding_win_down = <ctrl> <shift> <super> KEY_DOWN | |
binding_win_left = <ctrl> <shift> <super> KEY_LEFT | |
binding_win_right = <ctrl> <shift> <super> KEY_RIGHT | |
binding_win_up = <ctrl> <shift> <super> KEY_UP | |
duration = 300 | |
# lacks stiffness :( | |
[wobbly] | |
friction = 5 | |
grid_resolution = 8 | |
spring_k = 100 | |
[invert] | |
toggle = <super> KEY_I | |
[workarounds] | |
app_id_mode = stock | |
#dynamic_repaint_delay = true | |
# ammen99 instruction to combat random lag | |
dynamic_repaint_delay = false | |
all_dialogs_modal = false | |
[zoom] | |
modifier = <alt> <super> | |
# transition time | |
smoothing_duration = 300 | |
# zoom acceleration | |
speed = 0.01 | |
[wrot] | |
activate = <alt> <super> BTN_LEFT | |
reset_radius = 150 | |
[window-rules] | |
[cube] | |
activate = <alt> <ctrl> BTN_LEFT | |
background = \#1A1A1AFF | |
background_mode = simple | |
cubemap_image = | |
deform = 0 | |
initial_animation = 250 | |
light = false | |
rotate_left = none | |
rotate_right = none | |
skydome_mirror = true | |
skydome_texture = | |
speed_spin_horiz = 0.02 | |
speed_spin_vert = 0.02 | |
speed_zoom = 0.07 | |
zoom = 0.09 | |
# Extra plugins | |
[bench] | |
frames_per_update = 10 | |
average_frames = 10 | |
position = top_left | |
[water] | |
activate = <ctrl> <super> BTN_LEFT | |
[showrepaint] | |
toggle = <super> <alt> KEY_S | |
reduce_flicker = true | |
[annotate] | |
draw = <super> <alt> BTN_RIGHT | |
clear_workspace = <super> <alt> KEY_C |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment