snips/dwl.service

45 lines
1.3 KiB
Desktop File

# Systemd service to start DWL
# ----------------------------------------------------------
#
# Put this file in following directory:
#
# ~/.config/systemd/user
#
# Start this service with something like this:
#
# #!/usr/bin/env bash
#
# # Start DWL
# RUNTIME_DIR=$(mktemp --directory --suffix=.${USER})
#
# # Escape slashes in the path
# SNAME=$(systemd-escape ${RUNTIME_DIR}.service)
#
# # Start service blocking. Remove runtime directory upon completion.
# # Be sure to import XDG session variables for graphical-session to work
# systemctl --user import-environment XDG_SEAT && \
# systemctl --user import-environment XDG_SESSION_TYPE && \
# systemctl --user import-environment XDG_SESSION_CLASS && \
# systemctl --user import-environment XDG_VTNR && \
# systemctl --user import-environment XDG_SESSION_ID && \
# systemctl --wait --user start dwl@${SNAME} && \
# rm -rf ${RUNTIME_DIR}
[Unit]
Description=DWL session service
BindsTo=graphical-session.target
Wants=graphical-session-pre.target
After=graphical-session-pre.target
[Service]
Type=oneshot
Environment=XDG_RUNTIME_DIR=%I
Environment=DWL_TAGS_FILE=%I/dwl.tags
Environment=DWL_LOG_FILE=%I/dwl.log
Environment=DWLTAGS_FMT=DZEN
Environment=XDG_CURRENT_DESKTOP=DWL
Environment=PIPEWIRE_RUNTIME_DIR=/run/user/501
ExecStart=%h/bin/dwl.session
Restart=on-failure
RestartSec=1
TimeoutStopSec=10