v0.3.0 cf370a0

history of internal/core/layout.go at v0.3.0

2026-10-03

ff7108cfeat(stash): show the stash over a fullscreen window (#111) GPG Unverifiedbnema
8ffaccbfix(portal): portal session environment, xdg-foreign dialogs and capture retries (#104) GPG Unverifiedbnema

2026-10-02

c2347effix(core): drop the fullscreen latch once its window has the focus GPG Verifiedbrice
2a2f286fix(core): refuse client fullscreen after the user left it GPG Verifiedbrice
06140d8fix(core): show windows hidden by a fullscreen window in the overview GPG Verifiedbrice

2026-10-01

6a1f994feat(core): add free floating windows (#82) GPG Unverifiedbnema
b2a4809feat(core): resize window heights within a column (#81) GPG Unverifiedbnema
186314efeat(core): add window, column width and workspace order actions (#80) GPG Unverifiedbnema
d79bf75refactor(core): keep fixed-overflow fullscreen windows in place (#77) GPG Unverifiedbnema

2026-09-30

a61214efeat(overview): show named workspaces below their invocation workspace (#69) GPG Unverifiedbnema
2b00988feat(workspace): add centered logical size overrides (#68) GPG Unverifiedbnema
5117e75feat(core): stack fixed-mode overview columns and order covering floats (#66) GPG Unverifiedbnema

2026-09-29

09abb12fix(core): show and open the overview over fullscreen windows (#65) GPG Unverifiedbnema
fa4ed84feat(config): swap stash binds (#64) GPG Unverifiedbnema
e0b15carefactor: deepen core, wayland and drm modules (#57) GPG Unverifiedbnema
56de283feat(core): add a workspace overview (#56) GPG Unverifiedbnema
ffbd0dffeat(input): smooth touchpad swipes, tap to click and touchpad speed (#54) GPG Unverifiedbnema

2026-09-28

b3c68fbfix(core): align borders and insets with visible output tiles (#51) GPG Unverifiedbnema
2df03cdfeat(core): stash windows in a per-workspace strip on Cmd+S (#49) GPG Unverifiedbnema
3d61f9dfix: resolve wrap-up review findings since v0.1.0 (#48) GPG Unverifiedbnema
7b60e95style(core): gofmt layout and popup test GPG Verifiedbrice
10fab51fix(core): keep binds, moves and popup grabs off windows hidden by fullscreen GPG Verifiedbrice
8abededrefactor(core): make fullscreen exclusive so nothing but a locker draws above it GPG Verifiedbrice
865e07cfix(core): keep fullscreen windows from floating or hiding GPG Verifiedbrice
99fdfdffix(core): hide floats with cmd+shift+v only when a float has focus GPG Verifiedbrice
ff30418feat: floating toggles, dim veil and throttling of invisible windows (#43) GPG Unverifiedbnema
8e13c90feat(layout): expand columns and focus by screen position in fixed overflow (#42) GPG Unverifiedbnema

2026-09-27

541e2c7feat(layout): maximize focused column with Cmd+F (#29) GPG Unverifiedbnema
e16ebd1feat(wayland): support ext-workspace-v1 GPG Verifiedbrice

2026-09-26

1d43b1brefactor(project): rename nefertty to neferwl GPG Verifiedbrice
771e6fdfix(core): keep client sizes stable on scroll and draw float borders over tile lines GPG Verifiedbrice
5facfaffeat(render): draw tmux-style focus separators between tiles GPG Verifiedbrice
503de12feat(binds): add hjkl binds and move-column/window-to-workspace actions GPG Verifiedbrice

2026-09-25

3bc98dafix(layout): windows joining a fullscreen workspace float then tile home, dialogs never steal focus or the link GPG Verifiedbrice
12f359ffix(layout): track the fullscreen window by id, dialogs float and follow it home GPG Verifiedbrice
461a201fix(layout): return only the fullscreen window, restack by surviving neighbours GPG Verifiedbrice
b49bcb3fix(layout): keep slots and focus across fullscreen trips, restack only into the same column GPG Verifiedbrice
3fea6c2fix(layout): keep the fullscreen workspace link only while it holds its window alone GPG Verifiedbrice
4b313c6feat(layout): fixed-overflow fullscreen gets its own workspace below GPG Verifiedbrice
9e3a591fix(activation): fresh press serials only, tokens die with focus, bounded map, activation leaves fullscreen GPG Verifiedbrice
0da7456fix(shell): keep floating dialogs above fullscreen windows and nest popup grabs GPG Verifiedbrice
5fe516efix(shell): close popups topmost first and check popup grab serials GPG Verifiedbrice
6bc6748feat(shell): add xdg_popup support and floating dialogs GPG Verifiedbrice
356dacbfix(outputs): keyboard screen focus sticks, terminal respawn backoff, stale terminal tokens expire GPG Verifiedbrice
3760356fix(outputs): focus follows the pointer, columns cross outputs, cursor hides, empty workspaces get a terminal GPG Verifiedbrice

2026-09-24

bc1ec78feat(outputs): multiple monitors and hotplug GPG Verifiedbrice
9f4c5dafix(workspaces): one spawn per slot, only the pending token fills a slot GPG Verifiedbrice
bcfef74feat(workspaces): declarative slots spawned in the background GPG Verifiedbrice
96f4e50fix(workspaces): fullscreen, presets and insertion order in fixed overflow; guard hidden moves GPG Verifiedbrice
c703b25feat(workspaces): named and hidden workspaces with toggle bind, fixed overflow spiral GPG Verifiedbrice

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 25

Tags 10

↑↓ moveenter openesc close