Nimbin[12]?Sway / SWOv / config.example

SWOv git · main

SWOv - window overview for sway

sway wayland c overview · first commit 2026-08-21 · last commit 2026-09-20 (19 days ago) · synced 3 days ago · upstream: github.com/nimbin2/SWOv

C 91.5% Markdown 7.6%
git clone https://git.christianimmanuel.de/sway/SWOv.gitwget https://git.christianimmanuel.de/sway/SWOv/archive/SWOv.tar.gz
config.example 9.7 KB · 165 lines raw
# swov — example configuration
#
# Copy to ${XDG_CONFIG_HOME:-~/.config}/swov/config and edit.
# Every value below is the built-in default, so an empty file behaves the same.
# Single settings can also be overridden on the command line:
#     swov ui_scale=1.2 ssaa=1        (or --ui_scale=1.2, or -s ui_scale=1.2)

# --- rendering ---
ssaa=2             # full-scene supersampling 1..4 (smooths edges *and* text)
                   # alias: aa.  automatically reduced on very large screens
icons=1            # show .desktop icons (PNG/SVG/XPM); 0 = text only
icon_px=40         # icon edge length; shrinks by itself on small cards
shadow=1           # drop shadows under tiles and floating windows
shadow_layers=3    # fewer layers = cheaper, harder edged
track=1            # remember how long each workspace is used, and which one
                   # you were on per monitor (that is what -b goes back to).
                   # swov performs every switch itself, so it stamps the time
                   # as it goes — no background process. 0 = do not record.
back=global        # what -b goes back to:
                   #   global = the workspace used last, anywhere. Step to the
                   #            other monitor and -b brings you back to it
                   #   output = the last one on the monitor you are on
                   #   sway   = sway's own back_and_forth
usage_dots=1       # dot scale down the left edge of a tile: how much that
                   # workspace is used, relative to the busiest one. Fills from
                   # the bottom.                              alias: usage_bar
dot_count=14       # how many dots the scale has; fewer are drawn if the tile
                   # is too short for them
dot_px=5           # dot diameter
cpu=1              # a dot scale down the right edge of a tile, mirroring the
cpu_idle=0.01      # usage dots on the left. In cores: 1.0 is one core kept
cpu_min=0.25       # busy, and four fills the scale. Anything alive but under
cpu_full=4         # cpu_min gets one faint dot. swbr measures it and
                   # leaves it in $XDG_RUNTIME_DIR/swbr-cpu; without swbr
                   # running there is nothing to show and nothing is drawn

drop_ghosts=1      # --backdrop only: while an app is dragged over the
                   # overview, offer the free workspace numbers as extra
                   # tiles, the same as dragging a window inside swov. 0 =
                   # keep the grid at full size, and no new workspaces from
                   # a swas drag
outputs_map=1      # with a second screen: a map of the monitors, bottom left,
                   # in their real arrangement. Click one to look at its
                   # workspaces. It keeps that place to itself, so it is
                   # always in the same spot
outputs_map_w=0.18 # how wide, as a share of the tile area
tab=recent         # what tab walks: recent = the apps you used last, in that
                   # order (needs swbr running, which is what keeps the
                   # order). workspace = previous/next workspace
launcher=swas --replace overview=1
                   # what `d` opens. swas draws its own backdrop, so swov
                   # steps aside rather than stacking two overlays
ws_slots=1-10      # the default. These numbers always have a tile, whether sway has the
                   # workspace yet or not — so the grid is the same shape
                   # every time you open it. While dragging it reaches one
                   # further either side, which is how you get to 0 and 11.
                   # 0 = only the workspaces that exist
all_outputs=1      # every screen's workspaces, not just this one's, with the
                   # output name in the title. ws_slots already brings them
                   # in, so this is only about the labels
show_pid=1         # the process id, top right corner of every card
ghost_click=1      # clicking an empty number goes there, and sway makes the
                   # workspace on the way. 0 = drop target only
rename_icon=1      # a small pencil at the right of each header renames the
                   # workspace. 0 = no pencil; the middle of the name renames,
                   # which is easy to hit by accident when grabbing a header
focus_self=1       # ask sway for the keyboard once the window is up. An
                   # overlay that is not focused does nothing: every key goes
                   # to whatever is underneath it
snap_ms=1000       # dragging a floating window: hold it still over another
                   # this long and it snaps into the layout beside it. Moving
                   # starts the wait again. Without the hold it just moves to
                   # that workspace, still floating.
                   # 0 = tile as soon as it is over a window
over_fullscreen=1  # a fullscreen window is above anything a normal window
                   # can reach, so swov takes it off fullscreen while it is
                   # open and puts it back on the way out. 0 = open behind it
drop_outputs=1     # while dragging, the other screens' workspaces show up
                   # alongside this one's, marked with their output name, so
                   # they can be dropped on directly
map_dwell_ms=0     # dragging anything: hold it over another monitor
                   # this long and the overview steps onto that screen. The
                   # plate fills as you hold; moving at all starts the wait
                   # again. 0 = off
# output=DP-1      # start on that screen instead of the one sway is on
blur=2             # --backdrop only: how soft the overview is drawn while
                   # something else has the foreground. 0 = off, 3 = softest.
                   # It sharpens by itself while an app is being dragged over
                   # it, so you can read the workspace you are aiming at
anim_ms=160        # how long tiles take to glide when the ghost slots come
                   # and go, in and out. 0 turns the animation off
vsync=1

# --- text ---
ui_scale=1.0       # master text size. 1.3 = bigger, 0.85 = smaller
                   # aliases: font_scale, text_scale
ws_px=26           # workspace number in the tile header   (all four are
label_px=16        # application name on a window card       multiplied by
title_px=13        # window title, the long text             ui_scale, so
hint_px=14         # header line and the key hints           tweak one or all)

# By default swayov uses the desktop font (via fontconfig).
# Set a family name or a .ttf path to override:
# font=Inter
# font=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
# font_bold=Inter Semibold      # defaults to the bold cut of `font`

# --- layout ---
cols=0             # 0 = pick the grid that gives the largest tiles
rows=0             # set e.g. rows=2 if your workspaces are really 2 rows
margin=26          # space around the whole grid
gap=14             # space between tiles
pad=10             # padding inside a tile
win_gap=5          # space between two windows inside a workspace
screen_pad=6       # border kept free between the mini screen and the windows
badge_top=7        # space above the workspace number in a tile corner
float_alpha=0.62   # how solid a floating or fullscreen window is drawn. It is
                   # further reduced the more of the workspace it covers, so a
                   # fullscreen window stays a frame you can see through.
                   # 1.0 = as solid as a tiled window
radius=14          # corner radius
border=3           # tile border thickness
show_empty=1       # keep empty workspaces in the grid (keeps numbering stable)
start_selection=workspace
                   # what is selected when swov opens:
                   #   workspace = the visible workspace, no window (default)
                   #   none      = nothing at all
                   #   window    = the first window of the visible workspace
all_outputs=0      # 1 = show every monitor, not just the focused one
show_header=1      # the "DP-1  16 windows on 9 workspaces" line
show_hints=1       # the key hints
header_pos=top-right
hints_pos=bottom-center
                   # none | top-left | top-center | top-right |
                   # bottom-left | bottom-center | bottom-right
                   # when both share a band the hints step aside and, if it
                   # is still tight, get shortened with an ellipsis
quit_on_focus_loss=1
quit_after_action=0  # 1 = close the overlay after moving windows with 0-9

# --- colors: #rrggbb or #rrggbbaa ---
# bg alpha < ff => transparent overlay (needs a compositor, sway qualifies)
bg=0d1117cc        # dims everything behind the overlay, so the workspace you
                   # are actually on stops competing for attention.
                   # 0d111700 = fully transparent, 0d1117ff = opaque
tile=1e2733f2      # workspace tile                        alias: ring
tile_sel=26313ff2  # selected workspace tile               alias: ring2
tile_hover=2b3644f2
mini_bg=11171f9e   # the inset "screen" inside a tile      alias: center
card=33404ff7      # window card
card_hover=46566af7 # the card the cursor is on (mouse or keyboard)
                    #                                     alias: hover
card_focus=3b4a5bf7 # card of the window sway has focused
hl=cb9b00ff        # the orange. Only ever the selection cursor and marks
text=e8e8e8ff      # bright text
subtext=b3c0cdff   # application names
dim=5a6b7aff       # counters and window titles
hint=a7b5c4ff      # the header line and the key hints
current=4fb3a5ff   # the workspace sway is showing, and the focused window
match=b58ae0ff     # windows found by the search ("s")
accent=89afc4ff    # hover borders, filter box, tab groups
hltext=141414ff    # text on an orange badge
urgent=e0533cff    # urgent windows and workspaces
outline=0a0e1499   # thin outlines
shadow_color=00000073