Skip to content

System64fumo/sysshell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sysshell

sysshell is a generic shell meant to provide a cohesive experience for all.
It's also a personal project so goals and features may cator to my requirements.

Features

Modular status bar
preview

Simple virtual keyboard
preview

Simple system status indicator
preview

Simple screen locker
preview

Simple and efficient application launcher
preview

Simple power menu/shutdown screen
preview

Signals

Use the following signals to perform the corresponding actions.
pkill -10 sysmenu: Show window
pkill -12 sysmenu: Hide window
pkill -34 sysmenu: Toggle window
pkill -35 syslock: Lock screen
pkill -36 sysbar: Show window
pkill -37 sysbar: Hide window
pkill -38 sysbar: Toggle window
pkill -39 syspower: Show window
pkill -40 sysboard: Show window
pkill -41 sysboard: Hide window
pkill -42 sysboard: Toggle window
pkill -43 clipboard: Show window

Clipboard

Simple clipboard history manager
This is the first exclusive feature, To enable it add extras=clipboard to your config.
Please do note!! This feature is still experimental and thus lacking features.
Additionally, Your clipboard gets copied to a temporary file (That gets deleted a few ms later) so it's sort of insecure.

Why does this exist?

The sysshell binary exists as a way to reduce resource consumption as launching several application instances tends to consume more memory.
The shell components exist because there wasn't cohesive DE agnostic graphical shell out there that did things the way i wanted.
Also because i wanted to have the control and flexibility of having my own shell.

Contribution

This is my most ambitious project yet and i'm unsure if i'm capable of finishing anything i've started.
If you wish for a feature to be added/fixed/worked on please open an issue, I prefer focusing on what annoys me or others first.
Additionally, Any kind of contribution is welcome be it documentation, code, cleanup, etc.

Packaging

I package my software on the AUR, However some parts of my software also exists on other repositories maintained by the community.
Maintaining packages for every distribution out there sounds like a lot of work, So if you'd like to feel free to package and maintain any of my projects on your repo of choice.
(Please open an issue so i can keep track of what exists where, I'd like to eventually have a list in the project's repos)

GNOME/GTK

Unfortunately the GNOME foundation is not the best.. And their decisions often leaves people divided such as with GTK5 and Libadwaita.
I've attempted to rewrite the shell in QT but quickly found out that it's not a serious alternative to GTK..
If you take issue with GNOME's direction, leadership, politics or GTK and want to avoid it wherever possible i suggest you take a look at Quickshell.

Future plans

Create a screenshot overlay
Create a polkit/keyring overlay
Optimize existing stuff as much as possible, At the moment the focus is on features
Split/Handle shared code via a common library to reduce duplicate code
Possibly rewrite some code in pure C to reduce complexity and compile time?

License

My software is typically licensed under WTFPL but will be replaced by GPL in the near future.
I grant you permission to do practically anything with my software, All i ask in exchange is to be credited.

Sponsor this project