{"id":17058744,"url":"https://github.com/denilsonsa/arandr-indicator","last_synced_at":"2025-04-12T17:51:03.546Z","repository":{"id":19596683,"uuid":"22847251","full_name":"denilsonsa/arandr-indicator","owner":"denilsonsa","description":"Quick and simple tray icon menu for changing the monitor layout. A great companion to ARandR tool.","archived":false,"fork":false,"pushed_at":"2023-09-16T06:39:30.000Z","size":23,"stargazers_count":27,"open_issues_count":4,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T12:11:25.999Z","etag":null,"topics":["arandr","external-display","linux-desktop","xrandr","xrandr-gui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denilsonsa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-11T17:07:06.000Z","updated_at":"2024-12-31T09:18:52.000Z","dependencies_parsed_at":"2024-10-14T10:30:47.797Z","dependency_job_id":null,"html_url":"https://github.com/denilsonsa/arandr-indicator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denilsonsa%2Farandr-indicator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denilsonsa%2Farandr-indicator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denilsonsa%2Farandr-indicator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denilsonsa%2Farandr-indicator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denilsonsa","download_url":"https://codeload.github.com/denilsonsa/arandr-indicator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248610377,"owners_count":21132920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arandr","external-display","linux-desktop","xrandr","xrandr-gui"],"created_at":"2024-10-14T10:30:42.664Z","updated_at":"2025-04-12T17:51:03.522Z","avatar_url":"https://github.com/denilsonsa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"arandr-indicator\n================\n\nQuick and simple tray icon menu for changing the monitor layout. A great companion to ARandR tool.\n\nDemonstration video on YouTube:\n\n[![YouTube demonstration](http://img.youtube.com/vi/xqpF6RrYUmo/0.jpg)](http://youtu.be/xqpF6RrYUmo)\n\n\nRequirements\n------------\n\nTODO: Update these requirements to the latest Python 3.x version. See also [TODO.md](TODO.md).\n\n* [ARandR](http://christian.amsuess.com/tools/arandr/) (optional)\n* Python 2.7\n* [PyGTK](http://www.pygtk.org/)\n* [python-appindicator](https://launchpad.net/libappindicator)\n* [PyXDG](http://freedesktop.org/wiki/Software/pyxdg/) (optional)\n* Some kind of UI that supports [Unity indicators](https://unity.ubuntu.com/projects/appindicators/), should work on Gnome, KDE, Unity, LXDE…\n\n\nHow to use\n----------\n\n1. Run `arandr`.\n2. Configure the monitor layout the way you like.\n3. Save the layout.\n    * ARandR tool will save the layout as a simple one-line shell script that calls `xrandr` with the appropriate commands. The script will be saved in `~/.screenlayout/`.\n4. Magic! All layout scripts from that directory will automatically show up in the menu!\n\n\nInstallation\n------------\n\n1. `sudo apt-get install python-appindicator python-gtk2 python-xdg arandr`\n2. Download [`arandr-indicator.py`](https://raw.githubusercontent.com/denilsonsa/arandr-indicator/master/arandr-indicator.py) and save it anywhere.\n3. `chmod +x arandr-indicator.py` to make it executable.\n4. `./arandr-indicator.py` to execute it.\n5. Add it to autostart, so it runs whenever you login.\n\n### Pre-built packages\n\n* [arandr-indicator-git](https://aur.archlinux.org/packages/arandr-indicator-git/) for [Arch Linux](https://www.archlinux.org/), written by [thiagowfx](https://github.com/thiagowfx)\n\nHow to add icons\n----------------\n\nTo define an icon for any `~/.screenlayout/*.sh` script, just add a line containing `META:ICON = \"icon-name-here\"` anywhere in the first 512 bytes of the file. The actual requirements are:\n\n* The line must contain:\n    * `META:ICON` string,\n    * followed by optional whitespace (spaces or tabs),\n    * followed by `=` (equals sign),\n    * followed by optional whitespace (spaces or tabs),\n    * followed by the icon name inside double-quotes.\n* The icon name does not support escapes.\n* The icon name cannot contain the double-quote character.\n* The icon name can be:\n    * A [standard icon name][icon-naming-spec] that is available in your current icon theme.\n    * A filename to be found in `~/.screenlayout/`.\n    * A relative path (will be considered relative to `~/.screenlayout/`).\n    * A path relative to the user home (i.e. beginning with `~`).\n    * An absolute path.\n* The line must be in the first 512 bytes of the file.\n    * This size has been chosen arbitrarily.\n    * Since most scripts in that directory will be very small, this is not an issue.\n    * It is a good idea to put this line as the first line (or one of the first lines) after the [shebang][].\n\n\nCredits\n-------\n\nThe need for this tool started with my girlfriend's laptop.\n\nThe code organization was inspired by [indicator-chars](https://github.com/tobyS/indicator-chars), written by [Tobias Schlitt](mailto:toby@php.net).\n\n\nFurther hints and tips\n----------------------\n\nSince the files in `~/.screenlayout/*.sh` are just shell scripts, they can do more than calling `xrandr` to setup the monitors. They can also configure PulseAudio to redirect audio to the HDMI port. Try the following commands:\n\n* To set audio output to HDMI: `pacmd set-card-profile 0 output:hdmi-stereo+input:analog-stereo`\n* To set audio output to analog speakers: `pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo`\n* To see the available cards and profiles in your system: `pacmd list-cads`\n* Nice GUI to configure PulseAudio: `pavucontrol`\n\nRead more:\n\n* https://bitbucket.org/denilsonsa/small_scripts/src/default/screenlayout/\n* https://wiki.archlinux.org/index.php/PulseAudio/Examples\n* http://askubuntu.com/questions/63599/configuring-hdmi-audio-via-command-line\n* http://askubuntu.com/questions/14077/how-can-i-change-the-default-audio-device-from-command-line\n\n[shebang]: https://en.wikipedia.org/wiki/Shebang_%28Unix%29\n[icon-naming-spec]: http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenilsonsa%2Farandr-indicator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenilsonsa%2Farandr-indicator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenilsonsa%2Farandr-indicator/lists"}