Skip to content

eylles/shed

Repository files navigation

SHED

A generic session process and init-agnostic user services provider.



Donate using Liberapay Donate using Liberapay

Follow the shed development and feedback threads:

what?

A session process, like lxsession or xfce4-session, plasma-workspace, etc... but completely generic, not tied to any toolkit, desktop, windowing system or even to a graphical interface at all.

Session services, are programs that run as part of your graphical session, for example in x11 you have the compositor, keyring, maybe a clipboard daemon and perhaps pulseaudio or pipewire

This program is something that should have been written 10, 15 maybe even 20 years ago by someone much smarter but it was only when i could no longer bear the situation of there being no generic program with the capabilites of shed that i forced myself into writing it.

dependencies

  • a posix compatible shell interpreter
  • core unix utilities (date, mkdir, awk, kill, mkfifo, cat)

porting

This program is written to target the widest range of unix-like operating systems, altho i lack the knowledge to properly integrate shed into BSD and illumos environments wrapper functions are provided in the codebase so that adding the corresponding cases should be the only modification of shed needed.

For details check PORTING

why ?

Why SHED?

Quick start

clone the repo and cd

git clone https://github.com/eylles/shed
cd shed

# check and edit the config.mk file as needed
make
make install

using the default locations you should get a series of examples for either x11 or wayland sessions at /usr/local/share/doc/shed/examples, take them as inspiration, the shed_awesome and the xsession shed-awesome.desktop are the example x11 files, the shed_sway and the wayland-session shed-sway.desktop are the example wayland files.

the shed files go in $XDG_CONFIG_HOME/shed/, the xsession file goes into /usr/share/xsessions/, the wayland session files goes into /usr/share/wayland-sessions/

you can figure out the rest, i believe in you!

ROADMAP

Check the shed Roadmap

Contributing

Check the CONTRIBUTING guidelines first and please follow them, if you want to contribute code be sure to read the architecture as well as the how it works documents, if leveraging the capabilities of AI tools please direct your tool of choice to take into consideration the previously mentioned documents as well as the internals document.

use the latest release

As of release v0.3.0 there is no reason whatsoever to use older releases, the master branch is where development happens, i try to keep it stable but read the commit history and know why you want to use the master branch rather than a release, always mention if you are using a release tag or the master branch at some commit before opening issues.

LICENSE

All files in the repo are licensed under GPLv3.0 or later

About

generic session process with init-agnostic user services and graceful session log out written in posix shell

Topics

Resources

License

Contributing

Stars

27 stars

Watchers

2 watching

Forks

Contributors