summarylogtreecommitdiffstats
path: root/paseo-bin.install
blob: ee7b2de1a8732f1bdda1418ea4fff95c8832c147 (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
post_install() {
    cat <<'EOF'
==> The Paseo desktop app manages its own daemon (with your full shell env
    and DISPLAY), so no setup is needed — just launch Paseo.

==> Optional: to keep the daemon running in the background without the app
    (the app and CLI then attach to it), start it from your graphical session
    via an XDG autostart entry. Starting it this way — once the session is up —
    gives it DISPLAY/WAYLAND_DISPLAY and avoids racing gnome-shell at login.
    Create ~/.config/autostart/paseo-daemon.desktop with:

        [Desktop Entry]
        Type=Application
        Name=Paseo Daemon
        Exec=systemctl --user start paseo.service
        NoDisplay=true
        X-GNOME-Autostart-enabled=true

    The shipped paseo.service is session-scoped (static, Restart=always) and is
    meant to be started this way. Do NOT `systemctl --user enable` it: it has no
    [Install] section on purpose, and binding it to a login target races
    gnome-shell. `loginctl enable-linger` is not needed — the daemon is tied to
    your graphical session.
EOF
}

post_upgrade() {
    # Releases between the first service-shipping version and this one shipped no
    # user unit (and told enable'd users to disable it). The unit is back, now
    # static (started via XDG autostart, not enabled), so a leftover enable
    # symlink from the original WantedBy=default.target unit is stale and harmful
    # — it would auto-pull the session daemon at login and race gnome-shell.
    if [ -e "${HOME:-/root}/.config/systemd/user/default.target.wants/paseo.service" ]; then
        cat <<'EOF'
==> paseo.service is session-scoped (static) and must be started via an XDG
    autostart entry, not enabled. Remove the stale enable symlink:
        systemctl --user disable paseo.service
    Then see the autostart snippet in the package notes to run it at login.
EOF
    fi
}