Skip to content

asas1asas200/arandr

Repository files navigation

==========================
ARandR: Another XRandR GUI
==========================


ARandR is designed to provide a simple visual front end for XRandR_. Relative monitor positions are shown graphically and can be changed in a drag-and-drop way.



Features
--------

* Full control over output positioning (instead of plain "left of") with edge snapping
* Saving configurations as executable shell scripts (configurations can be loaded without using this program)
* Configuration files can be edited to include additional payload (like xsetwacom_ commands tablet PC users need when rotating), which is preserved when editing
* Main widget separated from packaged application (to facilitate integration with existing solutions)



Installation
------------

* Using your distribution's installer:

  * Debian_ / Ubuntu_::

      aptitude install arandr

  * archlinux_::

      pacman -S arandr

  * Gentoo_::

      emerge arandr

  * Fedora_::

      yum install arandr

  * OpenSUSE_::

      zypper in arandr

  * Slackware: see slackbuilds.org_

* From source:

  * Fetch either

    * the `latest release`_::

        wget http://christian.amsuess.com/tools/arandr/files/arandr-0.1.10.tar.gz
        tar xzf arandr-0.1.10.tar.gz
        cd arandr-0.1.10

    * or get it directly from GIT (`hosted on GitLab`_)::

        git clone https://gitlab.com/arandr/arandr
        cd arandr

  * and start it using::

      ./arandr

  * or install it::

      sudo ./setup.py install



Dependencies
------------

* python_ 3
* PyGObject_
* pycairo_
* xrandr_
* docutils_ (for building the man page)



Bugs / Communication
--------------------

* There exists a `list of bugs`_ (and feature requests and general wishlist). If there is a problem or you want to request a feature, just `report it`_.
* New releases are announced as published tags_ and can be subscribed as an `ATOM feed`_.

Ongoing development
-------------------

An overhauled version of ARandR is in the works in the `next` branch found in the git repository. Feature parity with the current releases has not been reached, but some interesting features are already implemented:

* Parsing of the complete `--verbose` output, including properties
* Setting refresh rates
* Auto-discovery of DISPLAY in remote contexts 
* Simulation and regression test infrastructure

Features targetted for the first release from the new branch:

* Setting properties
* Parsing EDID information


Similar projects
----------------

A number of other programs exist that cover similar functionality, often
bundled with a particular desktop environment. Those I know of are, in
alphabetical order:

* Gnome's ``gnome-control-center display``, notable for its ``~/.config/monitors.xml`` `persistence <https://wiki.gnome.org/Attic/RandR#Storage_of_RANDR_configurations>`_
* `grandr <ftp://ftp.freedesktop.org/pub/individual/app/>`_
* `grandr-applet <https://sites.google.com/site/kdekorte2/grandr_applet>`_ (which seems not to be related to grandr)
* KDE's RandR tool ``krandrtray``, notable for being the only listed program to be Qt based
* LXDE's `LXRandR <http://wiki.lxde.org/en/LXRandR>`_, notable for storing configuration in ``~/.config/autostart/lxrandr-autostart``
* `urandr <http://www.albertomilone.com/wordpress/?p=288>`_
* `zarfy <http://sourceforge.net/projects/zarfy/>`_, notable for its nice use of a current screenshot



Contributing
------------

If you are fluent with languages not yet supported, you can add translations to ARandR using gettext_. An easy way to do this is `ARandR's page on hosted Weblate`_.

If you want to contribute code, contact me_ directly or send bug reports, suggestions, patches and git pull requests to the bugtracker_.

If you want to support the project via flattr, you can `flattr this`_.


About
-----

Copyright © chrysn_ <chrysn@fsfe.org> 2008–2019, Себастьян Gli ţa Κατινα 2011, Johannes Holmberg <johannes@update.uu.se> 2015, actionless 2019 published under GPLv3_ or any later version.

Inspired by the `dual head sketch`_ in the ThinkWiki_.

Translations by

* Ajeje Brazorf (Sardinian)
* Alex Kalles, Dimitris Giouroukis, Efstathios Iosifidis (Modern Greek (1453-))
* Algimantas Margevičius, Mantas Kriaučiūnas, Moo (Lithuanian)
* Alireza Savand, reza khan (Persian)
* Allan Nordhøy (Norwegian Bokmål (Norway))
* Anders Jonsson, Erik Sundin, Ingemar Karlsson (Swedish)
* Bakr Al-Tamimi, Mohammad Alhargan, aboodilankaboot (Arabic)
* Balázs Úr, Tamás Nagy (Hungarian)
* Belvar, tornoz (Breton)
* Bruno_Patri, Clément Démoulins, Tuux (French)
* Calin Sopterean, Себастьян Gli ţa Κατινα (Romanian)
* Carezero, ChuChangMing (Chinese (China))
* DARREN MELROY MENEZES, gundachandru (Kannada)
* Denis Jukni (Albanian)
* Fred Maranhão, Guilherme Souza Silva, Phantom X (Portuguese (Brazil))
* Fuxik Nah, Slavko (Slovak)
* HsH, Ivan Vantu5z, Vladimir (Russian)
* Igor, Olexandr Nesterenko, Rax Garfield (Ukrainian)
* Joe Hansen, Sebastian Wahl (Danish)
* Kristjan Räts (Estonian)
* Louies (Chinese (Hant))
* Lu Ca (Portuguese (Brazil), Sardinian)
* Luca Vetturi, Quizzlo (Italian)
* Luis García Sevillano, Ricardo A. Hermosilla Carrillo (Spanish)
* Mehmet Gülmen, cem guresci (Turkish)
* Michal Čihař (Czech)
* Miguel A. Bouzada (Galician)
* Miguel Anxo Bouzada (Galician, Spanish)
* Nobuhiro Iwamatsu, o-157 (Japanese)
* ParkJS, cho bkwon, pCsOrI (Korean (Korea, Republic of))
* Piotr Strebski, RooTer, agilob (Polish)
* Rasti K5 (Sorani)
* Semsudin Abdic (Bosnian)
* Slobodan Simić (Serbian)
* Yaron Shahrabani (Hebrew)
* chrysn (English, German)
* ditokp (Indonesian)
* ekeimaja (Finnish)
* el_libre, josep constanti (Catalan)
* ikmaak, wimfeijen (Dutch)


 .. _XRandR: http://www.x.org/wiki/Projects/XRandR
 .. _xsetwacom: http://linuxwacom.sourceforge.net/index.php/howto/xsetwacom
 .. _`latest release`: http://christian.amsuess.com/tools/arandr/files/arandr-0.1.10.tar.gz
 .. _archlinux: http://www.archlinux.org/packages/community/any/arandr/
 .. _chrysn: http://christian.amsuess.com
 .. _GPLv3: http://www.gnu.org/licenses/gpl-3.0.txt
 .. _`dual head sketch`: http://www.thinkwiki.org/wiki/Image:Intel-DualHead.png
 .. _ThinkWiki: http://thinkwiki.org/
 .. _`hosted on GitLab`: https://gitlab.com/arandr/arandr
 .. _Debian: http://packages.debian.org/arandr
 .. _Ubuntu: http://packages.ubuntu.com/arandr
 .. _gettext: http://www.gnu.org/software/gettext/
 .. _`ARandR's page on hosted Weblate`: http://hosted.weblate.org/projects/arandr/translations/
 .. _me: mailto:chrysn@fsfe.org
 .. _bugtracker: https://gitlab.com/arandr/arandr/issues
 .. _python: http://www.python.org/
 .. _PyGObject: https://pygobject.readthedocs.io/en/latest/
 .. _pycairo: https://www.cairographics.org/pycairo/
 .. _slackbuilds.org: https://slackbuilds.org/repository/14.1/desktop/arandr/
 .. _Gentoo: http://packages.gentoo.org/package/x11-misc/arandr
 .. _Fedora: https://apps.fedoraproject.org/packages/arandr
 .. _OpenSUSE: https://software.opensuse.org/package/arandr
 .. _docutils: http://docutils.sourceforge.net/
 .. _`debian bug #507521`: http://bugs.debian.org/507521
 .. _`X11:Utilities repository`: http://download.opensuse.org/repositories/X11:/Utilities/
 .. _`list of bugs`: https://gitlab.com/arandr/arandr/issues
 .. _`report it`: https://gitlab.com/arandr/arandr/issues/new
 .. _`flattr this`: https://flattr.com/submit/auto?user_id=chrysn&url=http%3A%2F%2Fchristian.amsuess.com%2Ftools%2Farandr%2F
 .. _tags: https://gitlab.com/arandr/arandr/tags
 .. _`ATOM feed`: https://gitlab.com/arandr/arandr/tags?format=atom