A better tool to configure xrandr
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Roberto Alsina b2b458a2ac Bump version 12 months ago
.github Working on making modes nicer 12 months ago
tests Show mode frequency 12 months ago
xrandroll Fix snapping for right/bottom edges 12 months ago
.flake8 refactors 3 years ago
.gitignore Ignore .venv 3 years ago
.pre-commit-config.yaml Bump deps to make it work 12 months ago
LICENSE Create LICENSE 3 years ago
README.md Updated README 12 months ago
TODO.md Fix snapping for right/bottom edges 12 months ago
poetry.lock Fix pytest 12 months ago
pyproject.toml Bump version 12 months ago



None of the existing display configuration tools does what I think is "the right thing". So I went and wrote one.

The Right Thing

  • Don't start from a stored config, use xrandr to read the systems' current state
  • Allow creating "profiles" that will get applied smartly (not there yet)
  • Generate a xrandr invocation to reflect the desired configuration
  • Allow per-monitor scaling
  • Allow arbitrary monitor positioning
  • Implement "scale everything so all the pixels are the same size"

To try:

If you have PySide2: python -m xrandroll in the folder where you cloned it (of course deps are a problem, this is experimental code, if you can't figure it out it's probably better for you 😊).


  • Implement other things
  • Forget about it forever