198 lines
5.1 KiB
KDL
198 lines
5.1 KiB
KDL
// Commands run directly, without a shell. Install optional apps before using them.
|
|
commands {
|
|
terminal "foot"
|
|
browser "firefox"
|
|
editor "zed"
|
|
lock "ferese-lock"
|
|
screenshot "ferese-screenshot"
|
|
screenshot-full "ferese-screenshot" "--full"
|
|
|
|
brightness-up "brightnessctl" "set" "2%+"
|
|
brightness-down "brightnessctl" "set" "2%-"
|
|
volume-up "wpctl" "set-volume" "-l" "1.0" "@DEFAULT_AUDIO_SINK@" "5%+"
|
|
volume-down "wpctl" "set-volume" "-l" "1.0" "@DEFAULT_AUDIO_SINK@" "5%-"
|
|
mute "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"
|
|
mic-mute "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"
|
|
}
|
|
|
|
// These supplement the built-in shortcuts listed in docs/shortcuts.md.
|
|
binding "Super+B" "spawn" "browser"
|
|
binding "Super+Z" "spawn" "editor"
|
|
binding "Super+Alt+L" "spawn" "lock"
|
|
binding "XF86MonBrightnessUp" "spawn" "brightness-up"
|
|
binding "XF86MonBrightnessDown" "spawn" "brightness-down"
|
|
binding "XF86AudioRaiseVolume" "spawn" "volume-up"
|
|
binding "XF86AudioLowerVolume" "spawn" "volume-down"
|
|
binding "XF86AudioMute" "spawn" "mute"
|
|
binding "XF86AudioMicMute" "spawn" "mic-mute"
|
|
|
|
binding "Super+Left" "focus" "left"
|
|
binding "Super+Down" "focus" "down"
|
|
binding "Super+Up" "focus" "up"
|
|
binding "Super+Right" "focus" "right"
|
|
binding "Super+Ctrl+Left" "move" "left"
|
|
binding "Super+Ctrl+Down" "move" "down"
|
|
binding "Super+Ctrl+Up" "move" "up"
|
|
binding "Super+Ctrl+Right" "move" "right"
|
|
binding "Super+Alt+Left" "resize" "left"
|
|
binding "Super+Alt+Down" "resize" "down"
|
|
binding "Super+Alt+Up" "resize" "up"
|
|
binding "Super+Alt+Right" "resize" "right"
|
|
|
|
// Replace a swipe action with "toggle-overview", "move" "left", or another action.
|
|
binding "Swipe3Up" "workspace-next"
|
|
binding "Swipe3Down" "workspace-previous"
|
|
binding "Swipe3Left" "focus" "right"
|
|
binding "Swipe3Right" "focus" "left"
|
|
|
|
input {
|
|
xkb-layout "us"
|
|
xkb-variant ""
|
|
xkb-options
|
|
focus-follows-mouse #false
|
|
repeat-rate 25
|
|
repeat-delay-ms 600
|
|
|
|
touchpad {
|
|
tap #true
|
|
natural-scroll #true
|
|
disable-while-typing #true
|
|
swipe-threshold 80
|
|
}
|
|
}
|
|
|
|
layout {
|
|
mode "scrolling"
|
|
inner-gap 4
|
|
outer-gap 4
|
|
smart-gaps #false
|
|
}
|
|
|
|
workspaces {
|
|
// Press the current workspace's shortcut again to return to the previous one.
|
|
auto-back-and-forth #false
|
|
}
|
|
|
|
scrolling {
|
|
default-column-width 0.5
|
|
focus-strategy "paged"
|
|
width-presets 0.33333 0.5 0.66667 "full"
|
|
}
|
|
|
|
animations {
|
|
enabled #true
|
|
reduced-motion #false
|
|
speed 0.9
|
|
}
|
|
|
|
appearance {
|
|
inactive-dim {
|
|
enabled #false
|
|
amount 0.15
|
|
duration-ms 150
|
|
}
|
|
}
|
|
|
|
theme {
|
|
mode "dark"
|
|
family "ferese-blue"
|
|
split #false
|
|
schedule { source "schedule"; timezone "system"; light-at "07:00"; dark-at "19:00"; }
|
|
accessibility { increase-contrast #false; reduce-transparency #false; }
|
|
background {
|
|
mode "fill"
|
|
// path "/absolute/path/to/wallpaper.png"
|
|
}
|
|
material {
|
|
style "translucent"
|
|
}
|
|
geometry {
|
|
window-radius 12
|
|
shell-radius 12
|
|
border-width 1
|
|
focus-ring-width 1
|
|
top-bar-height 30
|
|
top-bar-margin-horizontal 18
|
|
top-bar-margin-top 6
|
|
top-bar-window-gap 4
|
|
panel-padding 12
|
|
control-gap 12
|
|
}
|
|
shadow {
|
|
soft {
|
|
blur 10
|
|
offset-y 2
|
|
opacity 0.07
|
|
}
|
|
}
|
|
// typography { font-family "JetBrainsMono Nerd Font"; }
|
|
}
|
|
|
|
status {
|
|
keybinding-guide #true
|
|
window-title #true
|
|
battery-percentage #true
|
|
low-battery-threshold 20
|
|
}
|
|
|
|
window-rule app-id="dev.ferese.Settings" floating=#true
|
|
window-rule app-id="dev.ferese.ScreenShare" floating=#true
|
|
window-rule app-id="dev.ferese.Authentication" floating=#true
|
|
window-rule app-id="org.gnome.Calculator" floating=#true
|
|
window-rule app-id="org.pulseaudio.pavucontrol" floating=#true
|
|
window-rule title="Picture-in-Picture" floating=#true
|
|
window-rule title="Choose a wallpaper" floating=#true
|
|
|
|
desktop-widgets {
|
|
clock enabled=#false {
|
|
style "pixel"
|
|
anchor "top_left"
|
|
margin-x 64
|
|
margin-y 80
|
|
width 440
|
|
height 320
|
|
time-size 128
|
|
date-size 18
|
|
time-format "%H:%M"
|
|
date-format "%a, %b %-d"
|
|
show-date #true
|
|
opacity 0.9
|
|
}
|
|
note "today" enabled=#false {
|
|
title "Today"
|
|
text "Review the project\nTake a break"
|
|
anchor "top_right"
|
|
margin-x 48
|
|
margin-y 80
|
|
width 320
|
|
height 240
|
|
text-size 16
|
|
}
|
|
}
|
|
|
|
notifications {
|
|
show-popups #true
|
|
do-not-disturb #false
|
|
timeout-ms 6000
|
|
}
|
|
|
|
lock-screen {
|
|
clock-format "12h"
|
|
background-dim 0.26
|
|
background-blur 14
|
|
dim-after-seconds 30
|
|
sleep-after-seconds 120
|
|
}
|
|
|
|
// Install swayidle and test unlocking before enabling automatic locking.
|
|
// autostart "swayidle" "-w" "timeout" "300" "ferese-lock" "before-sleep" "ferese-lock" "lock" "ferese-lock"
|
|
|
|
// Find display names with feresectl get-outputs, then adjust and uncomment.
|
|
// output-profile "docked" {
|
|
// output "HDMI-A-1" scale=1.5 { position 0 0; }
|
|
// output "eDP-1" scale=1.5 { position 2560 0; }
|
|
// }
|
|
// output-profile "laptop" {
|
|
// output "eDP-1" scale=1.5
|
|
// }
|