show names on tabs in tabbed layout
This commit is contained in:
@@ -189,9 +189,12 @@ order — the first master slot — and takes focus, as in dwm. A window spawned
|
||||
onto a tag nobody is viewing leaves both the order and focus alone.
|
||||
|
||||
**tabbed** — same geometry as monocle, minus a strip at the top where att_wm
|
||||
draws one solid colour block per window, the focused one highlighted. The blocks
|
||||
are clickable. Titles are *not* drawn — that would mean a font stack — but the
|
||||
window list is published over IPC, so a bar can draw a textual tab strip
|
||||
draws one tab per window, the focused one highlighted. Each tab is clickable and
|
||||
carries the window's title, elided with an ellipsis when the tab is too narrow.
|
||||
Titles are drawn in a 5x8 bitmap font built into the binary (`src/font.zig`) —
|
||||
a font stack for one strip of pixels would be a poor trade — scaled by whole
|
||||
pixels to suit `tabbar_height`, or by `tab_font_scale` if you would rather say.
|
||||
The same window list is published over IPC, so a bar can draw its own tab strip
|
||||
alongside (the bundled quickshell config does). Set `tabbar_height = 0` to drop
|
||||
the built-in strip entirely and let the bar own it.
|
||||
|
||||
@@ -217,9 +220,10 @@ zig build -Dconfig=/path/to/my-config.zig
|
||||
att_wm.override { configFile = ./my-config.zig; }
|
||||
```
|
||||
|
||||
`config.zig` covers border width and colours, gaps, tab bar height and colours,
|
||||
the default layout, `nmaster` / `mfact`, tag names, focus-follows-mouse, key and
|
||||
pointer bindings, autostart commands, input devices, and window rules:
|
||||
`config.zig` covers border width and colours, gaps, tab bar height, colours and
|
||||
text size, the default layout, `nmaster` / `mfact`, tag names,
|
||||
focus-follows-mouse, key and pointer bindings, autostart commands, input
|
||||
devices, and window rules:
|
||||
|
||||
```zig
|
||||
pub const rules = [_]Rule{
|
||||
@@ -487,7 +491,8 @@ river's identifier is shared between them.
|
||||
| `src/input.zig` | Input configuration types — no Wayland, unit tested |
|
||||
| `src/config.zig` | Compile-time configuration |
|
||||
| `src/ipc.zig` | Socket server and JSON encoding |
|
||||
| `src/shm.zig` | memfd buffers for the tab bar |
|
||||
| `src/shm.zig` | memfd buffers for the tab bar, and drawing into them |
|
||||
| `src/font.zig` | The built-in 5x8 bitmap font — no Wayland, unit tested |
|
||||
| `src/sys.zig` | Thin Linux syscall wrappers |
|
||||
|
||||
The single most important invariant: **river only permits window management
|
||||
|
||||
Reference in New Issue
Block a user