{"id":16027016,"url":"https://github.com/ashwinvis/xrandr-extend","last_synced_at":"2025-04-09T23:19:19.396Z","repository":{"id":45309928,"uuid":"149729000","full_name":"ashwinvis/xrandr-extend","owner":"ashwinvis","description":":computer::arrow_right: Extend a HIDPI screen to a normal DPI external display","archived":false,"fork":false,"pushed_at":"2024-01-06T15:52:24.000Z","size":105,"stargazers_count":134,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T02:56:27.914Z","etag":null,"topics":["autorandr","external-monitor","hacktoberfest","hidpi","linux","python","x11","xrandr"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashwinvis.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-09-21T07:48:34.000Z","updated_at":"2025-02-05T03:51:59.000Z","dependencies_parsed_at":"2024-01-06T16:42:57.622Z","dependency_job_id":"c3325c58-c317-4b87-af6e-f8e54fad5833","html_url":"https://github.com/ashwinvis/xrandr-extend","commit_stats":{"total_commits":67,"total_committers":7,"mean_commits":9.571428571428571,"dds":0.4626865671641791,"last_synced_commit":"0146d945a85bb2eb4e15f9c6942375863a9e7de0"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwinvis%2Fxrandr-extend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwinvis%2Fxrandr-extend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwinvis%2Fxrandr-extend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwinvis%2Fxrandr-extend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashwinvis","download_url":"https://codeload.github.com/ashwinvis/xrandr-extend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125764,"owners_count":21051798,"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":["autorandr","external-monitor","hacktoberfest","hidpi","linux","python","x11","xrandr"],"created_at":"2024-10-08T20:04:36.420Z","updated_at":"2025-04-09T23:19:19.365Z","avatar_url":"https://github.com/ashwinvis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"xrandr-extend\n=============\n\n\n[![image](https://img.shields.io/pypi/v/xrandr_extend.svg)](https://pypi.python.org/pypi/xrandr_extend)\n![python versions](https://img.shields.io/pypi/pyversions/xrandr-extend.svg)\n\nExtend a HIDPI screen to a normal DPI external display. This command line tool\nimplements various solutions described in the [HIDPI Arch Linux wiki\npage](https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays).\n\n* Free software: GNU General Public License v3\n\n[![asciicast](https://asciinema.org/a/mauTEQ1eHLajl2TiF0ZEH5k3X.svg)](https://asciinema.org/a/mauTEQ1eHLajl2TiF0ZEH5k3X)\n\n## Installation\n\n```sh\npip install xrandr-extend --user\n```\n\nor alternatively use [pipx](https://pipxproject.github.io/pipx/docs/):\n\n```sh\npipx install xrandr-extend\n```\n\n## Configuration\n\nIf the installation was made using ``pip``, run:\n\n```sh\npython -m xrandr_extend.config\n```\n\nAlternatively, if you did use ```pipx```, run:\n\n```sh\npipx run --spec xrandr-extend python -m xrandr_extend.config\n```\n\ninstead.\n\nFor both case, this creates the config file `~/.config/xrandr-extend.cfg` which looks like this:\n\n```ini\n[provider:modesetting]\nprimary = eDP-1\nhdmi = HDMI-1\nvga = DP-1\n\n[provider:intel]\nprimary = eDP1\nhdmi = HDMI1\nvga = DP1\n\n[resolutions]\nprimary = 3200, 1800\nhdmi = 1920, 1080\nvga = 1920, 1200\n\n# [scaling]\n# primary = 1.0\n# hdmi = 2.0\n# vga = 2.0\n\n# [rotation]\n# hdmi = left\n# vga = right\n```\n\nThe first few sections have the name in the format `[provider:display_driver]`.\nRun `xrandr --listproviders` to find what your system has. The values in this\nsection should be given as `profile = monitor_name`, as in the output of\n`xrandr --listmonitors` command. You may even remove existing sections and\nadd more sections for your *display driver*.\n\nEach line in the `[resolutions]` section signifies a *resolution profile* in\nthe format `profile = [width_in_pixels, height_in_pixels]`.  The *profile*\n`primary` should contain the resolution of your built-in display.  You may edit\nor remove the remaining values `hdmi` and `vga`.\n\nThe `[scaling]` section contains the scale factors, which if uncommented,\noverrides the scale factor computed from the resolutions.\n\nThe `[rotation]` section specifies the directions to rotate the output contents\nsimilarly to `xrandr --rotate`.\n\n## Quick reference\n\n```console\nusage: xrandr-extend [-h] [-p PRI_RES PRI_RES] [-e EXT_RES EXT_RES]\n                     [-x EXT_SCALE] [-m] [-n] [-o] [-s] [-d]\n                     profile\n\nExtend a HIDPI screen to a normal DPI external display\n\npositional arguments:\n  profile               Use preset external resolution profiles (available:\n                        ['hdmi', 'vga']).\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PRI_RES PRI_RES, --pri-res PRI_RES PRI_RES\n                        Modify preset resolution of primary display (default: 1920, 1080)\n  -e EXT_RES EXT_RES, --ext-res EXT_RES EXT_RES\n                        Modify preset resolution of external display (default based on\n                        profile)\n  -x EXT_SCALE, --ext-scale EXT_SCALE\n                        Sets the scale factor of external display (DPI of primary display /\n                        DPI of external display), overriding scale factor estimation from\n                        resolutions\n  -r {normal,left,right,inverted,same}, --rotate {normal,left,right,inverted,same}\n                        Rotation can be one of the above strings. This causes the output\n                        contents of external display to be rotated in the specified direction.\n                        For example 'right' specifies a clockwise rotation, 'normal' orients\n                        it horizontally and 'same'preserves the current orientation.\n  -m, --mirror          Mirror the external display\n  -n, --pan             Pan the position of external display\n  -o, --only            Extend and use only external display\n  -s, --pos             Set the position of external display explicitly\n  -d, --dry-run         Preview command without executing it\n\nExamples\n--------\n# Built-in options or user-configured options are used when only the display\n# profile is mentioned\n\n$ xrandr-extend --dry-run vga\n$ xrandr-extend vga\n$ xrandr-extend hdmi\n\n# Other options to extend the display\n\n$ xrandr-extend --pan hdmi\n$ xrandr-extend --only hdmi\n$ xrandr-extend -e 1024 768 -n vga  # Pan with custom external resolution\n$ xrandr-extend -x 2.0 hdmi         # Custom scale factor\n$ xrandr-extend -r left hdmi        # Custom direction to rotate\n```\n\n# Credits\n\nThis package was created with\n[Cookiecutter](https://github.com/audreyr/cookiecutter) and the\n[ashwinvis/cookiecutter-pypackage](https://github.com/ashwinvis/cookiecutter-pypackage)\nproject template.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashwinvis%2Fxrandr-extend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashwinvis%2Fxrandr-extend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashwinvis%2Fxrandr-extend/lists"}