Skip to content

fadeopolis/slam

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLAM - Screen Layout Automatic Manager

Python daemon that listens to Xcb Randr events, and manages screen layouts. It stores layout for each set of connected screens (using EDID to differentiate different screens on same output). It can restore old layouts when you plug the same screens as before. It also updates its layout database when you manually change the layout, using 'xrandr' or a graphical tool.

Usage

The daemon is available as a python library. To launch it, you need to create a python file importing the library, and start this python file as the daemon:

import slam
slam.start(<options>)

Todo

  • Support for properties like backlight
  • dbus interface :
    • backlight change
    • force normalize of manual state
    • get state info
    • force backend reload (interface for hotplug events)
  • Plugin system to make additionnal actions when change of layout :
    • Background
    • i3 configure by screens ?
  • Force reload of state in X when udev hotplug event ?

Install

Requires:

  • python >= 3.2
  • ISL library (usually shipped with gcc)
  • Boost::Python
  • xcffib python Xcb binding

Use standard distutils (--user will place it in a user local directory):

python setup.py install [--user]

About

Screen Layout Automatic Manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 76.6%
  • C++ 23.4%