detached 1d43b1b

refactor(project): rename nefertty to neferwl

commit
1d43b1b2d959fae85e9bca2f03a94122baf289fe
author
brice · · 2026-09-26 15:57 UTC
parent
f81774e
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
140 files · +280 -280
M .gitignore +1 -1
@@ -1,4 +1,4 @@
1-/nefertty
1+/neferwl
22 /bin/
33 *.test
44 *.out
@@ -1,4 +1,4 @@
1-/nefertty1+/neferwl
2 /bin/2 /bin/
3 *.test3 *.test
4 *.out4 *.out
M .mockery.yml +4 -4
@@ -7,7 +7,7 @@ template: testify
77 template-schema: '{{.Template}}.schema.json'
88 require-template-schema-exists: true
99 packages:
10- github.com/bnema/nefertty/internal/ports:
10+ github.com/bnema/neferwl/internal/ports:
1111 config:
1212 dir: internal/mocks/ports
1313 pkgname: portsmocks
@@ -16,14 +16,14 @@ packages:
1616 Renderer:
1717 Seat:
1818 # Unexported adapter seams: mocks live next to the code, in test files.
19- github.com/bnema/nefertty/internal/adapters/drm:
19+ github.com/bnema/neferwl/internal/adapters/drm:
2020 interfaces:
2121 kms:
2222 config:
2323 dir: internal/adapters/drm
2424 pkgname: drm
2525 filename: kms_mock_test.go
26- github.com/bnema/nefertty/internal/adapters/wayland:
26+ github.com/bnema/neferwl/internal/adapters/wayland:
2727 interfaces:
2828 procEnv:
2929 config:
@@ -35,7 +35,7 @@ packages:
3535 dir: internal/adapters/wayland
3636 pkgname: wayland
3737 filename: syncobj_device_mock_test.go
38- github.com/bnema/nefertty/internal/adapters/statefile:
38+ github.com/bnema/neferwl/internal/adapters/statefile:
3939 interfaces:
4040 procTree:
4141 config:
@@ -7,7 +7,7 @@ template: testify
7 template-schema: '{{.Template}}.schema.json'7 template-schema: '{{.Template}}.schema.json'
8 require-template-schema-exists: true8 require-template-schema-exists: true
9 packages:9 packages:
10- github.com/bnema/nefertty/internal/ports:10+ github.com/bnema/neferwl/internal/ports:
11 config:11 config:
12 dir: internal/mocks/ports12 dir: internal/mocks/ports
13 pkgname: portsmocks13 pkgname: portsmocks
@@ -16,14 +16,14 @@ packages:
16 Renderer:16 Renderer:
17 Seat:17 Seat:
18 # Unexported adapter seams: mocks live next to the code, in test files.18 # Unexported adapter seams: mocks live next to the code, in test files.
19- github.com/bnema/nefertty/internal/adapters/drm:19+ github.com/bnema/neferwl/internal/adapters/drm:
20 interfaces:20 interfaces:
21 kms:21 kms:
22 config:22 config:
23 dir: internal/adapters/drm23 dir: internal/adapters/drm
24 pkgname: drm24 pkgname: drm
25 filename: kms_mock_test.go25 filename: kms_mock_test.go
26- github.com/bnema/nefertty/internal/adapters/wayland:26+ github.com/bnema/neferwl/internal/adapters/wayland:
27 interfaces:27 interfaces:
28 procEnv:28 procEnv:
29 config:29 config:
@@ -35,7 +35,7 @@ packages:
35 dir: internal/adapters/wayland35 dir: internal/adapters/wayland
36 pkgname: wayland36 pkgname: wayland
37 filename: syncobj_device_mock_test.go37 filename: syncobj_device_mock_test.go
38- github.com/bnema/nefertty/internal/adapters/statefile:38+ github.com/bnema/neferwl/internal/adapters/statefile:
39 interfaces:39 interfaces:
40 procTree:40 procTree:
41 config:41 config:
M LICENSE +1 -1
@@ -1,6 +1,6 @@
11 MIT License
22
3-Copyright (c) 2026 nefertty contributors
3+Copyright (c) 2026 neferwl contributors
44
55 Permission is hereby granted, free of charge, to any person obtaining a copy
66 of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1 MIT License1 MIT License
2 2
3-Copyright (c) 2026 nefertty contributors3+Copyright (c) 2026 neferwl contributors
4 4
5 Permission is hereby granted, free of charge, to any person obtaining a copy5 Permission is hereby granted, free of charge, to any person obtaining a copy
6 of this software and associated documentation files (the "Software"), to deal6 of this software and associated documentation files (the "Software"), to deal
M Makefile +6 -6
@@ -2,15 +2,15 @@
22
33 # 0 runs until quit; set e.g. TTY_TIMEOUT=60s for a safety net.
44 TTY_TIMEOUT ?= 0
5-RUNS := $(or $(XDG_STATE_HOME),$(HOME)/.local/state)/nefertty/runs
5+RUNS := $(or $(XDG_STATE_HOME),$(HOME)/.local/state)/neferwl/runs
66
77 # Build a fresh binary with the git revision embedded.
88 bin:
9- CGO_ENABLED=0 go build -o bin/nefertty ./cmd/nefertty
9+ CGO_ENABLED=0 go build -o bin/neferwl ./cmd/neferwl
1010
1111 # Run on the current TTY. Quit: Ctrl+Alt+Backspace (or the quit bind).
1212 tty: bin
13- ./bin/nefertty --backend=drm --debug=all --timeout=$(TTY_TIMEOUT); \
13+ ./bin/neferwl --backend=drm --debug=all --timeout=$(TTY_TIMEOUT); \
1414 echo "exit $$? - log: $(RUNS)/latest.log"
1515
1616 # Summarise the last run: lifecycle, warnings and errors.
@@ -59,9 +59,9 @@ pkg:
5959 @test -z "$$(git status --porcelain)" || echo "warning: uncommitted changes are not packaged" >&2
6060 v=$$(t=$$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//; s/-/_/g'); \
6161 echo "$${t:-0.0.0}.r$$(git rev-list --count HEAD).g$$(git rev-parse --short HEAD)"); \
62- d=$$(mktemp -d /tmp/nefertty-pkg.XXXXXX); trap 'rm -rf "$$d"' EXIT; \
63- git archive --prefix=nefertty-$$v/ -o "$$d/nefertty-$$v.tar.gz" HEAD; \
62+ d=$$(mktemp -d /tmp/neferwl-pkg.XXXXXX); trap 'rm -rf "$$d"' EXIT; \
63+ git archive --prefix=neferwl-$$v/ -o "$$d/neferwl-$$v.tar.gz" HEAD; \
6464 cp packaging/arch/PKGBUILD "$$d/"; \
6565 cd "$$d" && sed -i "s/^pkgver=.*/pkgver=$$v/; s/^sha256sums=.*/sha256sums=('$$(sha256sum *.tar.gz | cut -d' ' -f1)')/" PKGBUILD; \
66- makepkg -f --noconfirm; mkdir -p $(CURDIR)/dist; rm -f $(CURDIR)/dist/nefertty-*.pkg.tar.zst; mv *.pkg.tar.zst $(CURDIR)/dist/
66+ makepkg -f --noconfirm; mkdir -p $(CURDIR)/dist; rm -f $(CURDIR)/dist/neferwl-*.pkg.tar.zst; mv *.pkg.tar.zst $(CURDIR)/dist/
6767 @ls dist/*.pkg.tar.zst
@@ -2,15 +2,15 @@
2 2
3 # 0 runs until quit; set e.g. TTY_TIMEOUT=60s for a safety net.3 # 0 runs until quit; set e.g. TTY_TIMEOUT=60s for a safety net.
4 TTY_TIMEOUT ?= 04 TTY_TIMEOUT ?= 0
5-RUNS := $(or $(XDG_STATE_HOME),$(HOME)/.local/state)/nefertty/runs5+RUNS := $(or $(XDG_STATE_HOME),$(HOME)/.local/state)/neferwl/runs
6 6
7 # Build a fresh binary with the git revision embedded.7 # Build a fresh binary with the git revision embedded.
8 bin:8 bin:
9- CGO_ENABLED=0 go build -o bin/nefertty ./cmd/nefertty9+ CGO_ENABLED=0 go build -o bin/neferwl ./cmd/neferwl
10 10
11 # Run on the current TTY. Quit: Ctrl+Alt+Backspace (or the quit bind).11 # Run on the current TTY. Quit: Ctrl+Alt+Backspace (or the quit bind).
12 tty: bin12 tty: bin
13- ./bin/nefertty --backend=drm --debug=all --timeout=$(TTY_TIMEOUT); \13+ ./bin/neferwl --backend=drm --debug=all --timeout=$(TTY_TIMEOUT); \
14 echo "exit $$? - log: $(RUNS)/latest.log"14 echo "exit $$? - log: $(RUNS)/latest.log"
15 15
16 # Summarise the last run: lifecycle, warnings and errors.16 # Summarise the last run: lifecycle, warnings and errors.
@@ -59,9 +59,9 @@ pkg:
59 @test -z "$$(git status --porcelain)" || echo "warning: uncommitted changes are not packaged" >&259 @test -z "$$(git status --porcelain)" || echo "warning: uncommitted changes are not packaged" >&2
60 v=$$(t=$$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//; s/-/_/g'); \60 v=$$(t=$$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//; s/-/_/g'); \
61 echo "$${t:-0.0.0}.r$$(git rev-list --count HEAD).g$$(git rev-parse --short HEAD)"); \61 echo "$${t:-0.0.0}.r$$(git rev-list --count HEAD).g$$(git rev-parse --short HEAD)"); \
62- d=$$(mktemp -d /tmp/nefertty-pkg.XXXXXX); trap 'rm -rf "$$d"' EXIT; \62+ d=$$(mktemp -d /tmp/neferwl-pkg.XXXXXX); trap 'rm -rf "$$d"' EXIT; \
63- git archive --prefix=nefertty-$$v/ -o "$$d/nefertty-$$v.tar.gz" HEAD; \63+ git archive --prefix=neferwl-$$v/ -o "$$d/neferwl-$$v.tar.gz" HEAD; \
64 cp packaging/arch/PKGBUILD "$$d/"; \64 cp packaging/arch/PKGBUILD "$$d/"; \
65 cd "$$d" && sed -i "s/^pkgver=.*/pkgver=$$v/; s/^sha256sums=.*/sha256sums=('$$(sha256sum *.tar.gz | cut -d' ' -f1)')/" PKGBUILD; \65 cd "$$d" && sed -i "s/^pkgver=.*/pkgver=$$v/; s/^sha256sums=.*/sha256sums=('$$(sha256sum *.tar.gz | cut -d' ' -f1)')/" PKGBUILD; \
66- makepkg -f --noconfirm; mkdir -p $(CURDIR)/dist; rm -f $(CURDIR)/dist/nefertty-*.pkg.tar.zst; mv *.pkg.tar.zst $(CURDIR)/dist/66+ makepkg -f --noconfirm; mkdir -p $(CURDIR)/dist; rm -f $(CURDIR)/dist/neferwl-*.pkg.tar.zst; mv *.pkg.tar.zst $(CURDIR)/dist/
67 @ls dist/*.pkg.tar.zst67 @ls dist/*.pkg.tar.zst
M README.md +22 -22
@@ -1,12 +1,12 @@
1-# NeferTTY
1+# NeferWL
22
3-NeferTTY is a minimal Wayland compositor in Go with Niri-style scrollable columns. It runs on a TTY (DRM/KMS, libinput, Vulkan) or headless.
3+NeferWL is a minimal Wayland compositor in Go with Niri-style scrollable columns. It runs on a TTY (DRM/KMS, libinput, Vulkan) or headless.
44
55 Requires Linux and Go 1.27.
66
77 ## Hardware support
88
9-NeferTTY needs a GPU and kernel driver with atomic KMS and a Vulkan 1.3 device that can export images as dmabufs; without them it stops at startup with an error. Frames are composed on the GPU only: no CPU copy and no CPU wait for the GPU before a page flip.
9+NeferWL needs a GPU and kernel driver with atomic KMS and a Vulkan 1.3 device that can export images as dmabufs; without them it stops at startup with an error. Frames are composed on the GPU only: no CPU copy and no CPU wait for the GPU before a page flip.
1010
1111 - **AMD GPUs:** developed and tested on AMD (radv).
1212 - **NVIDIA GPUs:** untested. Explicit sync (`linux-drm-syncobj`), which NVIDIA drivers need, is implemented. Testers with NVIDIA hardware are welcome to report issues or contribute.
@@ -14,20 +14,20 @@ NeferTTY needs a GPU and kernel driver with atomic KMS and a Vulkan 1.3 device t
1414
1515 Build: `make build`.
1616
17-Run: `nefertty --backend=headless --timeout 5s`
17+Run: `neferwl --backend=headless --timeout 5s`
1818
1919 ## Install (Arch Linux)
2020
2121 ```sh
22-make pkg # builds dist/nefertty-*.pkg.tar.zst from HEAD
23-sudo pacman -U dist/nefertty-*.pkg.tar.zst
22+make pkg # builds dist/neferwl-*.pkg.tar.zst from HEAD
23+sudo pacman -U dist/neferwl-*.pkg.tar.zst
2424 ```
2525
26-The package installs `nefertty` and a **NeferTTY** session for display managers (Ly, GDM, SDDM). The session runs `nefertty --session`, which shares `WAYLAND_DISPLAY` and `DISPLAY` with D-Bus and systemd user services, so portals and notification daemons reach it.
26+The package installs `neferwl` and a **NeferWL** session for display managers (Ly, GDM, SDDM). The session runs `neferwl --session`, which shares `WAYLAND_DISPLAY` and `DISPLAY` with D-Bus and systemd user services, so portals and notification daemons reach it.
2727
2828 ## Developing the bindings
2929
30-NeferTTY depends on tagged releases of [purego-libwayland](https://github.com/bnema/purego-libwayland) and [purego-vulkan](https://github.com/bnema/purego-vulkan). To change them together with NeferTTY, check them out next to it and use a Go workspace (not committed):
30+NeferWL depends on tagged releases of [purego-libwayland](https://github.com/bnema/purego-libwayland) and [purego-vulkan](https://github.com/bnema/purego-vulkan). To change them together with NeferWL, check them out next to it and use a Go workspace (not committed):
3131
3232 ```sh
3333 go work init . ../purego-libwayland ../purego-vulkan
@@ -37,7 +37,7 @@ go work init . ../purego-libwayland ../purego-vulkan
3737
3838 ## Configuration
3939
40-Configuration lives at `$XDG_CONFIG_HOME/nefertty/config` (or `~/.config/nefertty/config`). Use `nefertty --config path` to select another file; `nefertty validate-config [path]` checks it without starting the compositor.
40+Configuration lives at `$XDG_CONFIG_HOME/neferwl/config` (or `~/.config/neferwl/config`). Use `neferwl --config path` to select another file; `neferwl validate-config [path]` checks it without starting the compositor.
4141
4242 One `key = value` per line; `#` starts a comment:
4343
@@ -53,7 +53,7 @@ See `examples/config` for every key and its default. A missing file means defaul
5353
5454 ## Running commands
5555
56-NeferTTY starts a program, not a shell line: `spawn` runs a binary or a script. Anything more than one command with arguments, such as pipes or variables, goes in a script that you write.
56+NeferWL starts a program, not a shell line: `spawn` runs a binary or a script. Anything more than one command with arguments, such as pipes or variables, goes in a script that you write.
5757
5858 `spawn <command>` binds, `startup = <command>` lines and `terminal = <command>` run one program directly, without a shell. The line is split on spaces: the first word is the program (looked up in `PATH`, or a path such as `/opt/tool/run`), the other words are its arguments.
5959
@@ -80,11 +80,11 @@ bind.cmd+shift+s = spawn screenshot-area
8080
8181 Make it executable (`chmod +x`) and put it in a directory of your `PATH`, such as `~/.local/bin`. The script can use any shell, including fish (`#!/usr/bin/env fish`).
8282
83-Programs started by NeferTTY get `WAYLAND_DISPLAY`, `DISPLAY` (see [X11 apps](#x11-apps)) and `NEFERTTY_STATE` (see below). `startup` commands run once when the session starts; editing them takes effect at the next start.
83+Programs started by NeferWL get `WAYLAND_DISPLAY`, `DISPLAY` (see [X11 apps](#x11-apps)) and `NEFERWL_STATE` (see below). `startup` commands run once when the session starts; editing them takes effect at the next start.
8484
8585 ## Clipboard
8686
87-NeferTTY supports the clipboard (`wl_data_device`), the primary selection (middle-click paste) and `ext_data_control_v1` for clipboard managers. With [cliphist](https://github.com/sentriz/cliphist), store every copy at startup and bind a picker script (see [Running commands](#running-commands)):
87+NeferWL supports the clipboard (`wl_data_device`), the primary selection (middle-click paste) and `ext_data_control_v1` for clipboard managers. With [cliphist](https://github.com/sentriz/cliphist), store every copy at startup and bind a picker script (see [Running commands](#running-commands)):
8888
8989 ```text
9090 startup = wl-paste --watch cliphist store
@@ -102,7 +102,7 @@ Drag and drop is not supported yet.
102102
103103 ## X11 apps
104104
105-X11 apps such as Steam and Wine run through [xwayland-satellite](https://github.com/Supreeeme/xwayland-satellite) 0.7 or later, found in `PATH`. NeferTTY opens an X11 display, sets `DISPLAY` for the programs it starts, and runs xwayland-satellite when the first X11 app connects. If xwayland-satellite exits, the next X11 app starts it again.
105+X11 apps such as Steam and Wine run through [xwayland-satellite](https://github.com/Supreeeme/xwayland-satellite) 0.7 or later, found in `PATH`. NeferWL opens an X11 display, sets `DISPLAY` for the programs it starts, and runs xwayland-satellite when the first X11 app connects. If xwayland-satellite exits, the next X11 app starts it again.
106106
107107 ```text
108108 xwayland = xwayland-satellite # the default; a path also works
@@ -113,19 +113,19 @@ Do not start xwayland-satellite yourself with `startup`. Changing `xwayland` tak
113113
114114 ## State for scripts
115115
116-While it runs, NeferTTY keeps its state in `$XDG_RUNTIME_DIR/nefertty/<wayland socket>.json` and passes that path to the programs it starts as `NEFERTTY_STATE`. The file lists every output (active numbered workspace, workspace count, name of the workspace on screen), the focused output and window, and every window with its app ID, PID, output and workspace.
116+While it runs, NeferWL keeps its state in `$XDG_RUNTIME_DIR/neferwl/<wayland socket>.json` and passes that path to the programs it starts as `NEFERWL_STATE`. The file lists every output (active numbered workspace, workspace count, name of the workspace on screen), the focused output and window, and every window with its app ID, PID, output and workspace.
117117
118118 ```sh
119-nefertty state # the whole state as JSON
120-nefertty state output-of "$PID" # the output of that process's window, or its nearest parent's
119+neferwl state # the whole state as JSON
120+neferwl state output-of "$PID" # the output of that process's window, or its nearest parent's
121121 ```
122122
123123 `output-of` finds application windows only; bars have no single output.
124124
125125 ## Try it (headless)
126126
127-Run `nefertty --backend=headless --screenshot /tmp/nefertty-shots`, then connect with
128-`WAYLAND_DISPLAY=<logged name> foot`. `/tmp/nefertty-shots/latest.png` shows the current frame.
127+Run `neferwl --backend=headless --screenshot /tmp/neferwl-shots`, then connect with
128+`WAYLAND_DISPLAY=<logged name> foot`. `/tmp/neferwl-shots/latest.png` shows the current frame.
129129 Use `--input path` (or `--input -` for stdin) to inject a headless script. Each line is
130130 `type text`, `key Super+Return` (also Shift, Ctrl, Alt or a bare key), `sleep 1s`, `move x y` (absolute output coordinates), `click [left|right|middle]`,
131131 `down button`, or `up button`. Cursor rendering is not implemented yet; pointer
@@ -133,13 +133,13 @@ focus after layout changes is updated on the next move.
133133
134134 ## Why not Rust?
135135
136-Most Wayland compositors are written in C (wlroots, Sway, Mutter), C++ (KWin, Hyprland, gamescope) or Rust (niri, COSMIC). NeferTTY is written in Go, by choice:
136+Most Wayland compositors are written in C (wlroots, Sway, Mutter), C++ (KWin, Hyprland, gamescope) or Rust (niri, COSMIC). NeferWL is written in Go, by choice:
137137
138138 - **Simple and readable.** Go is small and explicit. Goroutines and channels fit a compositor where each part (input, outputs, clients) owns its own state.
139139 - **Fast builds, easy tooling.** A full build takes seconds; tests, the race detector, profiling and formatting come with the language.
140-- **No cgo.** NeferTTY builds with `CGO_ENABLED=0`: libwayland, Vulkan and libinput are loaded at runtime through [purego](https://github.com/ebitengine/purego).
140+- **No cgo.** NeferWL builds with `CGO_ENABLED=0`: libwayland, Vulkan and libinput are loaded at runtime through [purego](https://github.com/ebitengine/purego).
141141 - **Fast enough.** With care for allocations and the garbage collector, the hot paths (input, rendering, buffer handling) perform close to native code.
142142
143-As a software engineer, my passion is bringing more tools to the Go ecosystem. NeferTTY grew its own libraries along the way: purego-libwayland, purego-vulkan and wlturbo, to be published for others to reuse. Building them is part of the fun.
143+As a software engineer, my passion is bringing more tools to the Go ecosystem. NeferWL grew its own libraries along the way: purego-libwayland, purego-vulkan and wlturbo, to be published for others to reuse. Building them is part of the fun.
144144
145-What Go does not give us is Rust's borrow checker: memory and concurrency mistakes are not caught at compile time. NeferTTY makes up for it with strict ownership (one goroutine owns each piece of state), the race detector on every test run, and protocol tests against real Wayland clients.
145+What Go does not give us is Rust's borrow checker: memory and concurrency mistakes are not caught at compile time. NeferWL makes up for it with strict ownership (one goroutine owns each piece of state), the race detector on every test run, and protocol tests against real Wayland clients.
@@ -1,12 +1,12 @@
1-# NeferTTY1+# NeferWL
2 2
3-NeferTTY is a minimal Wayland compositor in Go with Niri-style scrollable columns. It runs on a TTY (DRM/KMS, libinput, Vulkan) or headless.3+NeferWL is a minimal Wayland compositor in Go with Niri-style scrollable columns. It runs on a TTY (DRM/KMS, libinput, Vulkan) or headless.
4 4
5 Requires Linux and Go 1.27.5 Requires Linux and Go 1.27.
6 6
7 ## Hardware support7 ## Hardware support
8 8
9-NeferTTY needs a GPU and kernel driver with atomic KMS and a Vulkan 1.3 device that can export images as dmabufs; without them it stops at startup with an error. Frames are composed on the GPU only: no CPU copy and no CPU wait for the GPU before a page flip.9+NeferWL needs a GPU and kernel driver with atomic KMS and a Vulkan 1.3 device that can export images as dmabufs; without them it stops at startup with an error. Frames are composed on the GPU only: no CPU copy and no CPU wait for the GPU before a page flip.
10 10
11 - **AMD GPUs:** developed and tested on AMD (radv).11 - **AMD GPUs:** developed and tested on AMD (radv).
12 - **NVIDIA GPUs:** untested. Explicit sync (`linux-drm-syncobj`), which NVIDIA drivers need, is implemented. Testers with NVIDIA hardware are welcome to report issues or contribute.12 - **NVIDIA GPUs:** untested. Explicit sync (`linux-drm-syncobj`), which NVIDIA drivers need, is implemented. Testers with NVIDIA hardware are welcome to report issues or contribute.
@@ -14,20 +14,20 @@ NeferTTY needs a GPU and kernel driver with atomic KMS and a Vulkan 1.3 device t
14 14
15 Build: `make build`.15 Build: `make build`.
16 16
17-Run: `nefertty --backend=headless --timeout 5s`17+Run: `neferwl --backend=headless --timeout 5s`
18 18
19 ## Install (Arch Linux)19 ## Install (Arch Linux)
20 20
21 ```sh21 ```sh
22-make pkg # builds dist/nefertty-*.pkg.tar.zst from HEAD22+make pkg # builds dist/neferwl-*.pkg.tar.zst from HEAD
23-sudo pacman -U dist/nefertty-*.pkg.tar.zst23+sudo pacman -U dist/neferwl-*.pkg.tar.zst
24 ```24 ```
25 25
26-The package installs `nefertty` and a **NeferTTY** session for display managers (Ly, GDM, SDDM). The session runs `nefertty --session`, which shares `WAYLAND_DISPLAY` and `DISPLAY` with D-Bus and systemd user services, so portals and notification daemons reach it.26+The package installs `neferwl` and a **NeferWL** session for display managers (Ly, GDM, SDDM). The session runs `neferwl --session`, which shares `WAYLAND_DISPLAY` and `DISPLAY` with D-Bus and systemd user services, so portals and notification daemons reach it.
27 27
28 ## Developing the bindings28 ## Developing the bindings
29 29
30-NeferTTY depends on tagged releases of [purego-libwayland](https://github.com/bnema/purego-libwayland) and [purego-vulkan](https://github.com/bnema/purego-vulkan). To change them together with NeferTTY, check them out next to it and use a Go workspace (not committed):30+NeferWL depends on tagged releases of [purego-libwayland](https://github.com/bnema/purego-libwayland) and [purego-vulkan](https://github.com/bnema/purego-vulkan). To change them together with NeferWL, check them out next to it and use a Go workspace (not committed):
31 31
32 ```sh32 ```sh
33 go work init . ../purego-libwayland ../purego-vulkan33 go work init . ../purego-libwayland ../purego-vulkan
@@ -37,7 +37,7 @@ go work init . ../purego-libwayland ../purego-vulkan
37 37
38 ## Configuration38 ## Configuration
39 39
40-Configuration lives at `$XDG_CONFIG_HOME/nefertty/config` (or `~/.config/nefertty/config`). Use `nefertty --config path` to select another file; `nefertty validate-config [path]` checks it without starting the compositor.40+Configuration lives at `$XDG_CONFIG_HOME/neferwl/config` (or `~/.config/neferwl/config`). Use `neferwl --config path` to select another file; `neferwl validate-config [path]` checks it without starting the compositor.
41 41
42 One `key = value` per line; `#` starts a comment:42 One `key = value` per line; `#` starts a comment:
43 43
@@ -53,7 +53,7 @@ See `examples/config` for every key and its default. A missing file means defaul
53 53
54 ## Running commands54 ## Running commands
55 55
56-NeferTTY starts a program, not a shell line: `spawn` runs a binary or a script. Anything more than one command with arguments, such as pipes or variables, goes in a script that you write.56+NeferWL starts a program, not a shell line: `spawn` runs a binary or a script. Anything more than one command with arguments, such as pipes or variables, goes in a script that you write.
57 57
58 `spawn <command>` binds, `startup = <command>` lines and `terminal = <command>` run one program directly, without a shell. The line is split on spaces: the first word is the program (looked up in `PATH`, or a path such as `/opt/tool/run`), the other words are its arguments.58 `spawn <command>` binds, `startup = <command>` lines and `terminal = <command>` run one program directly, without a shell. The line is split on spaces: the first word is the program (looked up in `PATH`, or a path such as `/opt/tool/run`), the other words are its arguments.
59 59
@@ -80,11 +80,11 @@ bind.cmd+shift+s = spawn screenshot-area
80 80
81 Make it executable (`chmod +x`) and put it in a directory of your `PATH`, such as `~/.local/bin`. The script can use any shell, including fish (`#!/usr/bin/env fish`).81 Make it executable (`chmod +x`) and put it in a directory of your `PATH`, such as `~/.local/bin`. The script can use any shell, including fish (`#!/usr/bin/env fish`).
82 82
83-Programs started by NeferTTY get `WAYLAND_DISPLAY`, `DISPLAY` (see [X11 apps](#x11-apps)) and `NEFERTTY_STATE` (see below). `startup` commands run once when the session starts; editing them takes effect at the next start.83+Programs started by NeferWL get `WAYLAND_DISPLAY`, `DISPLAY` (see [X11 apps](#x11-apps)) and `NEFERWL_STATE` (see below). `startup` commands run once when the session starts; editing them takes effect at the next start.
84 84
85 ## Clipboard85 ## Clipboard
86 86
87-NeferTTY supports the clipboard (`wl_data_device`), the primary selection (middle-click paste) and `ext_data_control_v1` for clipboard managers. With [cliphist](https://github.com/sentriz/cliphist), store every copy at startup and bind a picker script (see [Running commands](#running-commands)):87+NeferWL supports the clipboard (`wl_data_device`), the primary selection (middle-click paste) and `ext_data_control_v1` for clipboard managers. With [cliphist](https://github.com/sentriz/cliphist), store every copy at startup and bind a picker script (see [Running commands](#running-commands)):
88 88
89 ```text89 ```text
90 startup = wl-paste --watch cliphist store90 startup = wl-paste --watch cliphist store
@@ -102,7 +102,7 @@ Drag and drop is not supported yet.
102 102
103 ## X11 apps103 ## X11 apps
104 104
105-X11 apps such as Steam and Wine run through [xwayland-satellite](https://github.com/Supreeeme/xwayland-satellite) 0.7 or later, found in `PATH`. NeferTTY opens an X11 display, sets `DISPLAY` for the programs it starts, and runs xwayland-satellite when the first X11 app connects. If xwayland-satellite exits, the next X11 app starts it again.105+X11 apps such as Steam and Wine run through [xwayland-satellite](https://github.com/Supreeeme/xwayland-satellite) 0.7 or later, found in `PATH`. NeferWL opens an X11 display, sets `DISPLAY` for the programs it starts, and runs xwayland-satellite when the first X11 app connects. If xwayland-satellite exits, the next X11 app starts it again.
106 106
107 ```text107 ```text
108 xwayland = xwayland-satellite # the default; a path also works108 xwayland = xwayland-satellite # the default; a path also works
@@ -113,19 +113,19 @@ Do not start xwayland-satellite yourself with `startup`. Changing `xwayland` tak
113 113
114 ## State for scripts114 ## State for scripts
115 115
116-While it runs, NeferTTY keeps its state in `$XDG_RUNTIME_DIR/nefertty/<wayland socket>.json` and passes that path to the programs it starts as `NEFERTTY_STATE`. The file lists every output (active numbered workspace, workspace count, name of the workspace on screen), the focused output and window, and every window with its app ID, PID, output and workspace.116+While it runs, NeferWL keeps its state in `$XDG_RUNTIME_DIR/neferwl/<wayland socket>.json` and passes that path to the programs it starts as `NEFERWL_STATE`. The file lists every output (active numbered workspace, workspace count, name of the workspace on screen), the focused output and window, and every window with its app ID, PID, output and workspace.
117 117
118 ```sh118 ```sh
119-nefertty state # the whole state as JSON119+neferwl state # the whole state as JSON
120-nefertty state output-of "$PID" # the output of that process's window, or its nearest parent's120+neferwl state output-of "$PID" # the output of that process's window, or its nearest parent's
121 ```121 ```
122 122
123 `output-of` finds application windows only; bars have no single output.123 `output-of` finds application windows only; bars have no single output.
124 124
125 ## Try it (headless)125 ## Try it (headless)
126 126
127-Run `nefertty --backend=headless --screenshot /tmp/nefertty-shots`, then connect with127+Run `neferwl --backend=headless --screenshot /tmp/neferwl-shots`, then connect with
128-`WAYLAND_DISPLAY=<logged name> foot`. `/tmp/nefertty-shots/latest.png` shows the current frame.128+`WAYLAND_DISPLAY=<logged name> foot`. `/tmp/neferwl-shots/latest.png` shows the current frame.
129 Use `--input path` (or `--input -` for stdin) to inject a headless script. Each line is129 Use `--input path` (or `--input -` for stdin) to inject a headless script. Each line is
130 `type text`, `key Super+Return` (also Shift, Ctrl, Alt or a bare key), `sleep 1s`, `move x y` (absolute output coordinates), `click [left|right|middle]`,130 `type text`, `key Super+Return` (also Shift, Ctrl, Alt or a bare key), `sleep 1s`, `move x y` (absolute output coordinates), `click [left|right|middle]`,
131 `down button`, or `up button`. Cursor rendering is not implemented yet; pointer131 `down button`, or `up button`. Cursor rendering is not implemented yet; pointer
@@ -133,13 +133,13 @@ focus after layout changes is updated on the next move.
133 133
134 ## Why not Rust?134 ## Why not Rust?
135 135
136-Most Wayland compositors are written in C (wlroots, Sway, Mutter), C++ (KWin, Hyprland, gamescope) or Rust (niri, COSMIC). NeferTTY is written in Go, by choice:136+Most Wayland compositors are written in C (wlroots, Sway, Mutter), C++ (KWin, Hyprland, gamescope) or Rust (niri, COSMIC). NeferWL is written in Go, by choice:
137 137
138 - **Simple and readable.** Go is small and explicit. Goroutines and channels fit a compositor where each part (input, outputs, clients) owns its own state.138 - **Simple and readable.** Go is small and explicit. Goroutines and channels fit a compositor where each part (input, outputs, clients) owns its own state.
139 - **Fast builds, easy tooling.** A full build takes seconds; tests, the race detector, profiling and formatting come with the language.139 - **Fast builds, easy tooling.** A full build takes seconds; tests, the race detector, profiling and formatting come with the language.
140-- **No cgo.** NeferTTY builds with `CGO_ENABLED=0`: libwayland, Vulkan and libinput are loaded at runtime through [purego](https://github.com/ebitengine/purego).140+- **No cgo.** NeferWL builds with `CGO_ENABLED=0`: libwayland, Vulkan and libinput are loaded at runtime through [purego](https://github.com/ebitengine/purego).
141 - **Fast enough.** With care for allocations and the garbage collector, the hot paths (input, rendering, buffer handling) perform close to native code.141 - **Fast enough.** With care for allocations and the garbage collector, the hot paths (input, rendering, buffer handling) perform close to native code.
142 142
143-As a software engineer, my passion is bringing more tools to the Go ecosystem. NeferTTY grew its own libraries along the way: purego-libwayland, purego-vulkan and wlturbo, to be published for others to reuse. Building them is part of the fun.143+As a software engineer, my passion is bringing more tools to the Go ecosystem. NeferWL grew its own libraries along the way: purego-libwayland, purego-vulkan and wlturbo, to be published for others to reuse. Building them is part of the fun.
144 144
145-What Go does not give us is Rust's borrow checker: memory and concurrency mistakes are not caught at compile time. NeferTTY makes up for it with strict ownership (one goroutine owns each piece of state), the race detector on every test run, and protocol tests against real Wayland clients.145+What Go does not give us is Rust's borrow checker: memory and concurrency mistakes are not caught at compile time. NeferWL makes up for it with strict ownership (one goroutine owns each piece of state), the race detector on every test run, and protocol tests against real Wayland clients.
R cmd/nefertty/main.go → cmd/neferwl/main.go +10 -10 renamed, 93% similar
@@ -14,11 +14,11 @@ import (
1414 "syscall"
1515 "time"
1616
17- "github.com/bnema/nefertty/internal/adapters/config"
18- "github.com/bnema/nefertty/internal/adapters/statefile"
19- "github.com/bnema/nefertty/internal/app"
20- "github.com/bnema/nefertty/internal/logging"
21- "github.com/bnema/nefertty/internal/ports"
17+ "github.com/bnema/neferwl/internal/adapters/config"
18+ "github.com/bnema/neferwl/internal/adapters/statefile"
19+ "github.com/bnema/neferwl/internal/app"
20+ "github.com/bnema/neferwl/internal/logging"
21+ "github.com/bnema/neferwl/internal/ports"
2222 )
2323
2424 type usageError struct{ error }
@@ -31,7 +31,7 @@ func main() {
3131 os.Exit(runCode())
3232 }
3333
34-// tuneGC keeps the heap close to what nefertty uses: a compositor runs for
34+// tuneGC keeps the heap close to what neferwl uses: a compositor runs for
3535 // days and its per-frame garbage is small, so the default GOGC=100 (heap
3636 // grows to twice the live data) mostly holds freed memory. A soft limit
3737 // makes the collector work harder before the process gets large. GOGC and
@@ -111,7 +111,7 @@ func run() error {
111111 fmt.Println(v)
112112 return nil
113113 }
114- flags := flag.NewFlagSet("nefertty", flag.ContinueOnError)
114+ flags := flag.NewFlagSet("neferwl", flag.ContinueOnError)
115115 backend := flags.String("backend", "drm", "drm or headless")
116116 screenshot := flags.String("screenshot", "", "write PNG frames to directory")
117117 size := flags.String("size", "1920x1080", "headless output sizes WxH, comma-separated for several outputs")
@@ -247,10 +247,10 @@ func run() error {
247247
248248 // runState prints the session state for scripts:
249249 //
250-// nefertty state the whole state
251-// nefertty state output-of <pid> the output showing that process's window
250+// neferwl state the whole state
251+// neferwl state output-of <pid> the output showing that process's window
252252 //
253-// The file is $NEFERTTY_STATE, else the one of $WAYLAND_DISPLAY.
253+// The file is $NEFERWL_STATE, else the one of $WAYLAND_DISPLAY.
254254 func runState(args []string) error {
255255 usage := usageError{fmt.Errorf("usage: state [output-of <pid>]")}
256256 pid := 0
@@ -14,11 +14,11 @@ import (
14 "syscall"14 "syscall"
15 "time"15 "time"
16 16
17- "github.com/bnema/nefertty/internal/adapters/config"17+ "github.com/bnema/neferwl/internal/adapters/config"
18- "github.com/bnema/nefertty/internal/adapters/statefile"18+ "github.com/bnema/neferwl/internal/adapters/statefile"
19- "github.com/bnema/nefertty/internal/app"19+ "github.com/bnema/neferwl/internal/app"
20- "github.com/bnema/nefertty/internal/logging"20+ "github.com/bnema/neferwl/internal/logging"
21- "github.com/bnema/nefertty/internal/ports"21+ "github.com/bnema/neferwl/internal/ports"
22 )22 )
23 23
24 type usageError struct{ error }24 type usageError struct{ error }
@@ -31,7 +31,7 @@ func main() {
31 os.Exit(runCode())31 os.Exit(runCode())
32 }32 }
33 33
34-// tuneGC keeps the heap close to what nefertty uses: a compositor runs for34+// tuneGC keeps the heap close to what neferwl uses: a compositor runs for
35 // days and its per-frame garbage is small, so the default GOGC=100 (heap35 // days and its per-frame garbage is small, so the default GOGC=100 (heap
36 // grows to twice the live data) mostly holds freed memory. A soft limit36 // grows to twice the live data) mostly holds freed memory. A soft limit
37 // makes the collector work harder before the process gets large. GOGC and37 // makes the collector work harder before the process gets large. GOGC and
@@ -111,7 +111,7 @@ func run() error {
111 fmt.Println(v)111 fmt.Println(v)
112 return nil112 return nil
113 }113 }
114- flags := flag.NewFlagSet("nefertty", flag.ContinueOnError)114+ flags := flag.NewFlagSet("neferwl", flag.ContinueOnError)
115 backend := flags.String("backend", "drm", "drm or headless")115 backend := flags.String("backend", "drm", "drm or headless")
116 screenshot := flags.String("screenshot", "", "write PNG frames to directory")116 screenshot := flags.String("screenshot", "", "write PNG frames to directory")
117 size := flags.String("size", "1920x1080", "headless output sizes WxH, comma-separated for several outputs")117 size := flags.String("size", "1920x1080", "headless output sizes WxH, comma-separated for several outputs")
@@ -247,10 +247,10 @@ func run() error {
247 247
248 // runState prints the session state for scripts:248 // runState prints the session state for scripts:
249 //249 //
250-// nefertty state the whole state250+// neferwl state the whole state
251-// nefertty state output-of <pid> the output showing that process's window251+// neferwl state output-of <pid> the output showing that process's window
252 //252 //
253-// The file is $NEFERTTY_STATE, else the one of $WAYLAND_DISPLAY.253+// The file is $NEFERWL_STATE, else the one of $WAYLAND_DISPLAY.
254 func runState(args []string) error {254 func runState(args []string) error {
255 usage := usageError{fmt.Errorf("usage: state [output-of <pid>]")}255 usage := usageError{fmt.Errorf("usage: state [output-of <pid>]")}
256 pid := 0256 pid := 0
R cmd/nefertty/main_test.go → cmd/neferwl/main_test.go +7 -7 renamed, 61% similar
@@ -19,13 +19,13 @@ func TestExitCodes(t *testing.T) {
1919 args []string
2020 code int
2121 }{
22- {[]string{"nefertty", "--help"}, 0},
23- {[]string{"nefertty", "--backend=invalid"}, 2},
24- {[]string{"nefertty", "--backend=drm", "--screenshot=/tmp/shots"}, 2},
25- {[]string{"nefertty", "--timeout=-1s"}, 2},
26- {[]string{"nefertty", "extra"}, 2},
27- {[]string{"nefertty", "--config=/nonexistent/nefertty.conf"}, 1},
28- {[]string{"nefertty", "validate-config", "/nonexistent/nefertty.conf"}, 1},
22+ {[]string{"neferwl", "--help"}, 0},
23+ {[]string{"neferwl", "--backend=invalid"}, 2},
24+ {[]string{"neferwl", "--backend=drm", "--screenshot=/tmp/shots"}, 2},
25+ {[]string{"neferwl", "--timeout=-1s"}, 2},
26+ {[]string{"neferwl", "extra"}, 2},
27+ {[]string{"neferwl", "--config=/nonexistent/neferwl.conf"}, 1},
28+ {[]string{"neferwl", "validate-config", "/nonexistent/neferwl.conf"}, 1},
2929 } {
3030 old := os.Args
3131 os.Args = tc.args
@@ -19,13 +19,13 @@ func TestExitCodes(t *testing.T) {
19 args []string19 args []string
20 code int20 code int
21 }{21 }{
22- {[]string{"nefertty", "--help"}, 0},22+ {[]string{"neferwl", "--help"}, 0},
23- {[]string{"nefertty", "--backend=invalid"}, 2},23+ {[]string{"neferwl", "--backend=invalid"}, 2},
24- {[]string{"nefertty", "--backend=drm", "--screenshot=/tmp/shots"}, 2},24+ {[]string{"neferwl", "--backend=drm", "--screenshot=/tmp/shots"}, 2},
25- {[]string{"nefertty", "--timeout=-1s"}, 2},25+ {[]string{"neferwl", "--timeout=-1s"}, 2},
26- {[]string{"nefertty", "extra"}, 2},26+ {[]string{"neferwl", "extra"}, 2},
27- {[]string{"nefertty", "--config=/nonexistent/nefertty.conf"}, 1},27+ {[]string{"neferwl", "--config=/nonexistent/neferwl.conf"}, 1},
28- {[]string{"nefertty", "validate-config", "/nonexistent/nefertty.conf"}, 1},28+ {[]string{"neferwl", "validate-config", "/nonexistent/neferwl.conf"}, 1},
29 } {29 } {
30 old := os.Args30 old := os.Args
31 os.Args = tc.args31 os.Args = tc.args
M examples/config +3 -3
@@ -1,4 +1,4 @@
1-# nefertty config: one `key = value` per line, # starts a comment.
1+# neferwl config: one `key = value` per line, # starts a comment.
22 # Every value below is the default; a missing file means defaults.
33 # Changes apply live. An invalid line logs a warning and keeps the default.
44
@@ -16,7 +16,7 @@ terminal = foot
1616
1717 # Commands run once when the session starts, one line each. Like spawn, a
1818 # command runs without a shell: see "Running commands" in the README.
19-# Programs get WAYLAND_DISPLAY and NEFERTTY_STATE.
19+# Programs get WAYLAND_DISPLAY and NEFERWL_STATE.
2020 # startup = waybar
2121 # startup = wl-paste --watch cliphist store
2222
@@ -49,7 +49,7 @@ focus.follow-move = off
4949 # workspace.web.max-columns = 3
5050 # workspace.web.overflow = fixed
5151 #
52-# Slots: column.N = <width>, <command>. nefertty starts each command in the
52+# Slots: column.N = <width>, <command>. neferwl starts each command in the
5353 # background and puts its first window in column N, without taking focus.
5454 # A closed slot stays empty until the workspace is shown again. Apps that
5555 # reuse a running instance need a new-instance flag. Widths need
@@ -1,4 +1,4 @@
1-# nefertty config: one `key = value` per line, # starts a comment.1+# neferwl config: one `key = value` per line, # starts a comment.
2 # Every value below is the default; a missing file means defaults.2 # Every value below is the default; a missing file means defaults.
3 # Changes apply live. An invalid line logs a warning and keeps the default.3 # Changes apply live. An invalid line logs a warning and keeps the default.
4 4
@@ -16,7 +16,7 @@ terminal = foot
16 16
17 # Commands run once when the session starts, one line each. Like spawn, a17 # Commands run once when the session starts, one line each. Like spawn, a
18 # command runs without a shell: see "Running commands" in the README.18 # command runs without a shell: see "Running commands" in the README.
19-# Programs get WAYLAND_DISPLAY and NEFERTTY_STATE.19+# Programs get WAYLAND_DISPLAY and NEFERWL_STATE.
20 # startup = waybar20 # startup = waybar
21 # startup = wl-paste --watch cliphist store21 # startup = wl-paste --watch cliphist store
22 22
@@ -49,7 +49,7 @@ focus.follow-move = off
49 # workspace.web.max-columns = 349 # workspace.web.max-columns = 3
50 # workspace.web.overflow = fixed50 # workspace.web.overflow = fixed
51 #51 #
52-# Slots: column.N = <width>, <command>. nefertty starts each command in the52+# Slots: column.N = <width>, <command>. neferwl starts each command in the
53 # background and puts its first window in column N, without taking focus.53 # background and puts its first window in column N, without taking focus.
54 # A closed slot stays empty until the workspace is shown again. Apps that54 # A closed slot stays empty until the workspace is shown again. Apps that
55 # reuse a running instance need a new-instance flag. Widths need55 # reuse a running instance need a new-instance flag. Widths need
M go.mod +1 -1
@@ -1,4 +1,4 @@
1-module github.com/bnema/nefertty
1+module github.com/bnema/neferwl
22
33 go 1.27
44
@@ -1,4 +1,4 @@
1-module github.com/bnema/nefertty1+module github.com/bnema/neferwl
2 2
3 go 1.273 go 1.27
4 4
M internal/adapters/config/config.go +2 -2
@@ -15,7 +15,7 @@ import (
1515 "strings"
1616 "unicode"
1717
18- "github.com/bnema/nefertty/internal/ports"
18+ "github.com/bnema/neferwl/internal/ports"
1919 )
2020
2121 // defaultBinds use the config syntax and go through the same parser as user binds.
@@ -71,7 +71,7 @@ func DefaultPath() string {
7171 base = filepath.Join(home, ".config")
7272 }
7373 }
74- return filepath.Join(base, "nefertty", "config")
74+ return filepath.Join(base, "neferwl", "config")
7575 }
7676
7777 func Defaults() ports.Config {
@@ -15,7 +15,7 @@ import (
15 "strings"15 "strings"
16 "unicode"16 "unicode"
17 17
18- "github.com/bnema/nefertty/internal/ports"18+ "github.com/bnema/neferwl/internal/ports"
19 )19 )
20 20
21 // defaultBinds use the config syntax and go through the same parser as user binds.21 // defaultBinds use the config syntax and go through the same parser as user binds.
@@ -71,7 +71,7 @@ func DefaultPath() string {
71 base = filepath.Join(home, ".config")71 base = filepath.Join(home, ".config")
72 }72 }
73 }73 }
74- return filepath.Join(base, "nefertty", "config")74+ return filepath.Join(base, "neferwl", "config")
75 }75 }
76 76
77 func Defaults() ports.Config {77 func Defaults() ports.Config {
M internal/adapters/config/config_test.go +2 -2
@@ -7,7 +7,7 @@ import (
77 "strings"
88 "testing"
99
10- "github.com/bnema/nefertty/internal/ports"
10+ "github.com/bnema/neferwl/internal/ports"
1111 )
1212
1313 func parseString(t *testing.T, s string) (ports.Config, []Warning) {
@@ -34,7 +34,7 @@ func TestDefaultsAndLoad(t *testing.T) {
3434 t.Fatalf("explicit missing: %v", err)
3535 }
3636 t.Setenv("XDG_CONFIG_HOME", t.TempDir())
37- if DefaultPath() != filepath.Join(os.Getenv("XDG_CONFIG_HOME"), "nefertty", "config") {
37+ if DefaultPath() != filepath.Join(os.Getenv("XDG_CONFIG_HOME"), "neferwl", "config") {
3838 t.Fatal(DefaultPath())
3939 }
4040 got, w, err := LoadDefault()
@@ -7,7 +7,7 @@ import (
7 "strings"7 "strings"
8 "testing"8 "testing"
9 9
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 )11 )
12 12
13 func parseString(t *testing.T, s string) (ports.Config, []Warning) {13 func parseString(t *testing.T, s string) (ports.Config, []Warning) {
@@ -34,7 +34,7 @@ func TestDefaultsAndLoad(t *testing.T) {
34 t.Fatalf("explicit missing: %v", err)34 t.Fatalf("explicit missing: %v", err)
35 }35 }
36 t.Setenv("XDG_CONFIG_HOME", t.TempDir())36 t.Setenv("XDG_CONFIG_HOME", t.TempDir())
37- if DefaultPath() != filepath.Join(os.Getenv("XDG_CONFIG_HOME"), "nefertty", "config") {37+ if DefaultPath() != filepath.Join(os.Getenv("XDG_CONFIG_HOME"), "neferwl", "config") {
38 t.Fatal(DefaultPath())38 t.Fatal(DefaultPath())
39 }39 }
40 got, w, err := LoadDefault()40 got, w, err := LoadDefault()
M internal/adapters/config/watch.go +1 -1
@@ -9,7 +9,7 @@ import (
99 "time"
1010 "unsafe"
1111
12- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/ports"
1313 "github.com/bnema/zerowrap"
1414 "golang.org/x/sys/unix"
1515 )
@@ -9,7 +9,7 @@ import (
9 "time"9 "time"
10 "unsafe"10 "unsafe"
11 11
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 "github.com/bnema/zerowrap"13 "github.com/bnema/zerowrap"
14 "golang.org/x/sys/unix"14 "golang.org/x/sys/unix"
15 )15 )
M internal/adapters/config/watch_test.go +2 -2
@@ -7,8 +7,8 @@ import (
77 "testing"
88 "time"
99
10- "github.com/bnema/nefertty/internal/logging"
11- "github.com/bnema/nefertty/internal/ports"
10+ "github.com/bnema/neferwl/internal/logging"
11+ "github.com/bnema/neferwl/internal/ports"
1212 )
1313
1414 func TestWatch(t *testing.T) {
@@ -7,8 +7,8 @@ import (
7 "testing"7 "testing"
8 "time"8 "time"
9 9
10- "github.com/bnema/nefertty/internal/logging"10+ "github.com/bnema/neferwl/internal/logging"
11- "github.com/bnema/nefertty/internal/ports"11+ "github.com/bnema/neferwl/internal/ports"
12 )12 )
13 13
14 func TestWatch(t *testing.T) {14 func TestWatch(t *testing.T) {
M internal/adapters/drm/atomic.go +1 -1
@@ -9,7 +9,7 @@ import (
99 "time"
1010 "unsafe"
1111
12- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/ports"
1313 )
1414
1515 // Atomic KMS (ADR 015): every change on screen is one atomic commit. A
@@ -9,7 +9,7 @@ import (
9 "time"9 "time"
10 "unsafe"10 "unsafe"
11 11
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 )13 )
14 14
15 // Atomic KMS (ADR 015): every change on screen is one atomic commit. A15 // Atomic KMS (ADR 015): every change on screen is one atomic commit. A
M internal/adapters/drm/card.go +1 -1
@@ -8,7 +8,7 @@ import (
88 "sync"
99 "sync/atomic"
1010
11- "github.com/bnema/nefertty/internal/ports"
11+ "github.com/bnema/neferwl/internal/ports"
1212 "github.com/bnema/zerowrap"
1313 "golang.org/x/sys/unix"
1414 )
@@ -8,7 +8,7 @@ import (
8 "sync"8 "sync"
9 "sync/atomic"9 "sync/atomic"
10 10
11- "github.com/bnema/nefertty/internal/ports"11+ "github.com/bnema/neferwl/internal/ports"
12 "github.com/bnema/zerowrap"12 "github.com/bnema/zerowrap"
13 "golang.org/x/sys/unix"13 "golang.org/x/sys/unix"
14 )14 )
M internal/adapters/drm/commit_test.go +2 -2
@@ -6,8 +6,8 @@ import (
66 "testing"
77 "time"
88
9- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"
10- "github.com/bnema/nefertty/internal/ports"
9+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
10+ "github.com/bnema/neferwl/internal/ports"
1111 "github.com/stretchr/testify/mock"
1212 "golang.org/x/sys/unix"
1313 )
@@ -6,8 +6,8 @@ import (
6 "testing"6 "testing"
7 "time"7 "time"
8 8
9- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"9+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 "github.com/stretchr/testify/mock"11 "github.com/stretchr/testify/mock"
12 "golang.org/x/sys/unix"12 "golang.org/x/sys/unix"
13 )13 )
M internal/adapters/drm/cursor.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "slices"
66 "sync"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 // Hardware cursor on the CRTC's cursor plane. Move and Hide come from the
@@ -5,7 +5,7 @@ import (
5 "slices"5 "slices"
6 "sync"6 "sync"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 // Hardware cursor on the CRTC's cursor plane. Move and Hide come from the11 // Hardware cursor on the CRTC's cursor plane. Move and Hide come from the
M internal/adapters/drm/kms.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "math"
77 "unsafe"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 "golang.org/x/sys/unix"
1111 )
1212
@@ -6,7 +6,7 @@ import (
6 "math"6 "math"
7 "unsafe"7 "unsafe"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 "golang.org/x/sys/unix"10 "golang.org/x/sys/unix"
11 )11 )
12 12
M internal/adapters/drm/kms_mock_test.go +1 -1
@@ -5,7 +5,7 @@
55 package drm
66
77 import (
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 mock "github.com/stretchr/testify/mock"
1010 )
1111
@@ -5,7 +5,7 @@
5 package drm5 package drm
6 6
7 import (7 import (
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 mock "github.com/stretchr/testify/mock"9 mock "github.com/stretchr/testify/mock"
10 )10 )
11 11
M internal/adapters/drm/kms_test.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "time"
88 "unsafe"
99
10- "github.com/bnema/nefertty/internal/ports"
10+ "github.com/bnema/neferwl/internal/ports"
1111 )
1212
1313 func TestStructSizesMatchIoctls(t *testing.T) {
@@ -7,7 +7,7 @@ import (
7 "time"7 "time"
8 "unsafe"8 "unsafe"
9 9
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 )11 )
12 12
13 func TestStructSizesMatchIoctls(t *testing.T) {13 func TestStructSizesMatchIoctls(t *testing.T) {
M internal/adapters/drm/output.go +2 -2
@@ -11,8 +11,8 @@ import (
1111 "time"
1212 "unsafe"
1313
14- "github.com/bnema/nefertty/internal/adapters/syncfile"
15- "github.com/bnema/nefertty/internal/ports"
14+ "github.com/bnema/neferwl/internal/adapters/syncfile"
15+ "github.com/bnema/neferwl/internal/ports"
1616 "github.com/bnema/zerowrap"
1717 "golang.org/x/sys/unix"
1818 )
@@ -11,8 +11,8 @@ import (
11 "time"11 "time"
12 "unsafe"12 "unsafe"
13 13
14- "github.com/bnema/nefertty/internal/adapters/syncfile"14+ "github.com/bnema/neferwl/internal/adapters/syncfile"
15- "github.com/bnema/nefertty/internal/ports"15+ "github.com/bnema/neferwl/internal/ports"
16 "github.com/bnema/zerowrap"16 "github.com/bnema/zerowrap"
17 "golang.org/x/sys/unix"17 "golang.org/x/sys/unix"
18 )18 )
M internal/adapters/drm/output_test.go +2 -2
@@ -8,8 +8,8 @@ import (
88 "testing"
99 "time"
1010
11- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"
12- "github.com/bnema/nefertty/internal/ports"
11+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
12+ "github.com/bnema/neferwl/internal/ports"
1313 "github.com/bnema/zerowrap"
1414 "github.com/stretchr/testify/mock"
1515 "golang.org/x/sys/unix"
@@ -8,8 +8,8 @@ import (
8 "testing"8 "testing"
9 "time"9 "time"
10 10
11- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"11+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 "github.com/bnema/zerowrap"13 "github.com/bnema/zerowrap"
14 "github.com/stretchr/testify/mock"14 "github.com/stretchr/testify/mock"
15 "golang.org/x/sys/unix"15 "golang.org/x/sys/unix"
M internal/adapters/drm/overlay.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "os"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 "golang.org/x/sys/unix"
1010 )
1111
@@ -5,7 +5,7 @@ import (
5 "os"5 "os"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 "golang.org/x/sys/unix"9 "golang.org/x/sys/unix"
10 )10 )
11 11
M internal/adapters/drm/overlay_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "testing"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 "github.com/stretchr/testify/mock"
1010 "golang.org/x/sys/unix"
1111 )
@@ -5,7 +5,7 @@ import (
5 "testing"5 "testing"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 "github.com/stretchr/testify/mock"9 "github.com/stretchr/testify/mock"
10 "golang.org/x/sys/unix"10 "golang.org/x/sys/unix"
11 )11 )
M internal/adapters/drm/scanout.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "time"
88 "unsafe"
99
10- "github.com/bnema/nefertty/internal/ports"
10+ "github.com/bnema/neferwl/internal/ports"
1111 "golang.org/x/sys/unix"
1212 )
1313
@@ -7,7 +7,7 @@ import (
7 "time"7 "time"
8 "unsafe"8 "unsafe"
9 9
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 "golang.org/x/sys/unix"11 "golang.org/x/sys/unix"
12 )12 )
13 13
M internal/adapters/drm/scanout_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/stretchr/testify/mock"
99 )
1010
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/stretchr/testify/mock"8 "github.com/stretchr/testify/mock"
9 )9 )
10 10
M internal/adapters/drm/stuck_test.go +2 -2
@@ -8,8 +8,8 @@ import (
88 "testing"
99 "time"
1010
11- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"
12- "github.com/bnema/nefertty/internal/ports"
11+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
12+ "github.com/bnema/neferwl/internal/ports"
1313 "github.com/stretchr/testify/mock"
1414 "golang.org/x/sys/unix"
1515 )
@@ -8,8 +8,8 @@ import (
8 "testing"8 "testing"
9 "time"9 "time"
10 10
11- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"11+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 "github.com/stretchr/testify/mock"13 "github.com/stretchr/testify/mock"
14 "golang.org/x/sys/unix"14 "golang.org/x/sys/unix"
15 )15 )
M internal/adapters/headless/cursor.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "image"
55 "sync"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 // Cursor is the software cursor drawn into screenshots; it plays the role of
@@ -4,7 +4,7 @@ import (
4 "image"4 "image"
5 "sync"5 "sync"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 // Cursor is the software cursor drawn into screenshots; it plays the role of10 // Cursor is the software cursor drawn into screenshots; it plays the role of
M internal/adapters/headless/cursor_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "image/color"
66 "testing"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 func TestCursorDraw(t *testing.T) {
@@ -5,7 +5,7 @@ import (
5 "image/color"5 "image/color"
6 "testing"6 "testing"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 func TestCursorDraw(t *testing.T) {11 func TestCursorDraw(t *testing.T) {
M internal/adapters/headless/output.go +2 -2
@@ -11,8 +11,8 @@ import (
1111 "path/filepath"
1212 "time"
1313
14- "github.com/bnema/nefertty/internal/adapters/syncfile"
15- "github.com/bnema/nefertty/internal/ports"
14+ "github.com/bnema/neferwl/internal/adapters/syncfile"
15+ "github.com/bnema/neferwl/internal/ports"
1616 "github.com/bnema/zerowrap"
1717 )
1818
@@ -11,8 +11,8 @@ import (
11 "path/filepath"11 "path/filepath"
12 "time"12 "time"
13 13
14- "github.com/bnema/nefertty/internal/adapters/syncfile"14+ "github.com/bnema/neferwl/internal/adapters/syncfile"
15- "github.com/bnema/nefertty/internal/ports"15+ "github.com/bnema/neferwl/internal/ports"
16 "github.com/bnema/zerowrap"16 "github.com/bnema/zerowrap"
17 )17 )
18 18
M internal/adapters/headless/output_test.go +2 -2
@@ -12,8 +12,8 @@ import (
1212 "testing"
1313 "time"
1414
15- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"
16- "github.com/bnema/nefertty/internal/ports"
15+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
16+ "github.com/bnema/neferwl/internal/ports"
1717 "github.com/stretchr/testify/mock"
1818 )
1919
@@ -12,8 +12,8 @@ import (
12 "testing"12 "testing"
13 "time"13 "time"
14 14
15- portsmocks "github.com/bnema/nefertty/internal/mocks/ports"15+ portsmocks "github.com/bnema/neferwl/internal/mocks/ports"
16- "github.com/bnema/nefertty/internal/ports"16+ "github.com/bnema/neferwl/internal/ports"
17 "github.com/stretchr/testify/mock"17 "github.com/stretchr/testify/mock"
18 )18 )
19 19
M internal/adapters/headlessinput/input.go +2 -2
@@ -9,8 +9,8 @@ import (
99 "time"
1010 "unicode"
1111
12- "github.com/bnema/nefertty/internal/adapters/xkb"
13- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/adapters/xkb"
13+ "github.com/bnema/neferwl/internal/ports"
1414 "github.com/bnema/zerowrap"
1515 )
1616
@@ -9,8 +9,8 @@ import (
9 "time"9 "time"
10 "unicode"10 "unicode"
11 11
12- "github.com/bnema/nefertty/internal/adapters/xkb"12+ "github.com/bnema/neferwl/internal/adapters/xkb"
13- "github.com/bnema/nefertty/internal/ports"13+ "github.com/bnema/neferwl/internal/ports"
14 "github.com/bnema/zerowrap"14 "github.com/bnema/zerowrap"
15 )15 )
16 16
M internal/adapters/headlessinput/input_test.go +3 -3
@@ -2,9 +2,9 @@ package headlessinput
22
33 import (
44 "context"
5- "github.com/bnema/nefertty/internal/adapters/xkb"
6- "github.com/bnema/nefertty/internal/logging"
7- "github.com/bnema/nefertty/internal/ports"
5+ "github.com/bnema/neferwl/internal/adapters/xkb"
6+ "github.com/bnema/neferwl/internal/logging"
7+ "github.com/bnema/neferwl/internal/ports"
88 "strings"
99 "testing"
1010 )
@@ -2,9 +2,9 @@ package headlessinput
2 2
3 import (3 import (
4 "context"4 "context"
5- "github.com/bnema/nefertty/internal/adapters/xkb"5+ "github.com/bnema/neferwl/internal/adapters/xkb"
6- "github.com/bnema/nefertty/internal/logging"6+ "github.com/bnema/neferwl/internal/logging"
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "strings"8 "strings"
9 "testing"9 "testing"
10 )10 )
M internal/adapters/launcher/launcher.go +2 -2
@@ -11,7 +11,7 @@ import (
1111 "strings"
1212 "syscall"
1313
14- "github.com/bnema/nefertty/internal/ports"
14+ "github.com/bnema/neferwl/internal/ports"
1515 "github.com/bnema/zerowrap"
1616 )
1717
@@ -38,7 +38,7 @@ func ChildEnv(base []string, waylandDisplay, runtimeDir string, cursorSize int)
3838 }
3939 values["WAYLAND_DISPLAY"] = waylandDisplay
4040 values["XDG_RUNTIME_DIR"] = runtimeDir
41- values["XDG_CURRENT_DESKTOP"] = "nefertty"
41+ values["XDG_CURRENT_DESKTOP"] = "neferwl"
4242 values["XDG_SESSION_TYPE"] = "wayland"
4343 // X11 apps (through Xwayland) and toolkits pick their own cursor size:
4444 // give them the compositor's.
@@ -11,7 +11,7 @@ import (
11 "strings"11 "strings"
12 "syscall"12 "syscall"
13 13
14- "github.com/bnema/nefertty/internal/ports"14+ "github.com/bnema/neferwl/internal/ports"
15 "github.com/bnema/zerowrap"15 "github.com/bnema/zerowrap"
16 )16 )
17 17
@@ -38,7 +38,7 @@ func ChildEnv(base []string, waylandDisplay, runtimeDir string, cursorSize int)
38 }38 }
39 values["WAYLAND_DISPLAY"] = waylandDisplay39 values["WAYLAND_DISPLAY"] = waylandDisplay
40 values["XDG_RUNTIME_DIR"] = runtimeDir40 values["XDG_RUNTIME_DIR"] = runtimeDir
41- values["XDG_CURRENT_DESKTOP"] = "nefertty"41+ values["XDG_CURRENT_DESKTOP"] = "neferwl"
42 values["XDG_SESSION_TYPE"] = "wayland"42 values["XDG_SESSION_TYPE"] = "wayland"
43 // X11 apps (through Xwayland) and toolkits pick their own cursor size:43 // X11 apps (through Xwayland) and toolkits pick their own cursor size:
44 // give them the compositor's.44 // give them the compositor's.
M internal/adapters/launcher/launcher_test.go +6 -6
@@ -9,13 +9,13 @@ import (
99 "testing"
1010 "time"
1111
12- "github.com/bnema/nefertty/internal/logging"
13- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/logging"
13+ "github.com/bnema/neferwl/internal/ports"
1414 )
1515
1616 func TestChildEnv(t *testing.T) {
1717 got := ChildEnv([]string{"TERM=x", "DISPLAY=:0", "WAYLAND_SOCKET=4", "WAYLAND_DISPLAY=old", "HOME=/home/me", "PATH=/bin", "LC_ALL=C", "XDG_RUNTIME_DIR=old", "XCURSOR_THEME=Adwaita", "XCURSOR_PATH=/icons", "SECRET=bad", "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/me/bus"}, "wayland-7", "/run/me", 24)
18- want := []string{"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/me/bus", "HOME=/home/me", "LC_ALL=C", "PATH=/bin", "WAYLAND_DISPLAY=wayland-7", "XCURSOR_PATH=/icons", "XCURSOR_SIZE=24", "XCURSOR_THEME=Adwaita", "XDG_CURRENT_DESKTOP=nefertty", "XDG_RUNTIME_DIR=/run/me", "XDG_SESSION_TYPE=wayland"}
18+ want := []string{"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/me/bus", "HOME=/home/me", "LC_ALL=C", "PATH=/bin", "WAYLAND_DISPLAY=wayland-7", "XCURSOR_PATH=/icons", "XCURSOR_SIZE=24", "XCURSOR_THEME=Adwaita", "XDG_CURRENT_DESKTOP=neferwl", "XDG_RUNTIME_DIR=/run/me", "XDG_SESSION_TYPE=wayland"}
1919 if !reflect.DeepEqual(got, want) {
2020 t.Fatalf("got %v want %v", got, want)
2121 }
@@ -38,9 +38,9 @@ func TestRun(t *testing.T) {
3838 done <- New([]string{"PATH=/bin", "FILE=" + file}, logging.For(ctx, "launcher")).Run(ctx, reqs)
3939 }()
4040 reqs <- ports.SpawnRequest{}
41- reqs <- ports.SpawnRequest{Argv: []string{"nonexistent-nefertty-binary"}}
41+ reqs <- ports.SpawnRequest{Argv: []string{"nonexistent-neferwl-binary"}}
4242 // Env adds to the child environment (slot tokens).
43- reqs <- ports.SpawnRequest{Argv: []string{"sh", "-c", "echo ok$NEFERTTY_SLOT > $FILE"}, Env: []string{"NEFERTTY_SLOT=7"}}
43+ reqs <- ports.SpawnRequest{Argv: []string{"sh", "-c", "echo ok$NEFERWL_SLOT > $FILE"}, Env: []string{"NEFERWL_SLOT=7"}}
4444 deadline := time.After(3 * time.Second)
4545 for {
4646 data, err := os.ReadFile(file)
@@ -69,7 +69,7 @@ func TestRun(t *testing.T) {
6969
7070 func TestChildPath(t *testing.T) {
7171 dir := t.TempDir()
72- name := "nefertty-child-only-script"
72+ name := "neferwl-child-only-script"
7373 result := filepath.Join(dir, "result")
7474 if err := os.WriteFile(filepath.Join(dir, name), []byte("#!/bin/sh\nprintf ok > \"$1\"\n"), 0700); err != nil {
7575 t.Fatal(err)
@@ -9,13 +9,13 @@ import (
9 "testing"9 "testing"
10 "time"10 "time"
11 11
12- "github.com/bnema/nefertty/internal/logging"12+ "github.com/bnema/neferwl/internal/logging"
13- "github.com/bnema/nefertty/internal/ports"13+ "github.com/bnema/neferwl/internal/ports"
14 )14 )
15 15
16 func TestChildEnv(t *testing.T) {16 func TestChildEnv(t *testing.T) {
17 got := ChildEnv([]string{"TERM=x", "DISPLAY=:0", "WAYLAND_SOCKET=4", "WAYLAND_DISPLAY=old", "HOME=/home/me", "PATH=/bin", "LC_ALL=C", "XDG_RUNTIME_DIR=old", "XCURSOR_THEME=Adwaita", "XCURSOR_PATH=/icons", "SECRET=bad", "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/me/bus"}, "wayland-7", "/run/me", 24)17 got := ChildEnv([]string{"TERM=x", "DISPLAY=:0", "WAYLAND_SOCKET=4", "WAYLAND_DISPLAY=old", "HOME=/home/me", "PATH=/bin", "LC_ALL=C", "XDG_RUNTIME_DIR=old", "XCURSOR_THEME=Adwaita", "XCURSOR_PATH=/icons", "SECRET=bad", "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/me/bus"}, "wayland-7", "/run/me", 24)
18- want := []string{"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/me/bus", "HOME=/home/me", "LC_ALL=C", "PATH=/bin", "WAYLAND_DISPLAY=wayland-7", "XCURSOR_PATH=/icons", "XCURSOR_SIZE=24", "XCURSOR_THEME=Adwaita", "XDG_CURRENT_DESKTOP=nefertty", "XDG_RUNTIME_DIR=/run/me", "XDG_SESSION_TYPE=wayland"}18+ want := []string{"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/me/bus", "HOME=/home/me", "LC_ALL=C", "PATH=/bin", "WAYLAND_DISPLAY=wayland-7", "XCURSOR_PATH=/icons", "XCURSOR_SIZE=24", "XCURSOR_THEME=Adwaita", "XDG_CURRENT_DESKTOP=neferwl", "XDG_RUNTIME_DIR=/run/me", "XDG_SESSION_TYPE=wayland"}
19 if !reflect.DeepEqual(got, want) {19 if !reflect.DeepEqual(got, want) {
20 t.Fatalf("got %v want %v", got, want)20 t.Fatalf("got %v want %v", got, want)
21 }21 }
@@ -38,9 +38,9 @@ func TestRun(t *testing.T) {
38 done <- New([]string{"PATH=/bin", "FILE=" + file}, logging.For(ctx, "launcher")).Run(ctx, reqs)38 done <- New([]string{"PATH=/bin", "FILE=" + file}, logging.For(ctx, "launcher")).Run(ctx, reqs)
39 }()39 }()
40 reqs <- ports.SpawnRequest{}40 reqs <- ports.SpawnRequest{}
41- reqs <- ports.SpawnRequest{Argv: []string{"nonexistent-nefertty-binary"}}41+ reqs <- ports.SpawnRequest{Argv: []string{"nonexistent-neferwl-binary"}}
42 // Env adds to the child environment (slot tokens).42 // Env adds to the child environment (slot tokens).
43- reqs <- ports.SpawnRequest{Argv: []string{"sh", "-c", "echo ok$NEFERTTY_SLOT > $FILE"}, Env: []string{"NEFERTTY_SLOT=7"}}43+ reqs <- ports.SpawnRequest{Argv: []string{"sh", "-c", "echo ok$NEFERWL_SLOT > $FILE"}, Env: []string{"NEFERWL_SLOT=7"}}
44 deadline := time.After(3 * time.Second)44 deadline := time.After(3 * time.Second)
45 for {45 for {
46 data, err := os.ReadFile(file)46 data, err := os.ReadFile(file)
@@ -69,7 +69,7 @@ func TestRun(t *testing.T) {
69 69
70 func TestChildPath(t *testing.T) {70 func TestChildPath(t *testing.T) {
71 dir := t.TempDir()71 dir := t.TempDir()
72- name := "nefertty-child-only-script"72+ name := "neferwl-child-only-script"
73 result := filepath.Join(dir, "result")73 result := filepath.Join(dir, "result")
74 if err := os.WriteFile(filepath.Join(dir, name), []byte("#!/bin/sh\nprintf ok > \"$1\"\n"), 0700); err != nil {74 if err := os.WriteFile(filepath.Join(dir, name), []byte("#!/bin/sh\nprintf ok > \"$1\"\n"), 0700); err != nil {
75 t.Fatal(err)75 t.Fatal(err)
M internal/adapters/launcher/session_test.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "strings"
88 "testing"
99
10- "github.com/bnema/nefertty/internal/logging"
10+ "github.com/bnema/neferwl/internal/logging"
1111 )
1212
1313 // The session commands run with the child environment and the right
@@ -7,7 +7,7 @@ import (
7 "strings"7 "strings"
8 "testing"8 "testing"
9 9
10- "github.com/bnema/nefertty/internal/logging"10+ "github.com/bnema/neferwl/internal/logging"
11 )11 )
12 12
13 // The session commands run with the child environment and the right13 // The session commands run with the child environment and the right
M internal/adapters/libinput/forward.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "sync"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 "github.com/bnema/zerowrap"
1010 )
1111
@@ -5,7 +5,7 @@ import (
5 "sync"5 "sync"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 "github.com/bnema/zerowrap"9 "github.com/bnema/zerowrap"
10 )10 )
11 11
M internal/adapters/libinput/forward_test.go +1 -1
@@ -8,7 +8,7 @@ import (
88 "testing"
99 "time"
1010
11- "github.com/bnema/nefertty/internal/ports"
11+ "github.com/bnema/neferwl/internal/ports"
1212 "github.com/bnema/zerowrap"
1313 "github.com/rs/zerolog"
1414 )
@@ -8,7 +8,7 @@ import (
8 "testing"8 "testing"
9 "time"9 "time"
10 10
11- "github.com/bnema/nefertty/internal/ports"11+ "github.com/bnema/neferwl/internal/ports"
12 "github.com/bnema/zerowrap"12 "github.com/bnema/zerowrap"
13 "github.com/rs/zerolog"13 "github.com/rs/zerolog"
14 )14 )
M internal/adapters/libinput/libinput.go +2 -2
@@ -10,8 +10,8 @@ import (
1010 "time"
1111 "unsafe"
1212
13- "github.com/bnema/nefertty/internal/adapters/xkb"
14- "github.com/bnema/nefertty/internal/ports"
13+ "github.com/bnema/neferwl/internal/adapters/xkb"
14+ "github.com/bnema/neferwl/internal/ports"
1515 "github.com/bnema/purego"
1616 "github.com/bnema/zerowrap"
1717 "golang.org/x/sys/unix"
@@ -10,8 +10,8 @@ import (
10 "time"10 "time"
11 "unsafe"11 "unsafe"
12 12
13- "github.com/bnema/nefertty/internal/adapters/xkb"13+ "github.com/bnema/neferwl/internal/adapters/xkb"
14- "github.com/bnema/nefertty/internal/ports"14+ "github.com/bnema/neferwl/internal/ports"
15 "github.com/bnema/purego"15 "github.com/bnema/purego"
16 "github.com/bnema/zerowrap"16 "github.com/bnema/zerowrap"
17 "golang.org/x/sys/unix"17 "golang.org/x/sys/unix"
M internal/adapters/libinput/libinput_test.go +1 -1
@@ -3,7 +3,7 @@ package libinput
33 import (
44 "testing"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 )
88
99 func TestHotkey(t *testing.T) {
@@ -3,7 +3,7 @@ package libinput
3 import (3 import (
4 "testing"4 "testing"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 )7 )
8 8
9 func TestHotkey(t *testing.T) {9 func TestHotkey(t *testing.T) {
M internal/adapters/statefile/statefile.go +5 -5
@@ -1,5 +1,5 @@
11 // Package statefile publishes core's state as JSON for scripts, and reads it
2-// back for the `nefertty state` command. The JSON format is defined here,
2+// back for the `neferwl state` command. The JSON format is defined here,
33 // not in ports: it is a public interface scripts depend on.
44 package statefile
55
@@ -13,12 +13,12 @@ import (
1313 "strconv"
1414 "strings"
1515
16- "github.com/bnema/nefertty/internal/ports"
16+ "github.com/bnema/neferwl/internal/ports"
1717 "github.com/bnema/zerowrap"
1818 )
1919
20-// Env names the state file in the environment of processes nefertty starts.
21-const Env = "NEFERTTY_STATE"
20+// Env names the state file in the environment of processes neferwl starts.
21+const Env = "NEFERWL_STATE"
2222
2323 // Path is the state file of the session on a wayland socket: one per
2424 // session, so nested or test instances never overwrite each other.
@@ -27,7 +27,7 @@ func Path(runtimeDir, socket string) (string, error) {
2727 if runtimeDir == "" || socket == "" || socket == "." || socket == "/" {
2828 return "", errors.New("XDG_RUNTIME_DIR and WAYLAND_DISPLAY must be set")
2929 }
30- return filepath.Join(runtimeDir, "nefertty", socket+".json"), nil
30+ return filepath.Join(runtimeDir, "neferwl", socket+".json"), nil
3131 }
3232
3333 // State is the file format.
@@ -1,5 +1,5 @@
1 // Package statefile publishes core's state as JSON for scripts, and reads it1 // Package statefile publishes core's state as JSON for scripts, and reads it
2-// back for the `nefertty state` command. The JSON format is defined here,2+// back for the `neferwl state` command. The JSON format is defined here,
3 // not in ports: it is a public interface scripts depend on.3 // not in ports: it is a public interface scripts depend on.
4 package statefile4 package statefile
5 5
@@ -13,12 +13,12 @@ import (
13 "strconv"13 "strconv"
14 "strings"14 "strings"
15 15
16- "github.com/bnema/nefertty/internal/ports"16+ "github.com/bnema/neferwl/internal/ports"
17 "github.com/bnema/zerowrap"17 "github.com/bnema/zerowrap"
18 )18 )
19 19
20-// Env names the state file in the environment of processes nefertty starts.20+// Env names the state file in the environment of processes neferwl starts.
21-const Env = "NEFERTTY_STATE"21+const Env = "NEFERWL_STATE"
22 22
23 // Path is the state file of the session on a wayland socket: one per23 // Path is the state file of the session on a wayland socket: one per
24 // session, so nested or test instances never overwrite each other.24 // session, so nested or test instances never overwrite each other.
@@ -27,7 +27,7 @@ func Path(runtimeDir, socket string) (string, error) {
27 if runtimeDir == "" || socket == "" || socket == "." || socket == "/" {27 if runtimeDir == "" || socket == "" || socket == "." || socket == "/" {
28 return "", errors.New("XDG_RUNTIME_DIR and WAYLAND_DISPLAY must be set")28 return "", errors.New("XDG_RUNTIME_DIR and WAYLAND_DISPLAY must be set")
29 }29 }
30- return filepath.Join(runtimeDir, "nefertty", socket+".json"), nil30+ return filepath.Join(runtimeDir, "neferwl", socket+".json"), nil
31 }31 }
32 32
33 // State is the file format.33 // State is the file format.
M internal/adapters/statefile/statefile_test.go +2 -2
@@ -9,7 +9,7 @@ import (
99 "testing"
1010 "time"
1111
12- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/ports"
1313 "github.com/bnema/zerowrap"
1414 )
1515
@@ -62,7 +62,7 @@ func TestRunWritesAndRemoves(t *testing.T) {
6262 }
6363
6464 func TestPath(t *testing.T) {
65- if p, err := Path("/run/user/1", "/run/user/1/wayland-1"); err != nil || p != "/run/user/1/nefertty/wayland-1.json" {
65+ if p, err := Path("/run/user/1", "/run/user/1/wayland-1"); err != nil || p != "/run/user/1/neferwl/wayland-1.json" {
6666 t.Fatal(p, err)
6767 }
6868 for _, c := range [][2]string{{"", "wayland-1"}, {"/run/user/1", ""}} {
@@ -9,7 +9,7 @@ import (
9 "testing"9 "testing"
10 "time"10 "time"
11 11
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 "github.com/bnema/zerowrap"13 "github.com/bnema/zerowrap"
14 )14 )
15 15
@@ -62,7 +62,7 @@ func TestRunWritesAndRemoves(t *testing.T) {
62 }62 }
63 63
64 func TestPath(t *testing.T) {64 func TestPath(t *testing.T) {
65- if p, err := Path("/run/user/1", "/run/user/1/wayland-1"); err != nil || p != "/run/user/1/nefertty/wayland-1.json" {65+ if p, err := Path("/run/user/1", "/run/user/1/wayland-1"); err != nil || p != "/run/user/1/neferwl/wayland-1.json" {
66 t.Fatal(p, err)66 t.Fatal(p, err)
67 }67 }
68 for _, c := range [][2]string{{"", "wayland-1"}, {"/run/user/1", ""}} {68 for _, c := range [][2]string{{"", "wayland-1"}, {"/run/user/1", ""}} {
M internal/adapters/vulkan/compose_test.go +2 -2
@@ -8,8 +8,8 @@ import (
88 "testing"
99 "time"
1010
11- "github.com/bnema/nefertty/internal/adapters/syncfile"
12- "github.com/bnema/nefertty/internal/ports"
11+ "github.com/bnema/neferwl/internal/adapters/syncfile"
12+ "github.com/bnema/neferwl/internal/ports"
1313 )
1414
1515 // near reports whether two colors are within tol per channel.
@@ -8,8 +8,8 @@ import (
8 "testing"8 "testing"
9 "time"9 "time"
10 10
11- "github.com/bnema/nefertty/internal/adapters/syncfile"11+ "github.com/bnema/neferwl/internal/adapters/syncfile"
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 )13 )
14 14
15 // near reports whether two colors are within tol per channel.15 // near reports whether two colors are within tol per channel.
M internal/adapters/vulkan/cursor.go +2 -2
@@ -6,7 +6,7 @@ import (
66 "os"
77 "unsafe"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 vk "github.com/bnema/purego-vulkan/vulkan"
1111 )
1212
@@ -97,7 +97,7 @@ func (r *Renderer) cursorImage(size int) (*cursorImage, ports.DMABuf, error) {
9797 if err := checked("vkGetMemoryFdKHR(cursor)", d.GetMemoryFdKHR(r.device, &get, &fd)); err != nil {
9898 return nil, ports.DMABuf{}, err
9999 }
100- f := os.NewFile(uintptr(fd), "nefertty-cursor")
100+ f := os.NewFile(uintptr(fd), "neferwl-cursor")
101101 if f == nil {
102102 return nil, ports.DMABuf{}, fmt.Errorf("invalid exported fd %d", fd)
103103 }
@@ -6,7 +6,7 @@ import (
6 "os"6 "os"
7 "unsafe"7 "unsafe"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 vk "github.com/bnema/purego-vulkan/vulkan"10 vk "github.com/bnema/purego-vulkan/vulkan"
11 )11 )
12 12
@@ -97,7 +97,7 @@ func (r *Renderer) cursorImage(size int) (*cursorImage, ports.DMABuf, error) {
97 if err := checked("vkGetMemoryFdKHR(cursor)", d.GetMemoryFdKHR(r.device, &get, &fd)); err != nil {97 if err := checked("vkGetMemoryFdKHR(cursor)", d.GetMemoryFdKHR(r.device, &get, &fd)); err != nil {
98 return nil, ports.DMABuf{}, err98 return nil, ports.DMABuf{}, err
99 }99 }
100- f := os.NewFile(uintptr(fd), "nefertty-cursor")100+ f := os.NewFile(uintptr(fd), "neferwl-cursor")
101 if f == nil {101 if f == nil {
102 return nil, ports.DMABuf{}, fmt.Errorf("invalid exported fd %d", fd)102 return nil, ports.DMABuf{}, fmt.Errorf("invalid exported fd %d", fd)
103 }103 }
M internal/adapters/vulkan/damage.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "image"
55 "math"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 // Damage: an output target keeps what it holds (scene Seq, each window's
@@ -4,7 +4,7 @@ import (
4 "image"4 "image"
5 "math"5 "math"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 // Damage: an output target keeps what it holds (scene Seq, each window's10 // Damage: an output target keeps what it holds (scene Seq, each window's
M internal/adapters/vulkan/damage_test.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "os"
77 "testing"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 )
1111
1212 // damagedContent writes px into the content's pool (the client drawing
@@ -6,7 +6,7 @@ import (
6 "os"6 "os"
7 "testing"7 "testing"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 )10 )
11 11
12 // damagedContent writes px into the content's pool (the client drawing12 // damagedContent writes px into the content's pool (the client drawing
M internal/adapters/vulkan/dmabuf.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "slices"
77 "unsafe"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 vk "github.com/bnema/purego-vulkan/vulkan"
1111 "golang.org/x/sys/unix"
1212 )
@@ -6,7 +6,7 @@ import (
6 "slices"6 "slices"
7 "unsafe"7 "unsafe"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 vk "github.com/bnema/purego-vulkan/vulkan"10 vk "github.com/bnema/purego-vulkan/vulkan"
11 "golang.org/x/sys/unix"11 "golang.org/x/sys/unix"
12 )12 )
M internal/adapters/vulkan/dmabuf_test.go +1 -1
@@ -8,7 +8,7 @@ import (
88 "testing"
99 "unsafe"
1010
11- "github.com/bnema/nefertty/internal/ports"
11+ "github.com/bnema/neferwl/internal/ports"
1212 "golang.org/x/sys/unix"
1313 )
1414
@@ -8,7 +8,7 @@ import (
8 "testing"8 "testing"
9 "unsafe"9 "unsafe"
10 10
11- "github.com/bnema/nefertty/internal/ports"11+ "github.com/bnema/neferwl/internal/ports"
12 "golang.org/x/sys/unix"12 "golang.org/x/sys/unix"
13 )13 )
14 14
M internal/adapters/vulkan/frame.go +2 -2
@@ -9,7 +9,7 @@ import (
99 "slices"
1010 "unsafe"
1111
12- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/ports"
1313 vk "github.com/bnema/purego-vulkan/vulkan"
1414 )
1515
@@ -293,7 +293,7 @@ func (r *Renderer) Render(s ports.Scene, contents map[ports.WindowID]ports.Surfa
293293 // Already signalled: the driver may return -1.
294294 return nil, r.waitFrame(frame)
295295 }
296- f := os.NewFile(uintptr(fd), "nefertty-frame")
296+ f := os.NewFile(uintptr(fd), "neferwl-frame")
297297 if f == nil {
298298 return nil, fmt.Errorf("invalid frame sync file %d", fd)
299299 }
@@ -9,7 +9,7 @@ import (
9 "slices"9 "slices"
10 "unsafe"10 "unsafe"
11 11
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 vk "github.com/bnema/purego-vulkan/vulkan"13 vk "github.com/bnema/purego-vulkan/vulkan"
14 )14 )
15 15
@@ -293,7 +293,7 @@ func (r *Renderer) Render(s ports.Scene, contents map[ports.WindowID]ports.Surfa
293 // Already signalled: the driver may return -1.293 // Already signalled: the driver may return -1.
294 return nil, r.waitFrame(frame)294 return nil, r.waitFrame(frame)
295 }295 }
296- f := os.NewFile(uintptr(fd), "nefertty-frame")296+ f := os.NewFile(uintptr(fd), "neferwl-frame")
297 if f == nil {297 if f == nil {
298 return nil, fmt.Errorf("invalid frame sync file %d", fd)298 return nil, fmt.Errorf("invalid frame sync file %d", fd)
299 }299 }
M internal/adapters/vulkan/renderer.go +3 -3
@@ -9,7 +9,7 @@ import (
99 "strconv"
1010 "unsafe"
1111
12- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/ports"
1313
1414 vk "github.com/bnema/purego-vulkan/vulkan"
1515 )
@@ -111,10 +111,10 @@ func New(width, height int) (r *Renderer, err error) {
111111 return
112112 }
113113 index := -1
114- if value, ok := os.LookupEnv("NEFERTTY_VK_DEVICE"); ok {
114+ if value, ok := os.LookupEnv("NEFERWL_VK_DEVICE"); ok {
115115 index, err = strconv.Atoi(value)
116116 if err != nil || index < 0 || index >= int(count) {
117- err = fmt.Errorf("invalid NEFERTTY_VK_DEVICE index %q", value)
117+ err = fmt.Errorf("invalid NEFERWL_VK_DEVICE index %q", value)
118118 return
119119 }
120120 }
@@ -9,7 +9,7 @@ import (
9 "strconv"9 "strconv"
10 "unsafe"10 "unsafe"
11 11
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 13
14 vk "github.com/bnema/purego-vulkan/vulkan"14 vk "github.com/bnema/purego-vulkan/vulkan"
15 )15 )
@@ -111,10 +111,10 @@ func New(width, height int) (r *Renderer, err error) {
111 return111 return
112 }112 }
113 index := -1113 index := -1
114- if value, ok := os.LookupEnv("NEFERTTY_VK_DEVICE"); ok {114+ if value, ok := os.LookupEnv("NEFERWL_VK_DEVICE"); ok {
115 index, err = strconv.Atoi(value)115 index, err = strconv.Atoi(value)
116 if err != nil || index < 0 || index >= int(count) {116 if err != nil || index < 0 || index >= int(count) {
117- err = fmt.Errorf("invalid NEFERTTY_VK_DEVICE index %q", value)117+ err = fmt.Errorf("invalid NEFERWL_VK_DEVICE index %q", value)
118 return118 return
119 }119 }
120 }120 }
M internal/adapters/vulkan/renderer_test.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "os"
77 "testing"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 "golang.org/x/sys/unix"
1111 )
1212
@@ -6,7 +6,7 @@ import (
6 "os"6 "os"
7 "testing"7 "testing"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 "golang.org/x/sys/unix"10 "golang.org/x/sys/unix"
11 )11 )
12 12
M internal/adapters/vulkan/scene.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "math"
66 "strconv"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 // sceneWalk turns one scene into quads in paint order, copying new wl_shm
@@ -5,7 +5,7 @@ import (
5 "math"5 "math"
6 "strconv"6 "strconv"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 // sceneWalk turns one scene into quads in paint order, copying new wl_shm11 // sceneWalk turns one scene into quads in paint order, copying new wl_shm
M internal/adapters/vulkan/shm.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "runtime/debug"
66 "unsafe"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 vk "github.com/bnema/purego-vulkan/vulkan"
1010 "golang.org/x/sys/unix"
1111 )
@@ -5,7 +5,7 @@ import (
5 "runtime/debug"5 "runtime/debug"
6 "unsafe"6 "unsafe"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 vk "github.com/bnema/purego-vulkan/vulkan"9 vk "github.com/bnema/purego-vulkan/vulkan"
10 "golang.org/x/sys/unix"10 "golang.org/x/sys/unix"
11 )11 )
M internal/adapters/vulkan/targets.go +2 -2
@@ -7,7 +7,7 @@ import (
77 "slices"
88 "unsafe"
99
10- "github.com/bnema/nefertty/internal/ports"
10+ "github.com/bnema/neferwl/internal/ports"
1111 vk "github.com/bnema/purego-vulkan/vulkan"
1212 )
1313
@@ -184,7 +184,7 @@ func (r *Renderer) exportTarget(mods []uint64) (*target, ports.DMABuf, error) {
184184 if err := checked("vkGetMemoryFdKHR", d.GetMemoryFdKHR(r.device, &get, &fd)); err != nil {
185185 return nil, ports.DMABuf{}, err
186186 }
187- f := os.NewFile(uintptr(fd), "nefertty-target")
187+ f := os.NewFile(uintptr(fd), "neferwl-target")
188188 if f == nil {
189189 return nil, ports.DMABuf{}, fmt.Errorf("invalid exported fd %d", fd)
190190 }
@@ -7,7 +7,7 @@ import (
7 "slices"7 "slices"
8 "unsafe"8 "unsafe"
9 9
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 vk "github.com/bnema/purego-vulkan/vulkan"11 vk "github.com/bnema/purego-vulkan/vulkan"
12 )12 )
13 13
@@ -184,7 +184,7 @@ func (r *Renderer) exportTarget(mods []uint64) (*target, ports.DMABuf, error) {
184 if err := checked("vkGetMemoryFdKHR", d.GetMemoryFdKHR(r.device, &get, &fd)); err != nil {184 if err := checked("vkGetMemoryFdKHR", d.GetMemoryFdKHR(r.device, &get, &fd)); err != nil {
185 return nil, ports.DMABuf{}, err185 return nil, ports.DMABuf{}, err
186 }186 }
187- f := os.NewFile(uintptr(fd), "nefertty-target")187+ f := os.NewFile(uintptr(fd), "neferwl-target")
188 if f == nil {188 if f == nil {
189 return nil, ports.DMABuf{}, fmt.Errorf("invalid exported fd %d", fd)189 return nil, ports.DMABuf{}, fmt.Errorf("invalid exported fd %d", fd)
190 }190 }
M internal/adapters/vulkan/targets_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "image/color"
55 "testing"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 // Frames drawn into exported targets reach their dmabufs: another renderer
@@ -4,7 +4,7 @@ import (
4 "image/color"4 "image/color"
5 "testing"5 "testing"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 // Frames drawn into exported targets reach their dmabufs: another renderer10 // Frames drawn into exported targets reach their dmabufs: another renderer
M internal/adapters/wayland/activation.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "crypto/rand"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/wayland"
99 "github.com/bnema/purego-libwayland/protocol/xdgactivation"
1010 "github.com/bnema/purego-libwayland/server"
@@ -4,7 +4,7 @@ import (
4 "crypto/rand"4 "crypto/rand"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/wayland"8 "github.com/bnema/purego-libwayland/protocol/wayland"
9 "github.com/bnema/purego-libwayland/protocol/xdgactivation"9 "github.com/bnema/purego-libwayland/protocol/xdgactivation"
10 "github.com/bnema/purego-libwayland/server"10 "github.com/bnema/purego-libwayland/server"
M internal/adapters/wayland/activation_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/xdgactivation"
99 "github.com/bnema/wlturbo"
1010 )
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/xdgactivation"8 "github.com/bnema/purego-libwayland/protocol/xdgactivation"
9 "github.com/bnema/wlturbo"9 "github.com/bnema/wlturbo"
10 )10 )
M internal/adapters/wayland/axis_test.go +1 -1
@@ -3,7 +3,7 @@ package wayland
33 import (
44 "testing"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 )
88
99 // High-resolution wheels send fractions of a detent: pre-v8 clients get a
@@ -3,7 +3,7 @@ package wayland
3 import (3 import (
4 "testing"4 "testing"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 )7 )
8 8
9 // High-resolution wheels send fractions of a detent: pre-v8 clients get a9 // High-resolution wheels send fractions of a detent: pre-v8 clients get a
M internal/adapters/wayland/clipboard.go +1 -1
@@ -13,7 +13,7 @@ import (
1313 // keyboard focus may set them and sees them; clipboard managers such as
1414 // cliphist and wl-clipboard use ext_data_control_v1, which sees and sets
1515 // both without focus. Like wlroots, any client may bind it. Pasting hands the reader's pipe to the source client:
16-// the data never goes through nefertty. Drag and drop is not implemented.
16+// the data never goes through neferwl. Drag and drop is not implemented.
1717
1818 const (
1919 selClipboard = iota
@@ -13,7 +13,7 @@ import (
13 // keyboard focus may set them and sees them; clipboard managers such as13 // keyboard focus may set them and sees them; clipboard managers such as
14 // cliphist and wl-clipboard use ext_data_control_v1, which sees and sets14 // cliphist and wl-clipboard use ext_data_control_v1, which sees and sets
15 // both without focus. Like wlroots, any client may bind it. Pasting hands the reader's pipe to the source client:15 // both without focus. Like wlroots, any client may bind it. Pasting hands the reader's pipe to the source client:
16-// the data never goes through nefertty. Drag and drop is not implemented.16+// the data never goes through neferwl. Drag and drop is not implemented.
17 17
18 const (18 const (
19 selClipboard = iota19 selClipboard = iota
M internal/adapters/wayland/clipboard_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/extdatacontrol"
99 "github.com/bnema/purego-libwayland/protocol/primaryselection"
1010 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/extdatacontrol"8 "github.com/bnema/purego-libwayland/protocol/extdatacontrol"
9 "github.com/bnema/purego-libwayland/protocol/primaryselection"9 "github.com/bnema/purego-libwayland/protocol/primaryselection"
10 "github.com/bnema/purego-libwayland/protocol/wayland"10 "github.com/bnema/purego-libwayland/protocol/wayland"
M internal/adapters/wayland/commands_test.go +2 -2
@@ -6,8 +6,8 @@ import (
66 "testing"
77 "time"
88
9- "github.com/bnema/nefertty/internal/logging"
10- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/logging"
10+ "github.com/bnema/neferwl/internal/ports"
1111 )
1212
1313 func TestDrainCommandsCollapsesMotion(t *testing.T) {
@@ -6,8 +6,8 @@ import (
6 "testing"6 "testing"
7 "time"7 "time"
8 8
9- "github.com/bnema/nefertty/internal/logging"9+ "github.com/bnema/neferwl/internal/logging"
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 )11 )
12 12
13 func TestDrainCommandsCollapsesMotion(t *testing.T) {13 func TestDrainCommandsCollapsesMotion(t *testing.T) {
M internal/adapters/wayland/constraints.go +1 -1
@@ -1,7 +1,7 @@
11 package wayland
22
33 import (
4- "github.com/bnema/nefertty/internal/ports"
4+ "github.com/bnema/neferwl/internal/ports"
55 "github.com/bnema/purego-libwayland/protocol/pointerconstraints"
66 "github.com/bnema/purego-libwayland/protocol/relativepointer"
77 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -1,7 +1,7 @@
1 package wayland1 package wayland
2 2
3 import (3 import (
4- "github.com/bnema/nefertty/internal/ports"4+ "github.com/bnema/neferwl/internal/ports"
5 "github.com/bnema/purego-libwayland/protocol/pointerconstraints"5 "github.com/bnema/purego-libwayland/protocol/pointerconstraints"
6 "github.com/bnema/purego-libwayland/protocol/relativepointer"6 "github.com/bnema/purego-libwayland/protocol/relativepointer"
7 "github.com/bnema/purego-libwayland/protocol/wayland"7 "github.com/bnema/purego-libwayland/protocol/wayland"
M internal/adapters/wayland/constraints_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/pointerconstraints"
99 "github.com/bnema/purego-libwayland/protocol/relativepointer"
1010 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/pointerconstraints"8 "github.com/bnema/purego-libwayland/protocol/pointerconstraints"
9 "github.com/bnema/purego-libwayland/protocol/relativepointer"9 "github.com/bnema/purego-libwayland/protocol/relativepointer"
10 "github.com/bnema/purego-libwayland/protocol/wayland"10 "github.com/bnema/purego-libwayland/protocol/wayland"
M internal/adapters/wayland/cursor.go +2 -2
@@ -3,7 +3,7 @@ package wayland
33 import (
44 "context"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 "github.com/bnema/purego-libwayland/protocol/cursorshape"
88 "github.com/bnema/purego-libwayland/protocol/tabletv2"
99 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -42,7 +42,7 @@ func (m cursorShapeManager) GetPointer(r *cursorshape.WpCursorShapeManagerV1, id
4242 _, _ = cursorshape.NewWpCursorShapeDeviceV1(r.Client(), r.Version(), id, cursorShapeDevice(m))
4343 }
4444
45-// GetTabletToolV2 is unreachable: nefertty has no tablet global.
45+// GetTabletToolV2 is unreachable: neferwl has no tablet global.
4646 func (cursorShapeManager) GetTabletToolV2(*cursorshape.WpCursorShapeManagerV1, uint32, *tabletv2.ZwpTabletToolV2) {
4747 }
4848
@@ -3,7 +3,7 @@ package wayland
3 import (3 import (
4 "context"4 "context"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 "github.com/bnema/purego-libwayland/protocol/cursorshape"7 "github.com/bnema/purego-libwayland/protocol/cursorshape"
8 "github.com/bnema/purego-libwayland/protocol/tabletv2"8 "github.com/bnema/purego-libwayland/protocol/tabletv2"
9 "github.com/bnema/purego-libwayland/protocol/wayland"9 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -42,7 +42,7 @@ func (m cursorShapeManager) GetPointer(r *cursorshape.WpCursorShapeManagerV1, id
42 _, _ = cursorshape.NewWpCursorShapeDeviceV1(r.Client(), r.Version(), id, cursorShapeDevice(m))42 _, _ = cursorshape.NewWpCursorShapeDeviceV1(r.Client(), r.Version(), id, cursorShapeDevice(m))
43 }43 }
44 44
45-// GetTabletToolV2 is unreachable: nefertty has no tablet global.45+// GetTabletToolV2 is unreachable: neferwl has no tablet global.
46 func (cursorShapeManager) GetTabletToolV2(*cursorshape.WpCursorShapeManagerV1, uint32, *tabletv2.ZwpTabletToolV2) {46 func (cursorShapeManager) GetTabletToolV2(*cursorshape.WpCursorShapeManagerV1, uint32, *tabletv2.ZwpTabletToolV2) {
47 }47 }
48 48
M internal/adapters/wayland/cursor_test.go +2 -2
@@ -5,8 +5,8 @@ import (
55 "testing"
66 "time"
77
8- "github.com/bnema/nefertty/internal/logging"
9- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/logging"
9+ "github.com/bnema/neferwl/internal/ports"
1010 "github.com/bnema/purego-libwayland/protocol/cursorshape"
1111 "github.com/bnema/purego-libwayland/protocol/wayland"
1212 "golang.org/x/sys/unix"
@@ -5,8 +5,8 @@ import (
5 "testing"5 "testing"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/logging"8+ "github.com/bnema/neferwl/internal/logging"
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 "github.com/bnema/purego-libwayland/protocol/cursorshape"10 "github.com/bnema/purego-libwayland/protocol/cursorshape"
11 "github.com/bnema/purego-libwayland/protocol/wayland"11 "github.com/bnema/purego-libwayland/protocol/wayland"
12 "golang.org/x/sys/unix"12 "golang.org/x/sys/unix"
M internal/adapters/wayland/damage_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/wayland"
99 "github.com/bnema/purego-libwayland/protocol/xdgshell"
1010 "golang.org/x/sys/unix"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/wayland"8 "github.com/bnema/purego-libwayland/protocol/wayland"
9 "github.com/bnema/purego-libwayland/protocol/xdgshell"9 "github.com/bnema/purego-libwayland/protocol/xdgshell"
10 "golang.org/x/sys/unix"10 "golang.org/x/sys/unix"
M internal/adapters/wayland/decoration.go +1 -1
@@ -8,7 +8,7 @@ import (
88 "github.com/bnema/purego-libwayland/server"
99 )
1010
11-// Server-side decorations: nefertty draws the border, so clients must not draw
11+// Server-side decorations: neferwl draws the border, so clients must not draw
1212 // their own title bar or shadow (which would shrink the visible content).
1313 type decorationManager struct{ s *Server }
1414
@@ -8,7 +8,7 @@ import (
8 "github.com/bnema/purego-libwayland/server"8 "github.com/bnema/purego-libwayland/server"
9 )9 )
10 10
11-// Server-side decorations: nefertty draws the border, so clients must not draw11+// Server-side decorations: neferwl draws the border, so clients must not draw
12 // their own title bar or shadow (which would shrink the visible content).12 // their own title bar or shadow (which would shrink the visible content).
13 type decorationManager struct{ s *Server }13 type decorationManager struct{ s *Server }
14 14
M internal/adapters/wayland/decoration_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/kdedecoration"
99 "github.com/bnema/purego-libwayland/protocol/wayland"
1010 "github.com/bnema/wlturbo"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/kdedecoration"8 "github.com/bnema/purego-libwayland/protocol/kdedecoration"
9 "github.com/bnema/purego-libwayland/protocol/wayland"9 "github.com/bnema/purego-libwayland/protocol/wayland"
10 "github.com/bnema/wlturbo"10 "github.com/bnema/wlturbo"
M internal/adapters/wayland/dmabuf.go +2 -2
@@ -6,7 +6,7 @@ import (
66 "os"
77 "slices"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"
1111 "github.com/bnema/purego-libwayland/protocol/wayland"
1212 "github.com/bnema/purego-libwayland/server"
@@ -59,7 +59,7 @@ func formatTable(formats []ports.DMABufFormat) (*os.File, error) {
5959 binary.NativeEndian.PutUint32(data[i*16:], f.Format)
6060 binary.NativeEndian.PutUint64(data[i*16+8:], f.Modifier)
6161 }
62- fd, err := unix.MemfdCreate("nefertty-dmabuf-formats", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)
62+ fd, err := unix.MemfdCreate("neferwl-dmabuf-formats", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)
6363 if err != nil {
6464 return nil, err
6565 }
@@ -6,7 +6,7 @@ import (
6 "os"6 "os"
7 "slices"7 "slices"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"10 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"
11 "github.com/bnema/purego-libwayland/protocol/wayland"11 "github.com/bnema/purego-libwayland/protocol/wayland"
12 "github.com/bnema/purego-libwayland/server"12 "github.com/bnema/purego-libwayland/server"
@@ -59,7 +59,7 @@ func formatTable(formats []ports.DMABufFormat) (*os.File, error) {
59 binary.NativeEndian.PutUint32(data[i*16:], f.Format)59 binary.NativeEndian.PutUint32(data[i*16:], f.Format)
60 binary.NativeEndian.PutUint64(data[i*16+8:], f.Modifier)60 binary.NativeEndian.PutUint64(data[i*16+8:], f.Modifier)
61 }61 }
62- fd, err := unix.MemfdCreate("nefertty-dmabuf-formats", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)62+ fd, err := unix.MemfdCreate("neferwl-dmabuf-formats", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)
63 if err != nil {63 if err != nil {
64 return nil, err64 return nil, err
65 }65 }
M internal/adapters/wayland/dmabuf_test.go +2 -2
@@ -6,8 +6,8 @@ import (
66 "testing"
77 "time"
88
9- "github.com/bnema/nefertty/internal/logging"
10- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/logging"
10+ "github.com/bnema/neferwl/internal/ports"
1111 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"
1212 "github.com/bnema/wlturbo"
1313 "golang.org/x/sys/unix"
@@ -6,8 +6,8 @@ import (
6 "testing"6 "testing"
7 "time"7 "time"
8 8
9- "github.com/bnema/nefertty/internal/logging"9+ "github.com/bnema/neferwl/internal/logging"
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"11 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"
12 "github.com/bnema/wlturbo"12 "github.com/bnema/wlturbo"
13 "golang.org/x/sys/unix"13 "golang.org/x/sys/unix"
M internal/adapters/wayland/fifo.go +1 -1
@@ -3,7 +3,7 @@ package wayland
33 import (
44 "time"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 "github.com/bnema/purego-libwayland/protocol/committiming"
88 "github.com/bnema/purego-libwayland/protocol/contenttype"
99 "github.com/bnema/purego-libwayland/protocol/fifo"
@@ -3,7 +3,7 @@ package wayland
3 import (3 import (
4 "time"4 "time"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 "github.com/bnema/purego-libwayland/protocol/committiming"7 "github.com/bnema/purego-libwayland/protocol/committiming"
8 "github.com/bnema/purego-libwayland/protocol/contenttype"8 "github.com/bnema/purego-libwayland/protocol/contenttype"
9 "github.com/bnema/purego-libwayland/protocol/fifo"9 "github.com/bnema/purego-libwayland/protocol/fifo"
M internal/adapters/wayland/fifo_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/committiming"
99 "github.com/bnema/purego-libwayland/protocol/fifo"
1010 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/committiming"8 "github.com/bnema/purego-libwayland/protocol/committiming"
9 "github.com/bnema/purego-libwayland/protocol/fifo"9 "github.com/bnema/purego-libwayland/protocol/fifo"
10 "github.com/bnema/purego-libwayland/protocol/wayland"10 "github.com/bnema/purego-libwayland/protocol/wayland"
M internal/adapters/wayland/frames.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "slices"
77 "time"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010
1111 "github.com/bnema/purego-libwayland/protocol/wayland"
1212 )
@@ -6,7 +6,7 @@ import (
6 "slices"6 "slices"
7 "time"7 "time"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 10
11 "github.com/bnema/purego-libwayland/protocol/wayland"11 "github.com/bnema/purego-libwayland/protocol/wayland"
12 )12 )
M internal/adapters/wayland/frames_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "testing"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 "github.com/bnema/purego-libwayland/protocol/wayland"
1010 )
1111
@@ -5,7 +5,7 @@ import (
5 "testing"5 "testing"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 "github.com/bnema/purego-libwayland/protocol/wayland"9 "github.com/bnema/purego-libwayland/protocol/wayland"
10 )10 )
11 11
M internal/adapters/wayland/globals.go +2 -2
@@ -1,7 +1,7 @@
11 package wayland
22
33 import (
4- "github.com/bnema/nefertty/internal/ports"
4+ "github.com/bnema/neferwl/internal/ports"
55 "github.com/bnema/purego-libwayland/protocol/wayland"
66 "github.com/bnema/purego-libwayland/server"
77 "os"
@@ -256,7 +256,7 @@ func fileHolds(f *os.File, size int64) bool {
256256 return err == nil && st.Size() >= size
257257 }
258258
259-// pool is a wl_shm pool. nefertty never maps it: renderers map the file
259+// pool is a wl_shm pool. neferwl never maps it: renderers map the file
260260 // and read the pixels when they draw (ports.SHMBuffer).
261261 type pool struct {
262262 id uint64
@@ -1,7 +1,7 @@
1 package wayland1 package wayland
2 2
3 import (3 import (
4- "github.com/bnema/nefertty/internal/ports"4+ "github.com/bnema/neferwl/internal/ports"
5 "github.com/bnema/purego-libwayland/protocol/wayland"5 "github.com/bnema/purego-libwayland/protocol/wayland"
6 "github.com/bnema/purego-libwayland/server"6 "github.com/bnema/purego-libwayland/server"
7 "os"7 "os"
@@ -256,7 +256,7 @@ func fileHolds(f *os.File, size int64) bool {
256 return err == nil && st.Size() >= size256 return err == nil && st.Size() >= size
257 }257 }
258 258
259-// pool is a wl_shm pool. nefertty never maps it: renderers map the file259+// pool is a wl_shm pool. neferwl never maps it: renderers map the file
260 // and read the pixels when they draw (ports.SHMBuffer).260 // and read the pixels when they draw (ports.SHMBuffer).
261 type pool struct {261 type pool struct {
262 id uint64262 id uint64
M internal/adapters/wayland/inhibit.go +1 -1
@@ -1,7 +1,7 @@
11 package wayland
22
33 import (
4- "github.com/bnema/nefertty/internal/ports"
4+ "github.com/bnema/neferwl/internal/ports"
55 "github.com/bnema/purego-libwayland/protocol/idleinhibit"
66 "github.com/bnema/purego-libwayland/protocol/keyboardshortcutsinhibit"
77 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -1,7 +1,7 @@
1 package wayland1 package wayland
2 2
3 import (3 import (
4- "github.com/bnema/nefertty/internal/ports"4+ "github.com/bnema/neferwl/internal/ports"
5 "github.com/bnema/purego-libwayland/protocol/idleinhibit"5 "github.com/bnema/purego-libwayland/protocol/idleinhibit"
6 "github.com/bnema/purego-libwayland/protocol/keyboardshortcutsinhibit"6 "github.com/bnema/purego-libwayland/protocol/keyboardshortcutsinhibit"
7 "github.com/bnema/purego-libwayland/protocol/wayland"7 "github.com/bnema/purego-libwayland/protocol/wayland"
M internal/adapters/wayland/inhibit_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/idleinhibit"
99 "github.com/bnema/purego-libwayland/protocol/keyboardshortcutsinhibit"
1010 "github.com/bnema/wlturbo"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/idleinhibit"8 "github.com/bnema/purego-libwayland/protocol/idleinhibit"
9 "github.com/bnema/purego-libwayland/protocol/keyboardshortcutsinhibit"9 "github.com/bnema/purego-libwayland/protocol/keyboardshortcutsinhibit"
10 "github.com/bnema/wlturbo"10 "github.com/bnema/wlturbo"
M internal/adapters/wayland/keyboard_test.go +2 -2
@@ -10,8 +10,8 @@ import (
1010 "testing"
1111 "time"
1212
13- "github.com/bnema/nefertty/internal/logging"
14- "github.com/bnema/nefertty/internal/ports"
13+ "github.com/bnema/neferwl/internal/logging"
14+ "github.com/bnema/neferwl/internal/ports"
1515 "github.com/bnema/purego-libwayland/protocol/wayland"
1616 "github.com/bnema/wlturbo"
1717 "golang.org/x/sys/unix"
@@ -10,8 +10,8 @@ import (
10 "testing"10 "testing"
11 "time"11 "time"
12 12
13- "github.com/bnema/nefertty/internal/logging"13+ "github.com/bnema/neferwl/internal/logging"
14- "github.com/bnema/nefertty/internal/ports"14+ "github.com/bnema/neferwl/internal/ports"
15 "github.com/bnema/purego-libwayland/protocol/wayland"15 "github.com/bnema/purego-libwayland/protocol/wayland"
16 "github.com/bnema/wlturbo"16 "github.com/bnema/wlturbo"
17 "golang.org/x/sys/unix"17 "golang.org/x/sys/unix"
M internal/adapters/wayland/layer.go +1 -1
@@ -1,7 +1,7 @@
11 package wayland
22
33 import (
4- "github.com/bnema/nefertty/internal/ports"
4+ "github.com/bnema/neferwl/internal/ports"
55 "github.com/bnema/purego-libwayland/protocol/wayland"
66 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
77 "github.com/bnema/purego-libwayland/protocol/xdgshell"
@@ -1,7 +1,7 @@
1 package wayland1 package wayland
2 2
3 import (3 import (
4- "github.com/bnema/nefertty/internal/ports"4+ "github.com/bnema/neferwl/internal/ports"
5 "github.com/bnema/purego-libwayland/protocol/wayland"5 "github.com/bnema/purego-libwayland/protocol/wayland"
6 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"6 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
7 "github.com/bnema/purego-libwayland/protocol/xdgshell"7 "github.com/bnema/purego-libwayland/protocol/xdgshell"
M internal/adapters/wayland/layer_test.go +1 -1
@@ -2,7 +2,7 @@ package wayland
22
33 import (
44 "fmt"
5- "github.com/bnema/nefertty/internal/ports"
5+ "github.com/bnema/neferwl/internal/ports"
66 "github.com/bnema/purego-libwayland/protocol/wayland"
77 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
88 "github.com/bnema/purego-libwayland/protocol/xdgshell"
@@ -2,7 +2,7 @@ package wayland
2 2
3 import (3 import (
4 "fmt"4 "fmt"
5- "github.com/bnema/nefertty/internal/ports"5+ "github.com/bnema/neferwl/internal/ports"
6 "github.com/bnema/purego-libwayland/protocol/wayland"6 "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"7 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
8 "github.com/bnema/purego-libwayland/protocol/xdgshell"8 "github.com/bnema/purego-libwayland/protocol/xdgshell"
M internal/adapters/wayland/outputs.go +2 -2
@@ -4,7 +4,7 @@ import (
44 "math"
55 "strings"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/wayland"
99 "github.com/bnema/purego-libwayland/protocol/xdgoutput"
1010 "github.com/bnema/purego-libwayland/server"
@@ -41,7 +41,7 @@ func (o *output) sendAll(r *wayland.Output) {
4141 i := o.place.Info
4242 make, model := i.Make, i.Model
4343 if make == "" {
44- make, model = "nefertty", "headless"
44+ make, model = "neferwl", "headless"
4545 }
4646 refresh := i.RefreshMilli
4747 if refresh == 0 {
@@ -4,7 +4,7 @@ import (
4 "math"4 "math"
5 "strings"5 "strings"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/wayland"8 "github.com/bnema/purego-libwayland/protocol/wayland"
9 "github.com/bnema/purego-libwayland/protocol/xdgoutput"9 "github.com/bnema/purego-libwayland/protocol/xdgoutput"
10 "github.com/bnema/purego-libwayland/server"10 "github.com/bnema/purego-libwayland/server"
@@ -41,7 +41,7 @@ func (o *output) sendAll(r *wayland.Output) {
41 i := o.place.Info41 i := o.place.Info
42 make, model := i.Make, i.Model42 make, model := i.Make, i.Model
43 if make == "" {43 if make == "" {
44- make, model = "nefertty", "headless"44+ make, model = "neferwl", "headless"
45 }45 }
46 refresh := i.RefreshMilli46 refresh := i.RefreshMilli
47 if refresh == 0 {47 if refresh == 0 {
M internal/adapters/wayland/outputs_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/wayland"
99 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
1010 "github.com/bnema/wlturbo"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/wayland"8 "github.com/bnema/purego-libwayland/protocol/wayland"
9 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"9 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
10 "github.com/bnema/wlturbo"10 "github.com/bnema/wlturbo"
M internal/adapters/wayland/popup.go +1 -1
@@ -1,7 +1,7 @@
11 package wayland
22
33 import (
4- "github.com/bnema/nefertty/internal/ports"
4+ "github.com/bnema/neferwl/internal/ports"
55 "github.com/bnema/purego-libwayland/protocol/wayland"
66 "github.com/bnema/purego-libwayland/protocol/xdgshell"
77 "github.com/bnema/purego-libwayland/server"
@@ -1,7 +1,7 @@
1 package wayland1 package wayland
2 2
3 import (3 import (
4- "github.com/bnema/nefertty/internal/ports"4+ "github.com/bnema/neferwl/internal/ports"
5 "github.com/bnema/purego-libwayland/protocol/wayland"5 "github.com/bnema/purego-libwayland/protocol/wayland"
6 "github.com/bnema/purego-libwayland/protocol/xdgshell"6 "github.com/bnema/purego-libwayland/protocol/xdgshell"
7 "github.com/bnema/purego-libwayland/server"7 "github.com/bnema/purego-libwayland/server"
M internal/adapters/wayland/presentation.go +1 -1
@@ -3,7 +3,7 @@ package wayland
33 import (
44 "time"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 "github.com/bnema/purego-libwayland/protocol/presentationtime"
88 "github.com/bnema/purego-libwayland/protocol/wayland"
99 "github.com/bnema/purego-libwayland/server"
@@ -3,7 +3,7 @@ package wayland
3 import (3 import (
4 "time"4 "time"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 "github.com/bnema/purego-libwayland/protocol/presentationtime"7 "github.com/bnema/purego-libwayland/protocol/presentationtime"
8 "github.com/bnema/purego-libwayland/protocol/wayland"8 "github.com/bnema/purego-libwayland/protocol/wayland"
9 "github.com/bnema/purego-libwayland/server"9 "github.com/bnema/purego-libwayland/server"
M internal/adapters/wayland/presentation_test.go +2 -2
@@ -6,8 +6,8 @@ import (
66 "testing"
77 "time"
88
9- "github.com/bnema/nefertty/internal/logging"
10- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/logging"
10+ "github.com/bnema/neferwl/internal/ports"
1111 "github.com/bnema/purego-libwayland/protocol/presentationtime"
1212 "github.com/bnema/purego-libwayland/protocol/wayland"
1313 "github.com/bnema/wlturbo"
@@ -6,8 +6,8 @@ import (
6 "testing"6 "testing"
7 "time"7 "time"
8 8
9- "github.com/bnema/nefertty/internal/logging"9+ "github.com/bnema/neferwl/internal/logging"
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 "github.com/bnema/purego-libwayland/protocol/presentationtime"11 "github.com/bnema/purego-libwayland/protocol/presentationtime"
12 "github.com/bnema/purego-libwayland/protocol/wayland"12 "github.com/bnema/purego-libwayland/protocol/wayland"
13 "github.com/bnema/wlturbo"13 "github.com/bnema/wlturbo"
M internal/adapters/wayland/protocol_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "bytes"
55 "errors"
66 "fmt"
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "os"
99 "path/filepath"
1010 "testing"
@@ -4,7 +4,7 @@ import (
4 "bytes"4 "bytes"
5 "errors"5 "errors"
6 "fmt"6 "fmt"
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "os"8 "os"
9 "path/filepath"9 "path/filepath"
10 "testing"10 "testing"
M internal/adapters/wayland/release.go +1 -1
@@ -3,7 +3,7 @@ package wayland
33 import (
44 "time"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 "github.com/bnema/purego-libwayland/protocol/wayland"
88 )
99
@@ -3,7 +3,7 @@ package wayland
3 import (3 import (
4 "time"4 "time"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 "github.com/bnema/purego-libwayland/protocol/wayland"7 "github.com/bnema/purego-libwayland/protocol/wayland"
8 )8 )
9 9
M internal/adapters/wayland/release_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 func TestKeepHeld(t *testing.T) {
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 func TestKeepHeld(t *testing.T) {10 func TestKeepHeld(t *testing.T) {
M internal/adapters/wayland/scale_test.go +2 -2
@@ -5,8 +5,8 @@ import (
55 "testing"
66 "time"
77
8- "github.com/bnema/nefertty/internal/logging"
9- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/logging"
9+ "github.com/bnema/neferwl/internal/ports"
1010 "github.com/bnema/purego-libwayland/protocol/fractionalscale"
1111 "github.com/bnema/purego-libwayland/protocol/viewporter"
1212 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -5,8 +5,8 @@ import (
5 "testing"5 "testing"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/logging"8+ "github.com/bnema/neferwl/internal/logging"
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 "github.com/bnema/purego-libwayland/protocol/fractionalscale"10 "github.com/bnema/purego-libwayland/protocol/fractionalscale"
11 "github.com/bnema/purego-libwayland/protocol/viewporter"11 "github.com/bnema/purego-libwayland/protocol/viewporter"
12 "github.com/bnema/purego-libwayland/protocol/wayland"12 "github.com/bnema/purego-libwayland/protocol/wayland"
M internal/adapters/wayland/server.go +2 -2
@@ -10,7 +10,7 @@ import (
1010 "sync"
1111 "time"
1212
13- "github.com/bnema/nefertty/internal/ports"
13+ "github.com/bnema/neferwl/internal/ports"
1414 "github.com/bnema/purego-libwayland/protocol/fractionalscale"
1515 "github.com/bnema/purego-libwayland/protocol/wayland"
1616 "github.com/bnema/purego-libwayland/server"
@@ -668,7 +668,7 @@ func keymapFile(keymap string) (int, uint32, error) {
668668 if uint64(len(keymap))+1 > uint64(^uint32(0)) {
669669 return -1, 0, fmt.Errorf("keymap too large")
670670 }
671- fd, err := unix.MemfdCreate("nefertty-keymap", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)
671+ fd, err := unix.MemfdCreate("neferwl-keymap", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)
672672 if err != nil {
673673 return -1, 0, err
674674 }
@@ -10,7 +10,7 @@ import (
10 "sync"10 "sync"
11 "time"11 "time"
12 12
13- "github.com/bnema/nefertty/internal/ports"13+ "github.com/bnema/neferwl/internal/ports"
14 "github.com/bnema/purego-libwayland/protocol/fractionalscale"14 "github.com/bnema/purego-libwayland/protocol/fractionalscale"
15 "github.com/bnema/purego-libwayland/protocol/wayland"15 "github.com/bnema/purego-libwayland/protocol/wayland"
16 "github.com/bnema/purego-libwayland/server"16 "github.com/bnema/purego-libwayland/server"
@@ -668,7 +668,7 @@ func keymapFile(keymap string) (int, uint32, error) {
668 if uint64(len(keymap))+1 > uint64(^uint32(0)) {668 if uint64(len(keymap))+1 > uint64(^uint32(0)) {
669 return -1, 0, fmt.Errorf("keymap too large")669 return -1, 0, fmt.Errorf("keymap too large")
670 }670 }
671- fd, err := unix.MemfdCreate("nefertty-keymap", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)671+ fd, err := unix.MemfdCreate("neferwl-keymap", unix.MFD_CLOEXEC|unix.MFD_ALLOW_SEALING)
672 if err != nil {672 if err != nil {
673 return -1, 0, err673 return -1, 0, err
674 }674 }
M internal/adapters/wayland/server_test.go +2 -2
@@ -3,7 +3,7 @@ package wayland
33 import (
44 "bytes"
55 "context"
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 "os"
88 "os/exec"
99 "path/filepath"
@@ -13,7 +13,7 @@ import (
1313 "testing"
1414 "time"
1515
16- "github.com/bnema/nefertty/internal/logging"
16+ "github.com/bnema/neferwl/internal/logging"
1717 )
1818
1919 func TestWaylandInfo(t *testing.T) {
@@ -3,7 +3,7 @@ package wayland
3 import (3 import (
4 "bytes"4 "bytes"
5 "context"5 "context"
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 "os"7 "os"
8 "os/exec"8 "os/exec"
9 "path/filepath"9 "path/filepath"
@@ -13,7 +13,7 @@ import (
13 "testing"13 "testing"
14 "time"14 "time"
15 15
16- "github.com/bnema/nefertty/internal/logging"16+ "github.com/bnema/neferwl/internal/logging"
17 )17 )
18 18
19 func TestWaylandInfo(t *testing.T) {19 func TestWaylandInfo(t *testing.T) {
M internal/adapters/wayland/slot.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "os"
66 "strconv"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 "github.com/bnema/purego-libwayland/server"
1010 )
1111
@@ -5,7 +5,7 @@ import (
5 "os"5 "os"
6 "strconv"6 "strconv"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 "github.com/bnema/purego-libwayland/server"9 "github.com/bnema/purego-libwayland/server"
10 )10 )
11 11
M internal/adapters/wayland/slot_test.go +3 -3
@@ -4,7 +4,7 @@ import (
44 "os"
55 "testing"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 // A mapped window carries the slot token of its client process.
@@ -25,8 +25,8 @@ func TestWindowMappedCarriesSlot(t *testing.T) {
2525 }
2626
2727 func TestLinuxProcEnv(t *testing.T) {
28- t.Setenv("NEFERTTY_TEST_KEY", "x") // not in /proc: environ is the start env
29- if _, ok := (linuxProcEnv{}).Lookup(os.Getpid(), "NEFERTTY_TEST_KEY"); ok {
28+ t.Setenv("NEFERWL_TEST_KEY", "x") // not in /proc: environ is the start env
29+ if _, ok := (linuxProcEnv{}).Lookup(os.Getpid(), "NEFERWL_TEST_KEY"); ok {
3030 t.Fatal("environ reflects later changes")
3131 }
3232 path, ok := (linuxProcEnv{}).Lookup(os.Getpid(), "PATH")
@@ -4,7 +4,7 @@ import (
4 "os"4 "os"
5 "testing"5 "testing"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 // A mapped window carries the slot token of its client process.10 // A mapped window carries the slot token of its client process.
@@ -25,8 +25,8 @@ func TestWindowMappedCarriesSlot(t *testing.T) {
25 }25 }
26 26
27 func TestLinuxProcEnv(t *testing.T) {27 func TestLinuxProcEnv(t *testing.T) {
28- t.Setenv("NEFERTTY_TEST_KEY", "x") // not in /proc: environ is the start env28+ t.Setenv("NEFERWL_TEST_KEY", "x") // not in /proc: environ is the start env
29- if _, ok := (linuxProcEnv{}).Lookup(os.Getpid(), "NEFERTTY_TEST_KEY"); ok {29+ if _, ok := (linuxProcEnv{}).Lookup(os.Getpid(), "NEFERWL_TEST_KEY"); ok {
30 t.Fatal("environ reflects later changes")30 t.Fatal("environ reflects later changes")
31 }31 }
32 path, ok := (linuxProcEnv{}).Lookup(os.Getpid(), "PATH")32 path, ok := (linuxProcEnv{}).Lookup(os.Getpid(), "PATH")
M internal/adapters/wayland/subsurface_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/wayland"
99 "github.com/bnema/purego-libwayland/protocol/xdgshell"
1010 "golang.org/x/sys/unix"
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/wayland"8 "github.com/bnema/purego-libwayland/protocol/wayland"
9 "github.com/bnema/purego-libwayland/protocol/xdgshell"9 "github.com/bnema/purego-libwayland/protocol/xdgshell"
10 "golang.org/x/sys/unix"10 "golang.org/x/sys/unix"
M internal/adapters/wayland/surface.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "image"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 "github.com/bnema/purego-libwayland/protocol/wayland"
1010 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
1111 "github.com/bnema/purego-libwayland/protocol/xdgshell"
@@ -5,7 +5,7 @@ import (
5 "image"5 "image"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 "github.com/bnema/purego-libwayland/protocol/wayland"9 "github.com/bnema/purego-libwayland/protocol/wayland"
10 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"10 "github.com/bnema/purego-libwayland/protocol/wlrlayershell"
11 "github.com/bnema/purego-libwayland/protocol/xdgshell"11 "github.com/bnema/purego-libwayland/protocol/xdgshell"
M internal/adapters/wayland/syncobj_test.go +2 -2
@@ -9,8 +9,8 @@ import (
99 "time"
1010 "unsafe"
1111
12- "github.com/bnema/nefertty/internal/logging"
13- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/logging"
13+ "github.com/bnema/neferwl/internal/ports"
1414 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"
1515 "github.com/bnema/purego-libwayland/protocol/linuxdrmsyncobj"
1616 "github.com/bnema/purego-libwayland/protocol/wayland"
@@ -9,8 +9,8 @@ import (
9 "time"9 "time"
10 "unsafe"10 "unsafe"
11 11
12- "github.com/bnema/nefertty/internal/logging"12+ "github.com/bnema/neferwl/internal/logging"
13- "github.com/bnema/nefertty/internal/ports"13+ "github.com/bnema/neferwl/internal/ports"
14 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"14 "github.com/bnema/purego-libwayland/protocol/linuxdmabuf"
15 "github.com/bnema/purego-libwayland/protocol/linuxdrmsyncobj"15 "github.com/bnema/purego-libwayland/protocol/linuxdrmsyncobj"
16 "github.com/bnema/purego-libwayland/protocol/wayland"16 "github.com/bnema/purego-libwayland/protocol/wayland"
M internal/adapters/wayland/tearing_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/tearingcontrol"
99 "github.com/bnema/purego-libwayland/protocol/wayland"
1010 )
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/tearingcontrol"8 "github.com/bnema/purego-libwayland/protocol/tearingcontrol"
9 "github.com/bnema/purego-libwayland/protocol/wayland"9 "github.com/bnema/purego-libwayland/protocol/wayland"
10 )10 )
M internal/adapters/wayland/virtualkeyboard.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "bytes"
55 "time"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "github.com/bnema/purego-libwayland/protocol/virtualkeyboard"
99 "github.com/bnema/purego-libwayland/protocol/wayland"
1010 "github.com/bnema/purego-libwayland/server"
@@ -4,7 +4,7 @@ import (
4 "bytes"4 "bytes"
5 "time"5 "time"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "github.com/bnema/purego-libwayland/protocol/virtualkeyboard"8 "github.com/bnema/purego-libwayland/protocol/virtualkeyboard"
9 "github.com/bnema/purego-libwayland/protocol/wayland"9 "github.com/bnema/purego-libwayland/protocol/wayland"
10 "github.com/bnema/purego-libwayland/server"10 "github.com/bnema/purego-libwayland/server"
M internal/adapters/wayland/virtualkeyboard_test.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "testing"
77 "time"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 "github.com/bnema/purego-libwayland/protocol/virtualkeyboard"
1111 "github.com/bnema/purego-libwayland/protocol/wayland"
1212 "github.com/bnema/wlturbo"
@@ -6,7 +6,7 @@ import (
6 "testing"6 "testing"
7 "time"7 "time"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 "github.com/bnema/purego-libwayland/protocol/virtualkeyboard"10 "github.com/bnema/purego-libwayland/protocol/virtualkeyboard"
11 "github.com/bnema/purego-libwayland/protocol/wayland"11 "github.com/bnema/purego-libwayland/protocol/wayland"
12 "github.com/bnema/wlturbo"12 "github.com/bnema/wlturbo"
M internal/adapters/wayland/xdg.go +1 -1
@@ -2,7 +2,7 @@ package wayland
22
33 import (
44 "encoding/binary"
5- "github.com/bnema/nefertty/internal/ports"
5+ "github.com/bnema/neferwl/internal/ports"
66 "github.com/bnema/purego-libwayland/protocol/wayland"
77 "github.com/bnema/purego-libwayland/protocol/xdgshell"
88 "github.com/bnema/purego-libwayland/server"
@@ -2,7 +2,7 @@ package wayland
2 2
3 import (3 import (
4 "encoding/binary"4 "encoding/binary"
5- "github.com/bnema/nefertty/internal/ports"5+ "github.com/bnema/neferwl/internal/ports"
6 "github.com/bnema/purego-libwayland/protocol/wayland"6 "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/protocol/xdgshell"7 "github.com/bnema/purego-libwayland/protocol/xdgshell"
8 "github.com/bnema/purego-libwayland/server"8 "github.com/bnema/purego-libwayland/server"
M internal/adapters/xkb/xkb.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "runtime"
77 "unsafe"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 "github.com/bnema/purego"
1111 )
1212
@@ -6,7 +6,7 @@ import (
6 "runtime"6 "runtime"
7 "unsafe"7 "unsafe"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 "github.com/bnema/purego"10 "github.com/bnema/purego"
11 )11 )
12 12
M internal/adapters/xkb/xkb_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "strings"
55 "testing"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 func newTest(t *testing.T, layout string) *Keymap {
@@ -4,7 +4,7 @@ import (
4 "strings"4 "strings"
5 "testing"5 "testing"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 func newTest(t *testing.T, layout string) *Keymap {10 func newTest(t *testing.T, layout string) *Keymap {
M internal/adapters/xwayland/xwayland.go +1 -1
@@ -1,5 +1,5 @@
11 // Package xwayland runs X11 clients through xwayland-satellite, started on
2-// demand: nefertty owns the X11 display sockets and starts the satellite
2+// demand: neferwl owns the X11 display sockets and starts the satellite
33 // when the first X11 client connects, and again after it exits.
44 package xwayland
55
@@ -1,5 +1,5 @@
1 // Package xwayland runs X11 clients through xwayland-satellite, started on1 // Package xwayland runs X11 clients through xwayland-satellite, started on
2-// demand: nefertty owns the X11 display sockets and starts the satellite2+// demand: neferwl owns the X11 display sockets and starts the satellite
3 // when the first X11 client connects, and again after it exits.3 // when the first X11 client connects, and again after it exits.
4 package xwayland4 package xwayland
5 5
M internal/adapters/xwayland/xwayland_test.go +1 -1
@@ -10,7 +10,7 @@ import (
1010 "testing"
1111 "time"
1212
13- "github.com/bnema/nefertty/internal/logging"
13+ "github.com/bnema/neferwl/internal/logging"
1414 "golang.org/x/sys/unix"
1515 )
1616
@@ -10,7 +10,7 @@ import (
10 "testing"10 "testing"
11 "time"11 "time"
12 12
13- "github.com/bnema/nefertty/internal/logging"13+ "github.com/bnema/neferwl/internal/logging"
14 "golang.org/x/sys/unix"14 "golang.org/x/sys/unix"
15 )15 )
16 16
M internal/app/app.go +14 -14
@@ -11,19 +11,19 @@ import (
1111 "sync"
1212 "time"
1313
14- "github.com/bnema/nefertty/internal/adapters/config"
15- "github.com/bnema/nefertty/internal/adapters/drm"
16- "github.com/bnema/nefertty/internal/adapters/headlessinput"
17- "github.com/bnema/nefertty/internal/adapters/launcher"
18- "github.com/bnema/nefertty/internal/adapters/libinput"
19- "github.com/bnema/nefertty/internal/adapters/statefile"
20- "github.com/bnema/nefertty/internal/adapters/vulkan"
21- "github.com/bnema/nefertty/internal/adapters/wayland"
22- "github.com/bnema/nefertty/internal/adapters/xkb"
23- "github.com/bnema/nefertty/internal/adapters/xwayland"
24- "github.com/bnema/nefertty/internal/core"
25- "github.com/bnema/nefertty/internal/logging"
26- "github.com/bnema/nefertty/internal/ports"
14+ "github.com/bnema/neferwl/internal/adapters/config"
15+ "github.com/bnema/neferwl/internal/adapters/drm"
16+ "github.com/bnema/neferwl/internal/adapters/headlessinput"
17+ "github.com/bnema/neferwl/internal/adapters/launcher"
18+ "github.com/bnema/neferwl/internal/adapters/libinput"
19+ "github.com/bnema/neferwl/internal/adapters/statefile"
20+ "github.com/bnema/neferwl/internal/adapters/vulkan"
21+ "github.com/bnema/neferwl/internal/adapters/wayland"
22+ "github.com/bnema/neferwl/internal/adapters/xkb"
23+ "github.com/bnema/neferwl/internal/adapters/xwayland"
24+ "github.com/bnema/neferwl/internal/core"
25+ "github.com/bnema/neferwl/internal/logging"
26+ "github.com/bnema/neferwl/internal/ports"
2727 "github.com/bnema/zerowrap"
2828 "golang.org/x/sys/unix"
2929 )
@@ -53,7 +53,7 @@ func Run(ctx context.Context, opts Options) error { return run(ctx, opts, nil) }
5353
5454 func run(ctx context.Context, opts Options, inject func(chan<- ports.InputEvent)) error {
5555 log := logging.For(ctx, "app")
56- log.Info().Str("backend", opts.Backend).Msg("starting nefertty")
56+ log.Info().Str("backend", opts.Backend).Msg("starting neferwl")
5757 var cancel context.CancelFunc
5858 if opts.Timeout > 0 {
5959 ctx, cancel = context.WithTimeoutCause(ctx, opts.Timeout, errTimeout)
@@ -11,19 +11,19 @@ import (
11 "sync"11 "sync"
12 "time"12 "time"
13 13
14- "github.com/bnema/nefertty/internal/adapters/config"14+ "github.com/bnema/neferwl/internal/adapters/config"
15- "github.com/bnema/nefertty/internal/adapters/drm"15+ "github.com/bnema/neferwl/internal/adapters/drm"
16- "github.com/bnema/nefertty/internal/adapters/headlessinput"16+ "github.com/bnema/neferwl/internal/adapters/headlessinput"
17- "github.com/bnema/nefertty/internal/adapters/launcher"17+ "github.com/bnema/neferwl/internal/adapters/launcher"
18- "github.com/bnema/nefertty/internal/adapters/libinput"18+ "github.com/bnema/neferwl/internal/adapters/libinput"
19- "github.com/bnema/nefertty/internal/adapters/statefile"19+ "github.com/bnema/neferwl/internal/adapters/statefile"
20- "github.com/bnema/nefertty/internal/adapters/vulkan"20+ "github.com/bnema/neferwl/internal/adapters/vulkan"
21- "github.com/bnema/nefertty/internal/adapters/wayland"21+ "github.com/bnema/neferwl/internal/adapters/wayland"
22- "github.com/bnema/nefertty/internal/adapters/xkb"22+ "github.com/bnema/neferwl/internal/adapters/xkb"
23- "github.com/bnema/nefertty/internal/adapters/xwayland"23+ "github.com/bnema/neferwl/internal/adapters/xwayland"
24- "github.com/bnema/nefertty/internal/core"24+ "github.com/bnema/neferwl/internal/core"
25- "github.com/bnema/nefertty/internal/logging"25+ "github.com/bnema/neferwl/internal/logging"
26- "github.com/bnema/nefertty/internal/ports"26+ "github.com/bnema/neferwl/internal/ports"
27 "github.com/bnema/zerowrap"27 "github.com/bnema/zerowrap"
28 "golang.org/x/sys/unix"28 "golang.org/x/sys/unix"
29 )29 )
@@ -53,7 +53,7 @@ func Run(ctx context.Context, opts Options) error { return run(ctx, opts, nil) }
53 53
54 func run(ctx context.Context, opts Options, inject func(chan<- ports.InputEvent)) error {54 func run(ctx context.Context, opts Options, inject func(chan<- ports.InputEvent)) error {
55 log := logging.For(ctx, "app")55 log := logging.For(ctx, "app")
56- log.Info().Str("backend", opts.Backend).Msg("starting nefertty")56+ log.Info().Str("backend", opts.Backend).Msg("starting neferwl")
57 var cancel context.CancelFunc57 var cancel context.CancelFunc
58 if opts.Timeout > 0 {58 if opts.Timeout > 0 {
59 ctx, cancel = context.WithTimeoutCause(ctx, opts.Timeout, errTimeout)59 ctx, cancel = context.WithTimeoutCause(ctx, opts.Timeout, errTimeout)
M internal/app/app_test.go +7 -7
@@ -12,10 +12,10 @@ import (
1212 "testing"
1313 "time"
1414
15- "github.com/bnema/nefertty/internal/adapters/config"
16- "github.com/bnema/nefertty/internal/adapters/xkb"
17- "github.com/bnema/nefertty/internal/logging"
18- "github.com/bnema/nefertty/internal/ports"
15+ "github.com/bnema/neferwl/internal/adapters/config"
16+ "github.com/bnema/neferwl/internal/adapters/xkb"
17+ "github.com/bnema/neferwl/internal/logging"
18+ "github.com/bnema/neferwl/internal/ports"
1919 )
2020
2121 func TestHeadlessConfigReload(t *testing.T) {
@@ -171,7 +171,7 @@ func TestHeadlessTyping(t *testing.T) {
171171 cfg := config.Defaults()
172172 cfg.Terminal.Command = []string{"foot", "-c", "/dev/null", "sh"}
173173 dir := t.TempDir()
174- err := Run(context.Background(), Options{Backend: "headless", NoXwayland: true, Config: cfg, ScreenshotDir: dir, Script: io.NopCloser(strings.NewReader("sleep 1.5s\ntype echo nefertty-ok\nkey Return\nsleep 1s\n")), Timeout: 6 * time.Second})
174+ err := Run(context.Background(), Options{Backend: "headless", NoXwayland: true, Config: cfg, ScreenshotDir: dir, Script: io.NopCloser(strings.NewReader("sleep 1.5s\ntype echo neferwl-ok\nkey Return\nsleep 1s\n")), Timeout: 6 * time.Second})
175175 if err != nil {
176176 if strings.Contains(err.Error(), "Vulkan") || strings.Contains(err.Error(), "vulkan") {
177177 t.Skipf("Vulkan unavailable: %v", err)
@@ -202,12 +202,12 @@ func TestHeadlessTyping(t *testing.T) {
202202 if !varied {
203203 t.Fatal("window image is uniform")
204204 }
205- if os.Getenv("NEFERTTY_KEEP_SHOTS") == "1" {
205+ if os.Getenv("NEFERWL_KEEP_SHOTS") == "1" {
206206 data, err := os.ReadFile(path)
207207 if err != nil {
208208 t.Fatal(err)
209209 }
210- if err := os.WriteFile("/tmp/nefertty-typing.png", data, 0600); err != nil {
210+ if err := os.WriteFile("/tmp/neferwl-typing.png", data, 0600); err != nil {
211211 t.Fatal(err)
212212 }
213213 }
@@ -12,10 +12,10 @@ import (
12 "testing"12 "testing"
13 "time"13 "time"
14 14
15- "github.com/bnema/nefertty/internal/adapters/config"15+ "github.com/bnema/neferwl/internal/adapters/config"
16- "github.com/bnema/nefertty/internal/adapters/xkb"16+ "github.com/bnema/neferwl/internal/adapters/xkb"
17- "github.com/bnema/nefertty/internal/logging"17+ "github.com/bnema/neferwl/internal/logging"
18- "github.com/bnema/nefertty/internal/ports"18+ "github.com/bnema/neferwl/internal/ports"
19 )19 )
20 20
21 func TestHeadlessConfigReload(t *testing.T) {21 func TestHeadlessConfigReload(t *testing.T) {
@@ -171,7 +171,7 @@ func TestHeadlessTyping(t *testing.T) {
171 cfg := config.Defaults()171 cfg := config.Defaults()
172 cfg.Terminal.Command = []string{"foot", "-c", "/dev/null", "sh"}172 cfg.Terminal.Command = []string{"foot", "-c", "/dev/null", "sh"}
173 dir := t.TempDir()173 dir := t.TempDir()
174- err := Run(context.Background(), Options{Backend: "headless", NoXwayland: true, Config: cfg, ScreenshotDir: dir, Script: io.NopCloser(strings.NewReader("sleep 1.5s\ntype echo nefertty-ok\nkey Return\nsleep 1s\n")), Timeout: 6 * time.Second})174+ err := Run(context.Background(), Options{Backend: "headless", NoXwayland: true, Config: cfg, ScreenshotDir: dir, Script: io.NopCloser(strings.NewReader("sleep 1.5s\ntype echo neferwl-ok\nkey Return\nsleep 1s\n")), Timeout: 6 * time.Second})
175 if err != nil {175 if err != nil {
176 if strings.Contains(err.Error(), "Vulkan") || strings.Contains(err.Error(), "vulkan") {176 if strings.Contains(err.Error(), "Vulkan") || strings.Contains(err.Error(), "vulkan") {
177 t.Skipf("Vulkan unavailable: %v", err)177 t.Skipf("Vulkan unavailable: %v", err)
@@ -202,12 +202,12 @@ func TestHeadlessTyping(t *testing.T) {
202 if !varied {202 if !varied {
203 t.Fatal("window image is uniform")203 t.Fatal("window image is uniform")
204 }204 }
205- if os.Getenv("NEFERTTY_KEEP_SHOTS") == "1" {205+ if os.Getenv("NEFERWL_KEEP_SHOTS") == "1" {
206 data, err := os.ReadFile(path)206 data, err := os.ReadFile(path)
207 if err != nil {207 if err != nil {
208 t.Fatal(err)208 t.Fatal(err)
209 }209 }
210- if err := os.WriteFile("/tmp/nefertty-typing.png", data, 0600); err != nil {210+ if err := os.WriteFile("/tmp/neferwl-typing.png", data, 0600); err != nil {
211 t.Fatal(err)211 t.Fatal(err)
212 }212 }
213 }213 }
M internal/app/cursor.go +2 -2
@@ -6,8 +6,8 @@ import (
66 "strconv"
77 "sync"
88
9- "github.com/bnema/nefertty/internal/adapters/xcursor"
10- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/adapters/xcursor"
10+ "github.com/bnema/neferwl/internal/ports"
1111 )
1212
1313 // cursorSize is XCURSOR_SIZE (logical pixels), 24 by default.
@@ -6,8 +6,8 @@ import (
6 "strconv"6 "strconv"
7 "sync"7 "sync"
8 8
9- "github.com/bnema/nefertty/internal/adapters/xcursor"9+ "github.com/bnema/neferwl/internal/adapters/xcursor"
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 )11 )
12 12
13 // cursorSize is XCURSOR_SIZE (logical pixels), 24 by default.13 // cursorSize is XCURSOR_SIZE (logical pixels), 24 by default.
M internal/app/cursor_test.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "path/filepath"
77 "testing"
88
9- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/ports"
1010 )
1111
1212 // themeCursor writes a one-image Xcursor file of side size under
@@ -6,7 +6,7 @@ import (
6 "path/filepath"6 "path/filepath"
7 "testing"7 "testing"
8 8
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 )10 )
11 11
12 // themeCursor writes a one-image Xcursor file of side size under12 // themeCursor writes a one-image Xcursor file of side size under
M internal/app/drm.go +5 -5
@@ -9,11 +9,11 @@ import (
99 "sort"
1010 "sync"
1111
12- "github.com/bnema/nefertty/internal/adapters/config"
13- "github.com/bnema/nefertty/internal/adapters/drm"
14- "github.com/bnema/nefertty/internal/adapters/seat"
15- "github.com/bnema/nefertty/internal/logging"
16- "github.com/bnema/nefertty/internal/ports"
12+ "github.com/bnema/neferwl/internal/adapters/config"
13+ "github.com/bnema/neferwl/internal/adapters/drm"
14+ "github.com/bnema/neferwl/internal/adapters/seat"
15+ "github.com/bnema/neferwl/internal/logging"
16+ "github.com/bnema/neferwl/internal/ports"
1717 "github.com/bnema/zerowrap"
1818 )
1919
@@ -9,11 +9,11 @@ import (
9 "sort"9 "sort"
10 "sync"10 "sync"
11 11
12- "github.com/bnema/nefertty/internal/adapters/config"12+ "github.com/bnema/neferwl/internal/adapters/config"
13- "github.com/bnema/nefertty/internal/adapters/drm"13+ "github.com/bnema/neferwl/internal/adapters/drm"
14- "github.com/bnema/nefertty/internal/adapters/seat"14+ "github.com/bnema/neferwl/internal/adapters/seat"
15- "github.com/bnema/nefertty/internal/logging"15+ "github.com/bnema/neferwl/internal/logging"
16- "github.com/bnema/nefertty/internal/ports"16+ "github.com/bnema/neferwl/internal/ports"
17 "github.com/bnema/zerowrap"17 "github.com/bnema/zerowrap"
18 )18 )
19 19
M internal/app/drm_test.go +1 -1
@@ -3,7 +3,7 @@ package app
33 import (
44 "testing"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 )
88
99 func TestWantFromConfig(t *testing.T) {
@@ -3,7 +3,7 @@ package app
3 import (3 import (
4 "testing"4 "testing"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 )7 )
8 8
9 func TestWantFromConfig(t *testing.T) {9 func TestWantFromConfig(t *testing.T) {
M internal/app/headless.go +2 -2
@@ -6,8 +6,8 @@ import (
66 "os"
77 "path/filepath"
88
9- "github.com/bnema/nefertty/internal/adapters/headless"
10- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/adapters/headless"
10+ "github.com/bnema/neferwl/internal/ports"
1111 "github.com/bnema/zerowrap"
1212 )
1313
@@ -6,8 +6,8 @@ import (
6 "os"6 "os"
7 "path/filepath"7 "path/filepath"
8 8
9- "github.com/bnema/nefertty/internal/adapters/headless"9+ "github.com/bnema/neferwl/internal/adapters/headless"
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 "github.com/bnema/zerowrap"11 "github.com/bnema/zerowrap"
12 )12 )
13 13
M internal/app/outputs.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "context"
55 "sync"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 // outputRun drives one output until ctx ends: it renders the scenes and
@@ -4,7 +4,7 @@ import (
4 "context"4 "context"
5 "sync"5 "sync"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 // outputRun drives one output until ctx ends: it renders the scenes and10 // outputRun drives one output until ctx ends: it renders the scenes and
M internal/app/outputs_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "testing"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 // Every output gets the latest cursor, and a new output starts with it.
@@ -5,7 +5,7 @@ import (
5 "testing"5 "testing"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 // Every output gets the latest cursor, and a new output starts with it.11 // Every output gets the latest cursor, and a new output starts with it.
M internal/core/core.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "context"
55 "errors"
66 "fmt"
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 "maps"
99 "slices"
1010 "strconv"
@@ -4,7 +4,7 @@ import (
4 "context"4 "context"
5 "errors"5 "errors"
6 "fmt"6 "fmt"
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 "maps"8 "maps"
9 "slices"9 "slices"
10 "strconv"10 "strconv"
M internal/core/core_test.go +3 -3
@@ -3,9 +3,9 @@ package core_test
33 import (
44 "context"
55 "errors"
6- "github.com/bnema/nefertty/internal/adapters/config"
7- "github.com/bnema/nefertty/internal/core"
8- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/adapters/config"
7+ "github.com/bnema/neferwl/internal/core"
8+ "github.com/bnema/neferwl/internal/ports"
99 "testing"
1010 "time"
1111 )
@@ -3,9 +3,9 @@ package core_test
3 import (3 import (
4 "context"4 "context"
5 "errors"5 "errors"
6- "github.com/bnema/nefertty/internal/adapters/config"6+ "github.com/bnema/neferwl/internal/adapters/config"
7- "github.com/bnema/nefertty/internal/core"7+ "github.com/bnema/neferwl/internal/core"
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 "testing"9 "testing"
10 "time"10 "time"
11 )11 )
M internal/core/inhibit_test.go +3 -3
@@ -5,9 +5,9 @@ import (
55 "testing"
66 "time"
77
8- "github.com/bnema/nefertty/internal/adapters/config"
9- "github.com/bnema/nefertty/internal/core"
10- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/adapters/config"
9+ "github.com/bnema/neferwl/internal/core"
10+ "github.com/bnema/neferwl/internal/ports"
1111 )
1212
1313 // commandOf waits for the next command of type T, skipping others.
@@ -5,9 +5,9 @@ import (
5 "testing"5 "testing"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/adapters/config"8+ "github.com/bnema/neferwl/internal/adapters/config"
9- "github.com/bnema/nefertty/internal/core"9+ "github.com/bnema/neferwl/internal/core"
10- "github.com/bnema/nefertty/internal/ports"10+ "github.com/bnema/neferwl/internal/ports"
11 )11 )
12 12
13 // commandOf waits for the next command of type T, skipping others.13 // commandOf waits for the next command of type T, skipping others.
M internal/core/layer_input_test.go +3 -3
@@ -4,9 +4,9 @@ import (
44 "context"
55 "testing"
66
7- "github.com/bnema/nefertty/internal/adapters/config"
8- "github.com/bnema/nefertty/internal/core"
9- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/adapters/config"
8+ "github.com/bnema/neferwl/internal/core"
9+ "github.com/bnema/neferwl/internal/ports"
1010 )
1111
1212 // next returns the next command of type T matching ok, skipping others.
@@ -4,9 +4,9 @@ import (
4 "context"4 "context"
5 "testing"5 "testing"
6 6
7- "github.com/bnema/nefertty/internal/adapters/config"7+ "github.com/bnema/neferwl/internal/adapters/config"
8- "github.com/bnema/nefertty/internal/core"8+ "github.com/bnema/neferwl/internal/core"
9- "github.com/bnema/nefertty/internal/ports"9+ "github.com/bnema/neferwl/internal/ports"
10 )10 )
11 11
12 // next returns the next command of type T matching ok, skipping others.12 // next returns the next command of type T matching ok, skipping others.
M internal/core/layers.go +1 -1
@@ -3,7 +3,7 @@ package core
33 import (
44 "sort"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 )
88
99 // arrangeLayers places exclusive surfaces first, then sorts the resulting scene by layer.
@@ -3,7 +3,7 @@ package core
3 import (3 import (
4 "sort"4 "sort"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 )7 )
8 8
9 // arrangeLayers places exclusive surfaces first, then sorts the resulting scene by layer.9 // arrangeLayers places exclusive surfaces first, then sorts the resulting scene by layer.
M internal/core/layers_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "testing"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 func TestArrangeLayers(t *testing.T) {
@@ -5,7 +5,7 @@ import (
5 "testing"5 "testing"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 func TestArrangeLayers(t *testing.T) {11 func TestArrangeLayers(t *testing.T) {
M internal/core/layout.go +1 -1
@@ -2,7 +2,7 @@ package core
22
33 import (
44 "fmt"
5- "github.com/bnema/nefertty/internal/ports"
5+ "github.com/bnema/neferwl/internal/ports"
66 "math/bits"
77 "slices"
88 "strconv"
@@ -2,7 +2,7 @@ package core
2 2
3 import (3 import (
4 "fmt"4 "fmt"
5- "github.com/bnema/nefertty/internal/ports"5+ "github.com/bnema/neferwl/internal/ports"
6 "math/bits"6 "math/bits"
7 "slices"7 "slices"
8 "strconv"8 "strconv"
M internal/core/layout_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "reflect"
66 "testing"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 func workspace() *Workspace {
@@ -5,7 +5,7 @@ import (
5 "reflect"5 "reflect"
6 "testing"6 "testing"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 func workspace() *Workspace {11 func workspace() *Workspace {
M internal/core/monitor_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "slices"
66 "testing"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 func monitor() *Monitor {
@@ -5,7 +5,7 @@ import (
5 "slices"5 "slices"
6 "testing"6 "testing"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 func monitor() *Monitor {11 func monitor() *Monitor {
M internal/core/popup.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "context"
55 "slices"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 // popupState is a placed xdg_popup. Rect is relative to the parent's
@@ -4,7 +4,7 @@ import (
4 "context"4 "context"
5 "slices"5 "slices"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 // popupState is a placed xdg_popup. Rect is relative to the parent's10 // popupState is a placed xdg_popup. Rect is relative to the parent's
M internal/core/popup_test.go +1 -1
@@ -3,7 +3,7 @@ package core
33 import (
44 "testing"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 )
88
99 func TestPlacePopup(t *testing.T) {
@@ -3,7 +3,7 @@ package core
3 import (3 import (
4 "testing"4 "testing"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 )7 )
8 8
9 func TestPlacePopup(t *testing.T) {9 func TestPlacePopup(t *testing.T) {
M internal/core/screens.go +1 -1
@@ -3,7 +3,7 @@ package core
33 import (
44 "slices"
55
6- "github.com/bnema/nefertty/internal/ports"
6+ "github.com/bnema/neferwl/internal/ports"
77 )
88
99 // screen is one connected output: its monitor tree, scale, layer surfaces and
@@ -3,7 +3,7 @@ package core
3 import (3 import (
4 "slices"4 "slices"
5 5
6- "github.com/bnema/nefertty/internal/ports"6+ "github.com/bnema/neferwl/internal/ports"
7 )7 )
8 8
9 // screen is one connected output: its monitor tree, scale, layer surfaces and9 // screen is one connected output: its monitor tree, scale, layer surfaces and
M internal/core/screens_test.go +3 -3
@@ -6,9 +6,9 @@ import (
66 "slices"
77 "testing"
88
9- "github.com/bnema/nefertty/internal/adapters/config"
10- "github.com/bnema/nefertty/internal/core"
11- "github.com/bnema/nefertty/internal/ports"
9+ "github.com/bnema/neferwl/internal/adapters/config"
10+ "github.com/bnema/neferwl/internal/core"
11+ "github.com/bnema/neferwl/internal/ports"
1212 )
1313
1414 type multiRig struct {
@@ -6,9 +6,9 @@ import (
6 "slices"6 "slices"
7 "testing"7 "testing"
8 8
9- "github.com/bnema/nefertty/internal/adapters/config"9+ "github.com/bnema/neferwl/internal/adapters/config"
10- "github.com/bnema/nefertty/internal/core"10+ "github.com/bnema/neferwl/internal/core"
11- "github.com/bnema/nefertty/internal/ports"11+ "github.com/bnema/neferwl/internal/ports"
12 )12 )
13 13
14 type multiRig struct {14 type multiRig struct {
M internal/core/separators.go +1 -1
@@ -1,6 +1,6 @@
11 package core
22
3-import "github.com/bnema/nefertty/internal/ports"
3+import "github.com/bnema/neferwl/internal/ports"
44
55 // Separator lines follow tmux (screen-redraw.c): tiles share one line per
66 // side where they touch, owned by the left or top tile (Placement.Inset).
@@ -1,6 +1,6 @@
1 package core1 package core
2 2
3-import "github.com/bnema/nefertty/internal/ports"3+import "github.com/bnema/neferwl/internal/ports"
4 4
5 // Separator lines follow tmux (screen-redraw.c): tiles share one line per5 // Separator lines follow tmux (screen-redraw.c): tiles share one line per
6 // side where they touch, owned by the left or top tile (Placement.Inset).6 // side where they touch, owned by the left or top tile (Placement.Inset).
M internal/core/separators_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "reflect"
55 "testing"
66
7- "github.com/bnema/nefertty/internal/ports"
7+ "github.com/bnema/neferwl/internal/ports"
88 )
99
1010 // tiles lays out rects edge to edge (no gap) with focus on index f.
@@ -4,7 +4,7 @@ import (
4 "reflect"4 "reflect"
5 "testing"5 "testing"
6 6
7- "github.com/bnema/nefertty/internal/ports"7+ "github.com/bnema/neferwl/internal/ports"
8 )8 )
9 9
10 // tiles lays out rects edge to edge (no gap) with focus on index f.10 // tiles lays out rects edge to edge (no gap) with focus on index f.
M internal/core/slots.go +2 -2
@@ -5,12 +5,12 @@ import (
55 "fmt"
66 "slices"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 // Slots of declared workspaces (ADR 011): workspace.<name>.column.N reserves
1212 // column N for the window of one command. The slot, not the window, has the
13-// identity: nefertty spawns the command with SlotEnv set to a random token,
13+// identity: neferwl spawns the command with SlotEnv set to a random token,
1414 // and the first window of a client carrying that token fills the slot.
1515 //
1616 // Only the token of the pending spawn is accepted: once the slot is filled,
@@ -5,12 +5,12 @@ import (
5 "fmt"5 "fmt"
6 "slices"6 "slices"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 // Slots of declared workspaces (ADR 011): workspace.<name>.column.N reserves11 // Slots of declared workspaces (ADR 011): workspace.<name>.column.N reserves
12 // column N for the window of one command. The slot, not the window, has the12 // column N for the window of one command. The slot, not the window, has the
13-// identity: nefertty spawns the command with SlotEnv set to a random token,13+// identity: neferwl spawns the command with SlotEnv set to a random token,
14 // and the first window of a client carrying that token fills the slot.14 // and the first window of a client carrying that token fills the slot.
15 //15 //
16 // Only the token of the pending spawn is accepted: once the slot is filled,16 // Only the token of the pending spawn is accepted: once the slot is filled,
M internal/core/slots_test.go +3 -3
@@ -7,9 +7,9 @@ import (
77 "testing"
88 "time"
99
10- "github.com/bnema/nefertty/internal/adapters/config"
11- "github.com/bnema/nefertty/internal/core"
12- "github.com/bnema/nefertty/internal/ports"
10+ "github.com/bnema/neferwl/internal/adapters/config"
11+ "github.com/bnema/neferwl/internal/core"
12+ "github.com/bnema/neferwl/internal/ports"
1313 )
1414
1515 type slotRig struct {
@@ -7,9 +7,9 @@ import (
7 "testing"7 "testing"
8 "time"8 "time"
9 9
10- "github.com/bnema/nefertty/internal/adapters/config"10+ "github.com/bnema/neferwl/internal/adapters/config"
11- "github.com/bnema/nefertty/internal/core"11+ "github.com/bnema/neferwl/internal/core"
12- "github.com/bnema/nefertty/internal/ports"12+ "github.com/bnema/neferwl/internal/ports"
13 )13 )
14 14
15 type slotRig struct {15 type slotRig struct {
M internal/core/state.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "reflect"
66 "slices"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 // publishState sends the script-facing snapshot when it changed.
@@ -5,7 +5,7 @@ import (
5 "reflect"5 "reflect"
6 "slices"6 "slices"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 // publishState sends the script-facing snapshot when it changed.11 // publishState sends the script-facing snapshot when it changed.
M internal/core/terminal.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "slices"
66 "time"
77
8- "github.com/bnema/nefertty/internal/ports"
8+ "github.com/bnema/neferwl/internal/ports"
99 )
1010
1111 // The terminal is the desktop: a workspace on screen is never empty. When
@@ -5,7 +5,7 @@ import (
5 "slices"5 "slices"
6 "time"6 "time"
7 7
8- "github.com/bnema/nefertty/internal/ports"8+ "github.com/bnema/neferwl/internal/ports"
9 )9 )
10 10
11 // The terminal is the desktop: a workspace on screen is never empty. When11 // The terminal is the desktop: a workspace on screen is never empty. When
M internal/logging/logging.go +1 -1
@@ -66,7 +66,7 @@ func Open(ctx context.Context, level, debug string) (context.Context, func() err
6666 }
6767 state = filepath.Join(home, ".local", "state")
6868 }
69- dir := filepath.Join(state, "nefertty", "runs")
69+ dir := filepath.Join(state, "neferwl", "runs")
7070 if err := os.MkdirAll(dir, 0o700); err != nil {
7171 return nil, nil, err
7272 }
@@ -66,7 +66,7 @@ func Open(ctx context.Context, level, debug string) (context.Context, func() err
66 }66 }
67 state = filepath.Join(home, ".local", "state")67 state = filepath.Join(home, ".local", "state")
68 }68 }
69- dir := filepath.Join(state, "nefertty", "runs")69+ dir := filepath.Join(state, "neferwl", "runs")
70 if err := os.MkdirAll(dir, 0o700); err != nil {70 if err := os.MkdirAll(dir, 0o700); err != nil {
71 return nil, nil, err71 return nil, nil, err
72 }72 }
M internal/logging/logging_test.go +2 -2
@@ -34,7 +34,7 @@ func TestParseDebug(t *testing.T) {
3434
3535 func TestComponentLevelsAndRotation(t *testing.T) {
3636 t.Setenv("XDG_STATE_HOME", t.TempDir())
37- dir := filepath.Join(os.Getenv("XDG_STATE_HOME"), "nefertty", "runs")
37+ dir := filepath.Join(os.Getenv("XDG_STATE_HOME"), "neferwl", "runs")
3838 path := filepath.Join(dir, "latest.log")
3939 for run := 0; run < keepRuns+2; run++ {
4040 time.Sleep(2 * time.Millisecond) // distinct millisecond timestamps
@@ -97,7 +97,7 @@ func TestCategoryEnablesComponentDebug(t *testing.T) {
9797 if err := closeLog(); err != nil {
9898 t.Fatal(err)
9999 }
100- data, err := os.ReadFile(filepath.Join(os.Getenv("XDG_STATE_HOME"), "nefertty", "runs", "latest.log"))
100+ data, err := os.ReadFile(filepath.Join(os.Getenv("XDG_STATE_HOME"), "neferwl", "runs", "latest.log"))
101101 if err != nil {
102102 t.Fatal(err)
103103 }
@@ -34,7 +34,7 @@ func TestParseDebug(t *testing.T) {
34 34
35 func TestComponentLevelsAndRotation(t *testing.T) {35 func TestComponentLevelsAndRotation(t *testing.T) {
36 t.Setenv("XDG_STATE_HOME", t.TempDir())36 t.Setenv("XDG_STATE_HOME", t.TempDir())
37- dir := filepath.Join(os.Getenv("XDG_STATE_HOME"), "nefertty", "runs")37+ dir := filepath.Join(os.Getenv("XDG_STATE_HOME"), "neferwl", "runs")
38 path := filepath.Join(dir, "latest.log")38 path := filepath.Join(dir, "latest.log")
39 for run := 0; run < keepRuns+2; run++ {39 for run := 0; run < keepRuns+2; run++ {
40 time.Sleep(2 * time.Millisecond) // distinct millisecond timestamps40 time.Sleep(2 * time.Millisecond) // distinct millisecond timestamps
@@ -97,7 +97,7 @@ func TestCategoryEnablesComponentDebug(t *testing.T) {
97 if err := closeLog(); err != nil {97 if err := closeLog(); err != nil {
98 t.Fatal(err)98 t.Fatal(err)
99 }99 }
100- data, err := os.ReadFile(filepath.Join(os.Getenv("XDG_STATE_HOME"), "nefertty", "runs", "latest.log"))100+ data, err := os.ReadFile(filepath.Join(os.Getenv("XDG_STATE_HOME"), "neferwl", "runs", "latest.log"))
101 if err != nil {101 if err != nil {
102 t.Fatal(err)102 t.Fatal(err)
103 }103 }
M internal/mocks/ports/devices_mock.go +1 -1
@@ -8,7 +8,7 @@ import (
88 "image"
99 "os"
1010
11- "github.com/bnema/nefertty/internal/ports"
11+ "github.com/bnema/neferwl/internal/ports"
1212 mock "github.com/stretchr/testify/mock"
1313 )
1414
@@ -8,7 +8,7 @@ import (
8 "image"8 "image"
9 "os"9 "os"
10 10
11- "github.com/bnema/nefertty/internal/ports"11+ "github.com/bnema/neferwl/internal/ports"
12 mock "github.com/stretchr/testify/mock"12 mock "github.com/stretchr/testify/mock"
13 )13 )
14 14
M internal/ports/config.go +1 -1
@@ -86,7 +86,7 @@ type WorkspaceConfig struct {
8686 }
8787
8888 // SlotConfig reserves column N of a workspace for the window of one command.
89-// nefertty spawns the command at startup; the window it opens goes to the
89+// neferwl spawns the command at startup; the window it opens goes to the
9090 // slot. Width is a layout width (fraction, percentage or pixels).
9191 type SlotConfig struct {
9292 Index int
@@ -86,7 +86,7 @@ type WorkspaceConfig struct {
86 }86 }
87 87
88 // SlotConfig reserves column N of a workspace for the window of one command.88 // SlotConfig reserves column N of a workspace for the window of one command.
89-// nefertty spawns the command at startup; the window it opens goes to the89+// neferwl spawns the command at startup; the window it opens goes to the
90 // slot. Width is a layout width (fraction, percentage or pixels).90 // slot. Width is a layout width (fraction, percentage or pixels).
91 type SlotConfig struct {91 type SlotConfig struct {
92 Index int92 Index int
M internal/ports/messages.go +2 -2
@@ -23,9 +23,9 @@ type WindowMapped struct {
2323 Width, Height int
2424 }
2525
26-// SlotEnv is the environment variable nefertty sets on processes it spawns
26+// SlotEnv is the environment variable neferwl sets on processes it spawns
2727 // for a slot. The client's value maps its windows to the slot.
28-const SlotEnv = "NEFERTTY_SLOT"
28+const SlotEnv = "NEFERWL_SLOT"
2929
3030 func (WindowMapped) clientEvent() {}
3131
@@ -23,9 +23,9 @@ type WindowMapped struct {
23 Width, Height int23 Width, Height int
24 }24 }
25 25
26-// SlotEnv is the environment variable nefertty sets on processes it spawns26+// SlotEnv is the environment variable neferwl sets on processes it spawns
27 // for a slot. The client's value maps its windows to the slot.27 // for a slot. The client's value maps its windows to the slot.
28-const SlotEnv = "NEFERTTY_SLOT"28+const SlotEnv = "NEFERWL_SLOT"
29 29
30 func (WindowMapped) clientEvent() {}30 func (WindowMapped) clientEvent() {}
31 31
M packaging/arch/PKGBUILD +11 -11
@@ -1,10 +1,10 @@
11 # Built by `make pkg` at the repo root, from `git archive HEAD`.
2-pkgname=nefertty
2+pkgname=neferwl
33 pkgver=0.0.0
44 pkgrel=1
55 pkgdesc='Minimal Wayland compositor with scrollable columns, for the TTY'
66 arch=('x86_64')
7-url='https://github.com/bnema/nefertty'
7+url='https://github.com/bnema/neferwl'
88 license=('MIT')
99 # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.
1010 depends=('glibc' 'libinput' 'libxkbcommon' 'seatd' 'systemd-libs' 'vulkan-icd-loader'
@@ -27,21 +27,21 @@ prepare() {
2727 build() {
2828 cd "$pkgname-$pkgver"
2929 export CGO_ENABLED=0 GOFLAGS='-mod=vendor -trimpath -buildvcs=false -buildmode=pie' GOPROXY=off GOWORK=off GOTOOLCHAIN=local
30- go build -ldflags "-X main.version=$pkgver" -o nefertty ./cmd/nefertty
30+ go build -ldflags "-X main.version=$pkgver" -o neferwl ./cmd/neferwl
3131 }
3232
3333 check() {
3434 cd "$pkgname-$pkgver"
35- ./nefertty version
36- ./nefertty validate-config examples/config
35+ ./neferwl version
36+ ./neferwl validate-config examples/config
3737 }
3838
3939 package() {
4040 cd "$pkgname-$pkgver"
41- install -Dm755 nefertty "$pkgdir/usr/bin/nefertty"
42- install -Dm644 packaging/nefertty.desktop "$pkgdir/usr/share/wayland-sessions/nefertty.desktop"
43- install -Dm644 packaging/nefertty-portals.conf "$pkgdir/usr/share/xdg-desktop-portal/nefertty-portals.conf"
44- install -Dm644 examples/config "$pkgdir/usr/share/doc/nefertty/config.example"
45- install -Dm644 README.md "$pkgdir/usr/share/doc/nefertty/README.md"
46- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/nefertty/LICENSE"
41+ install -Dm755 neferwl "$pkgdir/usr/bin/neferwl"
42+ install -Dm644 packaging/neferwl.desktop "$pkgdir/usr/share/wayland-sessions/neferwl.desktop"
43+ install -Dm644 packaging/neferwl-portals.conf "$pkgdir/usr/share/xdg-desktop-portal/neferwl-portals.conf"
44+ install -Dm644 examples/config "$pkgdir/usr/share/doc/neferwl/config.example"
45+ install -Dm644 README.md "$pkgdir/usr/share/doc/neferwl/README.md"
46+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/neferwl/LICENSE"
4747 }
@@ -1,10 +1,10 @@
1 # Built by `make pkg` at the repo root, from `git archive HEAD`.1 # Built by `make pkg` at the repo root, from `git archive HEAD`.
2-pkgname=nefertty2+pkgname=neferwl
3 pkgver=0.0.03 pkgver=0.0.0
4 pkgrel=14 pkgrel=1
5 pkgdesc='Minimal Wayland compositor with scrollable columns, for the TTY'5 pkgdesc='Minimal Wayland compositor with scrollable columns, for the TTY'
6 arch=('x86_64')6 arch=('x86_64')
7-url='https://github.com/bnema/nefertty'7+url='https://github.com/bnema/neferwl'
8 license=('MIT')8 license=('MIT')
9 # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.9 # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.
10 depends=('glibc' 'libinput' 'libxkbcommon' 'seatd' 'systemd-libs' 'vulkan-icd-loader'10 depends=('glibc' 'libinput' 'libxkbcommon' 'seatd' 'systemd-libs' 'vulkan-icd-loader'
@@ -27,21 +27,21 @@ prepare() {
27 build() {27 build() {
28 cd "$pkgname-$pkgver"28 cd "$pkgname-$pkgver"
29 export CGO_ENABLED=0 GOFLAGS='-mod=vendor -trimpath -buildvcs=false -buildmode=pie' GOPROXY=off GOWORK=off GOTOOLCHAIN=local29 export CGO_ENABLED=0 GOFLAGS='-mod=vendor -trimpath -buildvcs=false -buildmode=pie' GOPROXY=off GOWORK=off GOTOOLCHAIN=local
30- go build -ldflags "-X main.version=$pkgver" -o nefertty ./cmd/nefertty30+ go build -ldflags "-X main.version=$pkgver" -o neferwl ./cmd/neferwl
31 }31 }
32 32
33 check() {33 check() {
34 cd "$pkgname-$pkgver"34 cd "$pkgname-$pkgver"
35- ./nefertty version35+ ./neferwl version
36- ./nefertty validate-config examples/config36+ ./neferwl validate-config examples/config
37 }37 }
38 38
39 package() {39 package() {
40 cd "$pkgname-$pkgver"40 cd "$pkgname-$pkgver"
41- install -Dm755 nefertty "$pkgdir/usr/bin/nefertty"41+ install -Dm755 neferwl "$pkgdir/usr/bin/neferwl"
42- install -Dm644 packaging/nefertty.desktop "$pkgdir/usr/share/wayland-sessions/nefertty.desktop"42+ install -Dm644 packaging/neferwl.desktop "$pkgdir/usr/share/wayland-sessions/neferwl.desktop"
43- install -Dm644 packaging/nefertty-portals.conf "$pkgdir/usr/share/xdg-desktop-portal/nefertty-portals.conf"43+ install -Dm644 packaging/neferwl-portals.conf "$pkgdir/usr/share/xdg-desktop-portal/neferwl-portals.conf"
44- install -Dm644 examples/config "$pkgdir/usr/share/doc/nefertty/config.example"44+ install -Dm644 examples/config "$pkgdir/usr/share/doc/neferwl/config.example"
45- install -Dm644 README.md "$pkgdir/usr/share/doc/nefertty/README.md"45+ install -Dm644 README.md "$pkgdir/usr/share/doc/neferwl/README.md"
46- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/nefertty/LICENSE"46+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/neferwl/LICENSE"
47 }47 }
R packaging/nefertty-portals.conf → packaging/neferwl-portals.conf +0 -0 renamed, 100% similar

renamed, 100% similar

R packaging/nefertty.desktop → packaging/neferwl.desktop +3 -3 renamed, 60% similar
@@ -1,6 +1,6 @@
11 [Desktop Entry]
2-Name=NeferTTY
2+Name=NeferWL
33 Comment=Minimal Wayland compositor with scrollable columns
4-Exec=nefertty --session
4+Exec=neferwl --session
55 Type=Application
6-DesktopNames=nefertty
6+DesktopNames=neferwl
@@ -1,6 +1,6 @@
1 [Desktop Entry]1 [Desktop Entry]
2-Name=NeferTTY2+Name=NeferWL
3 Comment=Minimal Wayland compositor with scrollable columns3 Comment=Minimal Wayland compositor with scrollable columns
4-Exec=nefertty --session4+Exec=neferwl --session
5 Type=Application5 Type=Application
6-DesktopNames=nefertty6+DesktopNames=neferwl

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 24

Tags 10

↑↓ moveenter openesc close