### Input configuration
[input]
xkb_layout = us
xkb_variant = dvorak,bepo
natural_scroll = enabled

[input-device:Wacom One by Wacom S Pen]
output = eDP-1


### Output configuration 
[output:eDP-1]
# mode = 1920x1080@60000
mode = 2400x1350@60000
position = 0,0
transform = normal
scale = 1.00000

### Core options
[core]
plugins = \
  alpha \
  animate \
  autostart \
  command \
  cube \
  decoration \
  expo \
  fast-switcher \
  fisheye \
  grid \
  idle \
  invert \
  move \
  oswitch \
  place \
  resize \
  switcher \
  vswitch \
  window-rules \
  wm-actions \
  wobbly \
  wrot \
  zoom \
  spacing \
  blur \
  simple-tile \
  wf-info \
  rounded-corners

## Close focused window.
close_top_view = <super> KEY_Q | <alt> KEY_F4

## Workspaces arranged into a grid: 2 × 2.
vwidth = 2
vheight = 2

## Prefer client-side decoration or server-side decoration
preferred_decoration_mode = server

### Mouse bindings 
## Drag windows by holding down Super and left mouse button.
[move]
activate = <super> BTN_LEFT

## Resize them with right mouse button + Super.
[resize]
activate = <super> BTN_RIGHT

## Zoom in the desktop by scrolling + Super.
[zoom]
modifier = <super>

## Change opacity by scrolling with Super + Alt.
[alpha]
modifier = <super> <alt>

## Rotate windows with the mouse.
[wrot]
activate = <super> <ctrl> BTN_RIGHT

## Fisheye effect.
[fisheye]
toggle = <super> <ctrl> KEY_F

### Startup commands
[autostart]

## enviroment
environment = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XAUTHORITY
autostart_wf_shell = false

## chromium screenshare
0_0 = systemctl --user import-environment
xdg = sleep 1 && (XDG_SESSION_TYPE=wayland XDG_CURRENT_DESKTOP=sway /usr/lib/xdg-desktop-portal --replace & /usr/lib/xdg-desktop-portal-wlr)

## desktop widgets
background = wf-background
bar = waybar
# dock = wf-dock
# panel = wf-panel 
# background = swaybg -i $HOME/.config/swaylock/bg.png

## Notifications
notifications = mako

## input
fcitx5 = fcitx

## KDEConnect
kdeconnect = kdeconnect-indicator

## Keyring
keyring = echo -n "YOUR_PASSWD" | gnome-keyring-daemon -s -r --unlock --components=secrets

## Email
email = geary --gapplication-service

## XDG desktop portal
portal = /usr/libexec/xdg-desktop-portal

### desktop configure

[idle]
# toggle = <super> KEY_Z
screensaver_timeout = 360000
dpms_timeout = 360000

### Applications ─────────────────────────────────────────────────────────────────

[command]

## Terminal
binding_terminal = <super> KEY_T
command_terminal = tilix

## Start your launcher
binding_launcher = <super> KEY_ENTER
command_launcher = wofi

## Screen locker
# https://github.com/swaywm/swaylock
binding_lock = <super> <shift> KEY_ESC
command_lock = swaylock -C $HOME/.config/swaylock/conig


## Logout
# https://github.com/ArtsyMacaw/wlogout
binding_logout = <super> KEY_ESC
command_logout = nwgbar
# command_logout = wlogout -p xdg

## Screenshots
# select window, copy to clipboard
binding_screenshot = <shift> KEY_SYSRQ
command_screenshot = grim -g "$(wf-info | grep Geometry | awk '{print $2, $3}')"  - - | wl-copy --type image/png
# select window, save to Pictures directory
binding_screenshot_interactive = <super> <shift> KEY_SYSRQ
command_screenshot_interactive = wf-info | grep Geometry | awk '{print $2, $3}' | grim -g - ~/Pictures/$(date '+%F_%T').png
# copy to clipboard
binding_screenshot_clipboard = KEY_SYSRQ
command_screenshot_clipboard = slurp -b 5ecded20 -B 2c2c2c20 -c 5ecded80 -o | grim -g - - | wl-copy --type image/png

## Screencast
# binding_screencast = <alt> KEY_SYSRQ 
# command_screencast = wf-recorder -g "$(wf-info | grep Geometry | awk '{print $2, $3}')" -f $HOME/Videos/$(date '+%F_%T').mp4
binding_screencast_voice = <super> <ctrl> KEY_SYSRQ
command_screencast_voice = wf-recorder -a -f $HOME/Videos/$(date '+%F_%T').mp4
binding_screencast_novoice = <ctrl> KEY_SYSRQ
command_screencast_novoice = wf-recorder -f $HOME/Videos/$(date '+%F_%T').mp4
binding_screencast_stop = <ctrl> <alt> KEY_SYSRQ
command_screencast_stop = killall -INT wf-recorder
# binding_kooha = <super> KEY_R
# command_kooha = kooha

## Volume controls alias-utils
repeatable_binding_volume_up = KEY_F3
command_volume_up = pactl set-sink-volume @DEFAULT_SINK@ +5%
repeatable_binding_volume_down = KEY_F2
command_volume_down = pactl set-sink-volume @DEFAULT_SINK@ -5%
binding_mute = KEY_F1
command_mute = pactl set-sink-mute @DEFAULT_SINK@ toggle

## Screen brightness
# https://haikarainen.github.io/light/
# repeatable_binding_light_up =  KEY_F7
# command_light_up = light -A 5
# repeatable_binding_light_down = <shift> KEY_7
# command_light_down = light -U 5

### Windows 
## Actions related to window management functionalities.
[wm-actions]
toggle_fullscreen = <super> KEY_F
toggle_always_on_top = <super> KEY_X
toggle_sticky = <super> <shift> KEY_X

## Position the windows in certain regions of the output.
[grid]
#
# ⇱ ↑ ⇲   │ 7 8 9
# ← f →   │ 4 5 6
# ⇱ ↓ ⇲ d │ 1 2 3 0
# ‾   ‾
slot_bl = <super> KEY_F1
slot_b = <super> KEY_DOWN | <super> KEY_F2
slot_br = <super> KEY_F3
slot_l = <super> KEY_LEFT | <super> KEY_F4
slot_c = <super> KEY_F5
slot_r = <super> KEY_RIGHT | <super> KEY_F6
slot_tl = <super> KEY_F7
slot_t = <super> KEY_UP | <super> KEY_F8
slot_tr = <super> KEY_F9
# Restore default.
restore = <super> KEY_F10

## Change active window with an animation.
[switcher]
next_view = <shift> <alt> KEY_TAB
prev_view = <alt> KEY_TAB

## Simple active window switcher.
[fast-switcher]
activate = <super> KEY_TAB

### Workspaces

## Switch to workspace.
[vswitch]
binding_left = <ctrl> KEY_LEFT
binding_down = <ctrl> KEY_DOWN
binding_up = <ctrl> KEY_UP
binding_right = <ctrl> KEY_RIGHT
# Move the focused window with the same key-bindings, but add Shift.
binding_win_left = <ctrl> <super> KEY_LEFT
binding_win_down = <ctrl> <super>  KEY_DOWN
binding_win_up = <ctrl> <super>  KEY_UP
binding_win_right = <ctrl> <super>  KEY_RIGHT

## Show the current workspace row as a cube.
[cube]
activate = <ctrl> <alt> BTN_LEFT
# Switch to the next or previous workspace.
rotate_left = <super> <ctrl> KEY_R
rotate_right = <super> <ctrl> KEY_L

## Show an overview of all workspaces.
[expo]
toggle = <super>
# Select a workspace.
# Workspaces are arranged into a grid of 3 × 3.
# The numbering is left to right, line by line.
#
# ⇱ k ⇲
# h ⏎ l
# ⇱ j ⇲
# ‾   ‾
# See core.vwidth and core.vheight for configuring the grid.
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

### Outputs
## Change focused output.
[oswitch]
# Switch to the next output.
next_output = <super> KEY_O
# Same with the window.
next_output_with_win = <super> <shift> KEY_O

## Invert the colors of the whole output.
[invert]
toggle = <super> KEY_I

## Animate 
[animate]
open_animation = fade
close_animation = fade
duration = 250

[decoration]
title_height = 0
title_size = 0
ignore_views = all
# broder_size = 1
# active_color = \#ffffffAA
# inactive_color = \#ffffffAA

[blur]
method = kawase
kawase_degrade = 1
kawase_iterations = 1
kawase_offset = 5

[wobbly]
friction = 25
spring_k = 25
grid_resolution = 6

[simple-tile]
tile_by_default = none
# button_move = <super> KEY_M
# button_resize = <super> KEY_R
key_focus_above = <ctrl> <shift> KEY_UP
key_focus_below = <ctrl> <shift> KEY_DOWN
key_focus_left = <ctrl> <shift> KEY_LEFT
key_focus_right = <ctrl> <shift> KEY_RIGHT
key_toggle = <super> KEY_S
outer_vert_gap_size = 2
outer_horiz_gap_size = 2
# Rules ────────────────────────────────────────────────────────────────────────

# Example configuration:
#
# [window-rules]
# maximize_alacritty = on created if app_id is "Alacritty" then maximize
#
# You can get the properties of your applications with the following command:
# $ WAYLAND_DEBUG=1 alacritty 2>&1 | kak
#
# See Window rules for a complete reference.
# https://github.com/WayfireWM/wayfire/wiki/Configuration#window-rules
