
gnu.app.puppet.package.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of escher Show documentation
Show all versions of escher Show documentation
Escher is a collection of libraries for X Window System written purely in Java.
The newest version!
Provide a window manager. It is a keyboard-oriented minimalist window
manager written in Java, which has no decorations at all.
For whatever it is worth, see Puppet in action here. Note windows can be
configured (by modifiying and re-compiling {@link
gnu.app.puppet.Preference}) to map to predefined geometries and
positions. Also a bounding box is defined to exclude left margin
(licq) and top margin (wmload, xeye, and pclock) such that new windows
(emacs) do not obscured them. You have to actually use Puppet to feel
the power of focus policy and that of keyboard binding system.
Name
From Wordnet (r) 1.6,
- puppet
- a small figure of a person operated from above with strings by a
puppeteer
I name this window manager after the movie Being John Malkovich.
Features
- minimal - no fancy features yet usable
- keyboard-oriented - do everything without a mouse
- stable - I use it all the time
- no graphics - no decoration whatsoever
- heavily-commented source code - best for tutorial
- bounding workspace - restrict new window position
- emacs register - popup window by predefined key
- advanced focus policy - numerous ways to switch focus (search
window title)
- window property - predefine geometry based on resource class
See {@link gnu.app.puppet.Puppet} for details.
Resources
Ratpoison by Shawn
Betts shares the same philosophy with us! From its homepage:
Ratpoison is a
simple Window Manager with no fat library dependencies, no fancy
graphics, no window decorations, and no flashy wank.
Help Needed
- scripting? for preference?
- how to implement stay-on-top? click-to-focus (without control)?
- manage colormaps?
Credit
I study extensively the source codes of twm, wm2, and aewm.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy