detached 2b1569e

chore: initialize zerobus module with license and readme

commit
2b1569e54a44b3f7e6f5eb1bf2958d26e3b641ed
author
brice · · 2026-10-08 17:07 UTC
parent
none (root commit)
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
5 files · +52 -0
A .gitignore +4 -0
@@ -0,0 +1,4 @@
1+.worktrees/
2+/bin/
3+*.test
4+*.prof
@@ -0,0 +1,4 @@
1+.worktrees/
2+/bin/
3+*.test
4+*.prof
A LICENSE +21 -0
@@ -0,0 +1,21 @@
1+MIT License
2+
3+Copyright (c) 2026 zerobus contributors
4+
5+Permission is hereby granted, free of charge, to any person obtaining a copy
6+of this software and associated documentation files (the "Software"), to deal
7+in the Software without restriction, including without limitation the rights
8+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+copies of the Software, and to permit persons to whom the Software is
10+furnished to do so, subject to the following conditions:
11+
12+The above copyright notice and this permission notice shall be included in all
13+copies or substantial portions of the Software.
14+
15+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+SOFTWARE.
@@ -0,0 +1,21 @@
1+MIT License
2+
3+Copyright (c) 2026 zerobus contributors
4+
5+Permission is hereby granted, free of charge, to any person obtaining a copy
6+of this software and associated documentation files (the "Software"), to deal
7+in the Software without restriction, including without limitation the rights
8+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+copies of the Software, and to permit persons to whom the Software is
10+furnished to do so, subject to the following conditions:
11+
12+The above copyright notice and this permission notice shall be included in all
13+copies or substantial portions of the Software.
14+
15+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+SOFTWARE.
A README.md +19 -0
@@ -0,0 +1,19 @@
1+# zerobus
2+
3+A small D-Bus client for Go that does not allocate once it is running.
4+
5+**Status: early development.** The API is not usable yet and will change.
6+
7+## Goals
8+
9+- **Zero allocations in steady state.** Reading signals and making calls reuses buffers; decoded strings and arrays point into the receive buffer.
10+- **Only the standard library** (plus `golang.org/x/sys` if needed).
11+- **A small client.** It connects to the session or system bus over a Unix socket, authenticates with `EXTERNAL`, calls methods, reads properties, matches signals and exports simple objects.
12+
13+## Not a goal
14+
15+- A full D-Bus implementation: no TCP transports, no reflection-based marshalling, no code generation.
16+
17+## License
18+
19+MIT
@@ -0,0 +1,19 @@
1+# zerobus
2+
3+A small D-Bus client for Go that does not allocate once it is running.
4+
5+**Status: early development.** The API is not usable yet and will change.
6+
7+## Goals
8+
9+- **Zero allocations in steady state.** Reading signals and making calls reuses buffers; decoded strings and arrays point into the receive buffer.
10+- **Only the standard library** (plus `golang.org/x/sys` if needed).
11+- **A small client.** It connects to the session or system bus over a Unix socket, authenticates with `EXTERNAL`, calls methods, reads properties, matches signals and exports simple objects.
12+
13+## Not a goal
14+
15+- A full D-Bus implementation: no TCP transports, no reflection-based marshalling, no code generation.
16+
17+## License
18+
19+MIT
A doc.go +5 -0
@@ -0,0 +1,5 @@
1+// Package zerobus is a small D-Bus client that does not allocate in steady
2+// state. It speaks the D-Bus wire protocol over a Unix socket and decodes
3+// messages in place, so strings and arrays point into the receive buffer and
4+// stay valid only until the next read.
5+package zerobus
@@ -0,0 +1,5 @@
1+// Package zerobus is a small D-Bus client that does not allocate in steady
2+// state. It speaks the D-Bus wire protocol over a Unix socket and decodes
3+// messages in place, so strings and arrays point into the receive buffer and
4+// stay valid only until the next read.
5+package zerobus
A go.mod +3 -0
@@ -0,0 +1,3 @@
1+module github.com/bnema/zerobus
2+
3+go 1.27
@@ -0,0 +1,3 @@
1+module github.com/bnema/zerobus
2+
3+go 1.27

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 1

Tags 3

↑↓ moveenter openesc close