github.com/vcraescu/go-xrandr

Golang xrandr wrapper


Keywords
golang, linux, xrandr
License
MIT
Install
go get github.com/vcraescu/go-xrandr

Documentation

Golang XRandR wrapper Go Report Card Build Status Coverage Status

Golang xrandr wrapper. The entire functionality is based on xrandr output.

import (
	"github.com/vcraescu/go-xrandr"
	"github.com/davecgh/go-spew/spew"
)

func main() {
	screens, err := xrandr.GetScreens()
	if err != nil {
		panic(err)
	}
	
	spew.Dump(screens)
}

will print:

(xrandr.Screens) (len=1 cap=1) {
 (xrandr.Screen) {
  No: (int) 0,
  CurrentResolution: (xrandr.Size) {
   Width: (float32) 8959,
   Height: (float32) 2880
  },
  MinResolution: (xrandr.Size) {
   Width: (float32) 8,
   Height: (float32) 8
  },
  MaxResolution: (xrandr.Size) {
   Width: (float32) 32767,
   Height: (float32) 32767
  },
  Monitors: ([]xrandr.Monitor) (len=3 cap=4) {
   (xrandr.Monitor) {
    ID: (string) (len=6) "HDMI-0",
    Modes: ([]xrandr.Mode) (len=14 cap=16) {
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 3840,
       Height: (float32) 2160
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 30,
        Current: (bool) true,
        Preferred: (bool) true
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 29.97,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 25,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 23.98,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1920,
       Height: (float32) 1200
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1920,
       Height: (float32) 1080
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=7 cap=8) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.94,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 50,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 23.98,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.05,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 50.04,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1680,
       Height: (float32) 1050
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.95,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1600,
       Height: (float32) 1200
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1280,
       Height: (float32) 1024
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 75.02,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.02,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1280,
       Height: (float32) 800
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.81,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1280,
       Height: (float32) 720
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=3 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.94,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 50,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1152,
       Height: (float32) 864
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 75,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1024,
       Height: (float32) 768
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 75.03,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 800,
       Height: (float32) 600
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 75,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.32,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 720,
       Height: (float32) 576
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 50,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 720,
       Height: (float32) 480
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.94,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 640,
       Height: (float32) 480
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=3 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 75,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.94,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.93,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     }
    },
    Primary: (bool) true,
    Size: (xrandr.Size) {
     Width: (float32) 597,
     Height: (float32) 336
    },
    Connected: (bool) true,
    Resolution: (xrandr.Size) {
     Width: (float32) 5119,
     Height: (float32) 2879
    },
    Position: (xrandr.Position) {
     X: (int) 0,
     Y: (int) 0
    }
   },
   (xrandr.Monitor) {
    ID: (string) (len=7) "eDP-1-1",
    Modes: ([]xrandr.Mode) (len=50 cap=64) {
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 3840,
       Height: (float32) 2160
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) true,
        Preferred: (bool) true
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.98,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 48.02,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.97,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 3200,
       Height: (float32) 1800
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.94,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 2880,
       Height: (float32) 1620
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.97,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 2560,
       Height: (float32) 1600
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.97,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 2560,
       Height: (float32) 1440
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.95,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 2048,
       Height: (float32) 1536
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1920,
       Height: (float32) 1440
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1856,
       Height: (float32) 1392
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.01,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1792,
       Height: (float32) 1344
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.01,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 2048,
       Height: (float32) 1152
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.98,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.9,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.91,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1920,
       Height: (float32) 1200
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.95,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1920,
       Height: (float32) 1080
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.01,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.97,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.93,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1600,
       Height: (float32) 1200
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1680,
       Height: (float32) 1050
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.95,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1400,
       Height: (float32) 1050
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.98,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1600,
       Height: (float32) 900
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.94,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.95,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.82,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1280,
       Height: (float32) 1024
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.02,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1400,
       Height: (float32) 900
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1280,
       Height: (float32) 960
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1440,
       Height: (float32) 810
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.97,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1368,
       Height: (float32) 768
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.85,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1280,
       Height: (float32) 800
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.97,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.81,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.91,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1280,
       Height: (float32) 720
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.86,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.74,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1024,
       Height: (float32) 768
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.04,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 960,
       Height: (float32) 720
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 928,
       Height: (float32) 696
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.05,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 896,
       Height: (float32) 672
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.01,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 1024,
       Height: (float32) 576
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.95,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.9,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.82,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 960,
       Height: (float32) 600
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.93,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 960,
       Height: (float32) 540
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.99,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.63,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.82,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 800,
       Height: (float32) 600
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=3 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.32,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 56.25,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 840,
       Height: (float32) 525
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.01,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 864,
       Height: (float32) 486
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.92,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.57,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 700,
       Height: (float32) 525
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.98,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 800,
       Height: (float32) 450
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.95,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.82,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 640,
       Height: (float32) 512
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.02,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 700,
       Height: (float32) 450
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.96,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 640,
       Height: (float32) 480
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.94,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 720,
       Height: (float32) 405
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.51,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 58.99,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 684,
       Height: (float32) 384
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.85,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 640,
       Height: (float32) 400
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.88,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.98,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 640,
       Height: (float32) 360
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=4 cap=4) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.86,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.83,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.84,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.32,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 512,
       Height: (float32) 384
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 512,
       Height: (float32) 288
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.92,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 480,
       Height: (float32) 270
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.63,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.82,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 400,
       Height: (float32) 300
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.32,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 56.34,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 432,
       Height: (float32) 243
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.92,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.57,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 320,
       Height: (float32) 240
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=1 cap=1) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 60.05,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 360,
       Height: (float32) 202
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.51,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.13,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     },
     (xrandr.Mode) {
      Resolution: (xrandr.Size) {
       Width: (float32) 320,
       Height: (float32) 180
      },
      RefreshRates: ([]xrandr.RefreshRate) (len=2 cap=2) {
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.84,
        Current: (bool) false,
        Preferred: (bool) false
       },
       (xrandr.RefreshRate) {
        Value: (xrandr.RefreshRateValue) 59.32,
        Current: (bool) false,
        Preferred: (bool) false
       }
      }
     }
    },
    Primary: (bool) false,
    Size: (xrandr.Size) {
     Width: (float32) 346,
     Height: (float32) 194
    },
    Connected: (bool) true,
    Resolution: (xrandr.Size) {
     Width: (float32) 3840,
     Height: (float32) 2160
    },
    Position: (xrandr.Position) {
     X: (int) 5119,
     Y: (int) 0
    }
   },
   (xrandr.Monitor) {
    ID: (string) (len=6) "DP-1-1",
    Modes: ([]xrandr.Mode) <nil>,
    Primary: (bool) false,
    Size: (xrandr.Size) {
     Width: (float32) 0,
     Height: (float32) 0
    },
    Connected: (bool) false,
    Resolution: (xrandr.Size) {
     Width: (float32) 0,
     Height: (float32) 0
    },
    Position: (xrandr.Position) {
     X: (int) 0,
     Y: (int) 0
    }
   }
  }
 }
}