You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
-13Lines changed: 0 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -464,23 +464,10 @@ wayscriber/
464
464
└── config.example.toml # Example configuration
465
465
```
466
466
467
-
### Project History
468
-
469
-
Wayscriber shipped under the name **hyprmarker** through the v0.4 release line. The rename in v0.5.0 reflects the broader compositor support that has been built since the original Hyprland-only prototype. Use `wayscriber --migrate-config` to copy existing settings, and see **[docs/MIGRATION.md](docs/MIGRATION.md)**for the full compatibility checklist.
470
-
471
-
**Coming from hyprmarker?** Uninstall the old package (`paru -R hyprmarker`, etc.) and disable the legacy user service before installing Wayscriber:
Copy file name to clipboardExpand all lines: docs/codebase-overview.md
+6-10Lines changed: 6 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,7 @@ This document explains how the application boots, how user input travels through
7
7
## 1. Execution Flow From `main.rs`
8
8
9
9
1.**CLI parsing (`src/main.rs`)**
10
-
- Uses `clap` to parse `--daemon`, `--active`, `--mode`, and migration flags.
11
-
- Immediately handles `--migrate-config` via `config::migrate_config` and exits.
10
+
- Uses `clap` to parse `--daemon`, `--active`, `--mode`, and session management flags.
12
11
- Verifies `WAYLAND_DISPLAY` when a Wayland session is required.
13
12
14
13
2.**Mode selection**
@@ -18,7 +17,6 @@ This document explains how the application boots, how user input travels through
18
17
19
18
3.**Shared subsystems automatically pulled in**
20
19
-`config`: loads user settings, key bindings, and drawing defaults.
21
-
-`legacy`: prints notices for old binary names and handles hyprmarker compatibility.
22
20
23
21
---
24
22
@@ -126,10 +124,9 @@ Notifications are sent via `notification::send_notification_async`, keeping all
126
124
127
125
---
128
126
129
-
## 6. Configuration & Legacy Support
127
+
## 6. Configuration
130
128
131
-
-**`src/config/`** handles loading `config.toml`, validating fields, and building the keybinding map. It also houses migration helpers shared with `main.rs`.
132
-
-**`src/legacy.rs`** contains helpers to detect old binary names, environment overrides, and configurator paths. The daemon tray relies on it to launch the correct configurator binary.
129
+
-**`src/config/`** handles loading `config.toml`, validating fields, and building the keybinding map.
133
130
134
131
---
135
132
@@ -147,15 +144,14 @@ Notifications are sent via `notification::send_notification_async`, keeping all
147
144
148
145
| Path | Role |
149
146
|------|------|
150
-
|`src/main.rs`| CLI entry point, mode selection, migration trigger. |
147
+
|`src/main.rs`| CLI entry point, mode selection. |
151
148
|`src/daemon.rs`| Background daemon, tray menu, signal handling, overlay toggling. |
152
149
|`src/backend/`| Wayland backend implementation split into bootstrap (`mod.rs`), runtime (`state.rs`), and input/render handlers. |
153
150
|`src/input/`| Event/state machine for drawing tools, board modes, and capture triggers. |
|`src/notification.rs`| Desktop notifications for capture results. |
160
156
|`src/util.rs`| Shared math/color utilities. |
161
157
|`tests/`| CLI + rendering integration tests. |
@@ -169,6 +165,6 @@ Notifications are sent via `notification::send_notification_async`, keeping all
169
165
3.**Backend** sets up Wayland surfaces and loops, forwarding input to `InputState`.
170
166
4.**InputState + draw/ui** update the overlay contents and request renders.
171
167
5.**Capture** subsystem handles screenshot actions asynchronously and notifies the user.
172
-
6.**Config/legacy**modules ensure user preferences and backward compatibility are honored everywhere.
168
+
6.**Config**module ensures user preferences are honored everywhere.
173
169
174
170
Use this document to trace any feature: locate the entry point (CLI, tray, keybinding), follow it through the backend/input/capture stacks, and consult the relevant modules listed above for details.
0 commit comments