Window manager with infinite desktop, infinite zoom and infinite window resolution
Implemented by: glass-ghosts
The session configuration is done in ~/.config/glass/ghosts.yml.
InfiniteGlass supports a slightly different session management paradigm to most desktop environments. It allows you to save the states and positions of individual windows and apps:
The reasoning behind this is that you should be able to set up groups of workspaces on the infinite desktop for different purposes, and restart them as you see fit, always having say “social apps” far up to the left in the same spot.
Exactly what window properties are saved, restored and used for matching ghosts against new windows is configurable.
glass-ghosts
acts as an SMlib server, meaning that it can
store and restore application state for supporting applications. Each
such application is called a client.
INTEGRATIONS.md describes how to adapt/wrap applications that do not natively support SMlib to support restart, and in some cases, rudimentary restore functionality.
Ghosts (and client states) are generally stored between restarts in an sqlite file. However, in some cases it is necessary to practical to pre-define some ghosts in the configuration file. This is particularly useful for windows of components (see above). To generate the correct json for such a ghost, the following command can be used
glass-action ghost export