summaryrefslogtreecommitdiff
path: root/README.md
blob: bee23dd4a88d8c546edb7a52625d4efdef9b907b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# slack-timedate

This program implements timedated1 interface from systemd that is
required by GNOME Control Center and can be used by KDE Settings.

slack-timedate's purpose is to make it possible to enjoy full desktop
environment functionality on Slackware Linux which doesn't use
systemd as its init-system.

slack-timedate supports Slackware's System V style init system as well
as s6.

## Installation

```sh
cmake -B build \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DCMAKE_INSTALL_SYSCONFDIR=/etc
make -C build
make -C build install
```

The installation will create a file `build/install_manifest.txt`, which
contains a list of all files installed in the system. To uninstall the
application those should be removed, for example by doing:

```sh
xargs rm < build/install_manifest.txt
```

## Debugging

Firstly an application is required that changes the time settings over the
timedate1 service. It can be `gnome-control-center` or `kcmshell5 kcm_clock`
for KDE.

Then running `dbus-monitor --system` as root can be used to see the
communication between the control center and this service.

Messages to the D-Bus service can also be sent with `dbus-send`. For example
to get the list of time zones:

```sh
dbus-send --system --print-reply --type=method_call \
  --dest=org.freedesktop.timedate1 \
  /org/freedesktop/timedate1 org.freedesktop.timedate1.ListTimezones
```

To get a value of a property:

```sh
dbus-send --system --print-reply \
  --dest=org.freedesktop.timedate1 \
  /org/freedesktop/timedate1 org.freedesktop.DBus.Properties.Get \
  string:org.freedesktop.timedate1 string:NTP
```

## Dependencies

- glib
- dbus