Skip to content
This repository has been archived by the owner on Aug 29, 2021. It is now read-only.
/ pede Public archive

Pegasus Epsilon's Desktop Environment (pede) - Super minimalism, under 3MB resident!

License

Notifications You must be signed in to change notification settings

PegasusEpsilon/pede

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DUE TO RECENT GITHUB POLICY CHANGES ALL MY PROJECTS HAVE BEEN MOVED TO GITLAB

Pegasus Epsilon's Desktop Environment (pede)

My current setup, showing pede taking a whopping 952kB of RAM

Pegasus Epsilon's Desktop Environment (pede) is an attempt to build a better mousetrap. I think I'm doing a pretty decent job, honestly.

Some information about pede:

  • It does not reparent
  • It does not composite (we use xcompmgr for that stuff)
  • It does not read any configuration files other than the power button image data
  • It does not draw any UI widgets other than its power button
    • No, not even a confirmation dialog when you click the button. Be careful.
    • No, not even window decorations.
    • No, not even title bars.
    • No, not even resize indicators.

This DE is not for the faint of heart. It is for the extreme minimalist.

What does pede do, then?

  • It takes less than a megabyte of RAM, even with how fat linux has gotten Unfortunately a recent rewrite took it to 1,100kB on load - just 76kB larger than a megabyte. Xlib shenanigans see that grow to 2,232kB before stabilizing, occasionally going back down. A rewrite in xcb will help, and it's already started, but it will be a while.
  • It positions windows. It positions windows well.
  • It closes windows politely if they ask for politeness, rudely if they do not
  • It has workspaces
  • It lets you switch between workspaces
    • default: super+[1234], super+(left|right) arrow
  • It lets you move windows between workspaces
    • default: super+shift+[1234], super+shift(left|right) arrow
  • It lets you move and resize windows with the mouse
    • default: Super+left-click = move
    • default: Super+right-click = resize
  • It lets you restack windows
    • default: alt+tab
  • It snaps windows to the edge of the screen
  • It snaps windows to each other (kind of, might leave it this way, I kinda like it?)
  • It draws a compositor-friendly power button in a configurable location
  • It compiles quickly, which is good, because...
  • It is reconfigured by editing the source and recompiling
  • It relaunches itself when it receives the USR1 signal, without letting X close
  • It will improve over time, until I am happy with it
  • And if you want it to do more, you can edit the source.

If you try pede, like it, work on it, whatever, let me know. I won't be accepting most pull requests, but I encourage you to make them anyway. If you make a change I like, I'll merge it. But know that the roadmap is in flux.

Anyway, that's it. Go play with the code.

Places files go on my system:

  • pulse-volume in ~/.pede/
  • pede_badge-symbolic.svg in /usr/share/icons/hicolor/scalable/places/
  • pede.desktop in /usr/share/xsessions/

About

Pegasus Epsilon's Desktop Environment (pede) - Super minimalism, under 3MB resident!

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published