{"id":22927816,"url":"https://github.com/vcraescu/go-xrandr","last_synced_at":"2025-05-13T01:50:57.762Z","repository":{"id":56192933,"uuid":"156075070","full_name":"vcraescu/go-xrandr","owner":"vcraescu","description":"Golang xrandr wrapper","archived":false,"fork":false,"pushed_at":"2025-01-20T04:47:13.000Z","size":18,"stargazers_count":11,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T05:51:04.626Z","etag":null,"topics":["golang","linux","xrandr"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vcraescu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-04T11:27:59.000Z","updated_at":"2025-01-20T04:47:15.000Z","dependencies_parsed_at":"2022-08-15T14:20:57.126Z","dependency_job_id":null,"html_url":"https://github.com/vcraescu/go-xrandr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcraescu%2Fgo-xrandr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcraescu%2Fgo-xrandr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcraescu%2Fgo-xrandr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcraescu%2Fgo-xrandr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vcraescu","download_url":"https://codeload.github.com/vcraescu/go-xrandr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253856616,"owners_count":21974576,"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":["golang","linux","xrandr"],"created_at":"2024-12-14T09:16:26.735Z","updated_at":"2025-05-13T01:50:57.740Z","avatar_url":"https://github.com/vcraescu.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Golang XRandR wrapper [![Go Report Card](https://goreportcard.com/badge/github.com/vcraescu/go-xrandr)](https://goreportcard.com/report/github.com/vcraescu/go-xrandr) [![Build Status](https://travis-ci.com/vcraescu/go-xrandr.svg?branch=master)](https://travis-ci.com/vcraescu/go-xrandr) [![Coverage Status](https://coveralls.io/repos/github/vcraescu/go-xrandr/badge.svg?branch=master)](https://coveralls.io/github/vcraescu/go-xrandr?branch=master)\n\nGolang xrandr wrapper.\nThe entire functionality is based on xrandr output.\n\n```go\nimport (\n\t\"github.com/vcraescu/go-xrandr\"\n\t\"github.com/davecgh/go-spew/spew\"\n)\n\nfunc main() {\n\tscreens, err := xrandr.GetScreens()\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\t\n\tspew.Dump(screens)\n}\n```\n\nwill print: \n\n```\n(xrandr.Screens) (len=1 cap=1) {\n (xrandr.Screen) {\n  No: (int) 0,\n  CurrentResolution: (xrandr.Size) {\n   Width: (float32) 8959,\n   Height: (float32) 2880\n  },\n  MinResolution: (xrandr.Size) {\n   Width: (float32) 8,\n   Height: (float32) 8\n  },\n  MaxResolution: (xrandr.Size) {\n   Width: (float32) 32767,\n   Height: (float32) 32767\n  },\n  Monitors: ([]xrandr.Monitor) (len=3 cap=4) {\n   (xrandr.Monitor) {\n    ID: (string) (len=6) \"HDMI-0\",\n    Modes: ([]xrandr.Mode) (len=14 cap=16) {\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 3840,\n       Height: (float32) 2160\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 30,\n        Current: (bool) true,\n        Preferred: (bool) true\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 29.97,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 25,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 23.98,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1920,\n       Height: (float32) 1200\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1920,\n       Height: (float32) 1080\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=7 cap=8) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.94,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 50,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 23.98,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.05,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 50.04,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1680,\n       Height: (float32) 1050\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.95,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1600,\n       Height: (float32) 1200\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1280,\n       Height: (float32) 1024\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 75.02,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.02,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1280,\n       Height: (float32) 800\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.81,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1280,\n       Height: (float32) 720\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=3 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.94,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 50,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1152,\n       Height: (float32) 864\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 75,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1024,\n       Height: (float32) 768\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 75.03,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 800,\n       Height: (float32) 600\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 75,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.32,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 720,\n       Height: (float32) 576\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 50,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 720,\n       Height: (float32) 480\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.94,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 640,\n       Height: (float32) 480\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=3 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 75,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.94,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.93,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     }\n    },\n    Primary: (bool) true,\n    Size: (xrandr.Size) {\n     Width: (float32) 597,\n     Height: (float32) 336\n    },\n    Connected: (bool) true,\n    Resolution: (xrandr.Size) {\n     Width: (float32) 5119,\n     Height: (float32) 2879\n    },\n    Position: (xrandr.Position) {\n     X: (int) 0,\n     Y: (int) 0\n    }\n   },\n   (xrandr.Monitor) {\n    ID: (string) (len=7) \"eDP-1-1\",\n    Modes: ([]xrandr.Mode) (len=50 cap=64) {\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 3840,\n       Height: (float32) 2160\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) true,\n        Preferred: (bool) true\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.98,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 48.02,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.97,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 3200,\n       Height: (float32) 1800\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.94,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 2880,\n       Height: (float32) 1620\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.97,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 2560,\n       Height: (float32) 1600\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.97,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 2560,\n       Height: (float32) 1440\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.95,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 2048,\n       Height: (float32) 1536\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1920,\n       Height: (float32) 1440\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1856,\n       Height: (float32) 1392\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.01,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1792,\n       Height: (float32) 1344\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.01,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 2048,\n       Height: (float32) 1152\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.98,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.9,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.91,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1920,\n       Height: (float32) 1200\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.95,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1920,\n       Height: (float32) 1080\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.01,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.97,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.93,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1600,\n       Height: (float32) 1200\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1680,\n       Height: (float32) 1050\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.95,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1400,\n       Height: (float32) 1050\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.98,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1600,\n       Height: (float32) 900\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.94,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.95,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.82,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1280,\n       Height: (float32) 1024\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.02,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1400,\n       Height: (float32) 900\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1280,\n       Height: (float32) 960\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1440,\n       Height: (float32) 810\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.97,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1368,\n       Height: (float32) 768\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.85,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1280,\n       Height: (float32) 800\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.97,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.81,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.91,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1280,\n       Height: (float32) 720\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.86,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.74,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1024,\n       Height: (float32) 768\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.04,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 960,\n       Height: (float32) 720\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 928,\n       Height: (float32) 696\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.05,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 896,\n       Height: (float32) 672\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.01,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 1024,\n       Height: (float32) 576\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.95,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.9,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.82,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 960,\n       Height: (float32) 600\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.93,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 960,\n       Height: (float32) 540\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.63,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.82,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 800,\n       Height: (float32) 600\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=3 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.32,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 56.25,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 840,\n       Height: (float32) 525\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.01,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 864,\n       Height: (float32) 486\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.92,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.57,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 700,\n       Height: (float32) 525\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.98,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 800,\n       Height: (float32) 450\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.95,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.82,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 640,\n       Height: (float32) 512\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.02,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 700,\n       Height: (float32) 450\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.96,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 640,\n       Height: (float32) 480\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.94,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 720,\n       Height: (float32) 405\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.51,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 58.99,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 684,\n       Height: (float32) 384\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.85,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 640,\n       Height: (float32) 400\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.88,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.98,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 640,\n       Height: (float32) 360\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.86,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.83,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.84,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.32,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 512,\n       Height: (float32) 384\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 512,\n       Height: (float32) 288\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.92,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 480,\n       Height: (float32) 270\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.63,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.82,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 400,\n       Height: (float32) 300\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.32,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 56.34,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 432,\n       Height: (float32) 243\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.92,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.57,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 320,\n       Height: (float32) 240\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 60.05,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 360,\n       Height: (float32) 202\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.51,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.13,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     },\n     (xrandr.Mode) {\n      Resolution: (xrandr.Size) {\n       Width: (float32) 320,\n       Height: (float32) 180\n      },\n      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.84,\n        Current: (bool) false,\n        Preferred: (bool) false\n       },\n       (xrandr.RefreshRate) {\n        Value: (xrandr.RefreshRateValue) 59.32,\n        Current: (bool) false,\n        Preferred: (bool) false\n       }\n      }\n     }\n    },\n    Primary: (bool) false,\n    Size: (xrandr.Size) {\n     Width: (float32) 346,\n     Height: (float32) 194\n    },\n    Connected: (bool) true,\n    Resolution: (xrandr.Size) {\n     Width: (float32) 3840,\n     Height: (float32) 2160\n    },\n    Position: (xrandr.Position) {\n     X: (int) 5119,\n     Y: (int) 0\n    }\n   },\n   (xrandr.Monitor) {\n    ID: (string) (len=6) \"DP-1-1\",\n    Modes: ([]xrandr.Mode) \u003cnil\u003e,\n    Primary: (bool) false,\n    Size: (xrandr.Size) {\n     Width: (float32) 0,\n     Height: (float32) 0\n    },\n    Connected: (bool) false,\n    Resolution: (xrandr.Size) {\n     Width: (float32) 0,\n     Height: (float32) 0\n    },\n    Position: (xrandr.Position) {\n     X: (int) 0,\n     Y: (int) 0\n    }\n   }\n  }\n }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvcraescu%2Fgo-xrandr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvcraescu%2Fgo-xrandr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvcraescu%2Fgo-xrandr/lists"}