.config
bspwm
conky
dtfscripts
devices
services
common.bash
compton.dtf
conky.dtf
dropbox.dtf
dunst.dtf
kill_krunner.dtf
plasmashell.dtf
polybar.dtf
redshift.dtf
sxhkd.dtf
syncthing.dtf
wmstartup.sh
dunst
plasma-workspace
polybar
rofi
sxhkd
xob
xrdb
compton.conf
kglobalshortcutsrc
konsolerc
kscreenlockerrc
ksplashrc
redshift.conf
startupconfig
.local
.ssh
.themes
.vim
.bashrc
.gitmodules
.kshrc
.profile
.vimrc
.zshrc
68 lines
1.1 KiB
Bash
Executable File
68 lines
1.1 KiB
Bash
Executable File
#! /usr/bin/env bash
|
|
#
|
|
# wmstartup service common functions
|
|
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
|
|
#
|
|
# Distributed under terms of the MIT license.
|
|
#
|
|
|
|
service_name="unnamed_service"
|
|
service_process="true"
|
|
service_kill_on_reload="true"
|
|
service_flags=""
|
|
|
|
function svc_log() {
|
|
if [ -z ${1+x} ]; then return 1; fi
|
|
dtf_log "$service_name: $1"
|
|
}
|
|
|
|
function prestart() {
|
|
if pgrep $service_process > /dev/null 2>&1; then
|
|
svc_log "Already running"
|
|
return 1
|
|
fi
|
|
if ! which $service_process > /dev/null 2>&1; then
|
|
svc_log "Could not find process"
|
|
return 1
|
|
fi
|
|
if ! prestart-extra; then
|
|
return 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
function prestart-extra() {
|
|
return 0
|
|
}
|
|
|
|
function start() {
|
|
svc_log "Starting"
|
|
$service_process $service_flags > /dev/null 2>&1 &
|
|
return 0
|
|
}
|
|
|
|
function stop() {
|
|
svc_log "Stopping"
|
|
killall $service_process &
|
|
for i in {1..100}; do
|
|
if ! isup; then break; fi
|
|
sleep 0.01
|
|
if (( $i > 99 )); then
|
|
svc_log "Stopping with prejudice"
|
|
killall -9 $service_process
|
|
fi
|
|
done
|
|
return $?
|
|
}
|
|
|
|
function isup() {
|
|
pgrep "$service_process" > /dev/null 2>&1
|
|
isup-extra $?
|
|
return $?
|
|
}
|
|
|
|
function isup-extra() {
|
|
return $1
|
|
}
|
|
|