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
+36-6Lines changed: 36 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,40 @@ Linux User-Space Detachment System (DTX) Daemon for the Surface ACPI Driver (and
4
4
Currently only the Surface Book 2 is supported, due to lack of driver-support on the Surface Book 1.
5
5
This may change in the future.
6
6
7
-
_Work in progress:_
8
-
_This will eventually replace the current python implementation at https://github.com/qzed/linux-surfacegen5-dtx-daemon._
9
-
_Until then, please refer to that repo._
7
+
## About this Package
10
8
11
-
Current status:
12
-
- In terms of functions, this is now up-to-date with the original python implementation.
13
-
Packaging will follow shortly.
9
+
This package contains two daemons.
10
+
A system daemon (`surface-dtx-daemon`) and a per-user daemon (`surface-dtx-userd`):
11
+
12
+
- The system daemon allows proper clipboard detachment on the Surface Book 2. It allows you to run commands before the clipboard is unlocked, after it has been re-attached, or when the unlocking-process has been aborted (e.g. by pressing the detach-button a second time).
13
+
See the configuration section below for details.
14
+
Furthermore, this daemon provides a d-bus interface via which you can query the current device mode (i.e. if the device is in tablet-, laptop- or studio-mode).
15
+
16
+
- The per-user daemon is responsible for desktop-notifications, i.e. it notifies you when the cliboard can be physically detached (i.e. the latch holding it in place is unlocked), and when the re-attachment process has been completed, i.e. indicating when it is fully usable again after re-attachment.
17
+
Running this daemon is completely optional, i.e. if you don't want any notifications, you are free to simply not run it.
18
+
19
+
The split into two daemons is required as notifications can only be sent on a per-user basis.
20
+
21
+
## Installation
22
+
23
+
If you have an Arch Linux or Debian based distributions, have a look at the [releases page][releases] for official packages.
24
+
After installation you may want to:
25
+
- enable the systemd service for the system daemon using `systemctl enable surface-dtx-daemon.service`.
26
+
- enable the systemd service for the per-user daemon using `systemctl enable --user surface-dtx-userd.service`.
27
+
28
+
Alternatively, you can build these packages yourself, using the provided `PKGBUILD` (Arch Linux) or `makedeb.sh` script in the respective `pkg` sub-directories.
29
+
30
+
## Configuration
31
+
32
+
The main configuration files can be found under
33
+
34
+
-`/etc/surface-dtx/surface-dtx-daemon.conf` for the system daemon configuration, and
35
+
-`/etc/surface-dtx/surface-dtx-userd.conf` for the per-user daemon configuration.
36
+
37
+
Here you can specify the handler-scripts for supported events and other options.
38
+
All options are explanined in these files, the configuration language is TOML, default attach and detach handler scripts are included.
39
+
40
+
Furthermore, a per-user configuration for the user daemon can also be created under `$XDG_CONFIG_HOME/surface-dtx/surface-dtx-userd.conf` (if not set, `$XDG_CONFIG_HOME` defaults to `.config`).
0 commit comments