services: Add autostarting dropdown todo list
Added systemd-controlled automatic restart to existing i3 todo list overlay (super+t). Contains a lot of hard-coded paths and applications.
This commit is contained in:
parent
1c45202f18
commit
cc0cdd2a6c
3 changed files with 24 additions and 1 deletions
|
@ -0,0 +1 @@
|
||||||
|
../dropdown-todo.service
|
11
services/.config/systemd/user/dropdown-todo.service
Normal file
11
services/.config/systemd/user/dropdown-todo.service
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Todo.md floating vim instance
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
# workaround to allow relative executable invocation (i.e. current users' home dir)
|
||||||
|
ExecStart=/bin/bash -c 'alacritty --title "dropdown-todo" --class "Alacritty,scratchpad" -e nvim -c ":set nonumber norelativenumber noshowmode noruler laststatus=0 noshowcmd shortmess=F" %h/documents/records/todo.md'
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
|
@ -11,6 +11,13 @@ If they are not found, their service will fail silently (well, with a systemd er
|
||||||
|
|
||||||
Lastly, the directory `~/documents/notes/uni` will begin to be synced with `git`, so will need a) `git` installed, b) the directory to exist as a `git` directory, c) to be disabled if you do not want this directory to be continually synced.
|
Lastly, the directory `~/documents/notes/uni` will begin to be synced with `git`, so will need a) `git` installed, b) the directory to exist as a `git` directory, c) to be disabled if you do not want this directory to be continually synced.
|
||||||
|
|
||||||
|
Look into the sections below to see what else is assumed (e.g. a rigid notes and records directory structure).
|
||||||
|
Some of this may change over time -- ideally I would prefer flexible variables instead of hard-coded paths,
|
||||||
|
but it is what it is for now.
|
||||||
|
In other words:
|
||||||
|
you will **very likely** not just want to install and activate this module in general but be picky about what to do with it,
|
||||||
|
since it conforms to a highly opinionated set of installed applications and directory structures.
|
||||||
|
|
||||||
## Why systemd
|
## Why systemd
|
||||||
|
|
||||||
There are two reasons for the service module making use of `systemd` to manage its services:
|
There are two reasons for the service module making use of `systemd` to manage its services:
|
||||||
|
@ -53,10 +60,14 @@ In effect this means, using the default values, the service will commit any chan
|
||||||
The two cycles can be changed independently from each other via the environment variables mentioned above so that, for example, the repository can be pushed every single time a commit takes place, or commits can be checked for on faster or shorter intervals.
|
The two cycles can be changed independently from each other via the environment variables mentioned above so that, for example, the repository can be pushed every single time a commit takes place, or commits can be checked for on faster or shorter intervals.
|
||||||
As another example, if you want to check for changes every 30 seconds but still push every hour, you would do `GS_TIME_TO_COMMIT=30` and `GS_UNCHANGED_RUNS_TO_PUSH=120`.
|
As another example, if you want to check for changes every 30 seconds but still push every hour, you would do `GS_TIME_TO_COMMIT=30` and `GS_UNCHANGED_RUNS_TO_PUSH=120`.
|
||||||
|
|
||||||
## Dropdown Terminal service
|
## Dropdown services
|
||||||
|
|
||||||
The `dropdown-terminal.service` is very simple, and always keeps a (`alacritty`) terminal window running.
|
The `dropdown-terminal.service` is very simple, and always keeps a (`alacritty`) terminal window running.
|
||||||
The program is started with a `scratchpad` class, which is picked up by [`i3`](i3) and automatically hidden.
|
The program is started with a `scratchpad` class, which is picked up by [`i3`](i3) and automatically hidden.
|
||||||
You can then show/hide the terminal as a floating overlay as you need, mimicking a floating terminal
|
You can then show/hide the terminal as a floating overlay as you need, mimicking a floating terminal
|
||||||
(by default with `super + shift + return`, though this may change).
|
(by default with `super + shift + return`, though this may change).
|
||||||
When you close the window in any way, systemd automatically restarts it in the background.
|
When you close the window in any way, systemd automatically restarts it in the background.
|
||||||
|
|
||||||
|
The `dropdown-todo.service` is similar but instead of an empty (`alacritty`) terminal window,
|
||||||
|
it starts up a `nvim` instance which hides most of its interface and shows a to-do list.
|
||||||
|
The list, by default, is situated in `~/documents/records/todo.md` and can be displayed with `super + t`.
|
||||||
|
|
Loading…
Reference in a new issue