как программы скриншотов / скриншотов работают в системах POSIX с X?

  1. Как сделать скриншоты , такие как gnome-screenshot или xfce4-screenshooter, получить их данные?
  2. Как они могут получить доступ к потоку матрицы 2d пикселей монитора / экрана?
  3. Возможно ли передавать только данные конкретного монитора на настройку с несколькими мониторами? Я хочу передать данные в программу, которую я пытаюсь написать, которая будет программой / сценарием FOSS для настройки мультикомпьютера / монитора.

One Solution collect form web for “как программы скриншотов / скриншотов работают в системах POSIX с X?”

Для вопросов 1 и 2 я буду считать, что они обращаются к корневому окну с помощью RootWindow (3) , а затем используют XGetImage (3), чтобы скопировать данные пикселя корневого окна где-нибудь, чтобы обработать его дальше (например, сбрасывая его на PNG).

Эти страницы руководства могут помочь: XOpenDisplay (3) , DefaultScreen (3) , RootWindow (3) , XGetImage (3)

См. Также этот вопрос в StackOverflow.

Что касается вопроса 3, если используется Xinerama, будет присутствовать более одного экрана, и приложение может получить информацию о местоположении и размере каждого экрана, что снова будет полезно для выбора области для копирования с помощью XGetImage(...) .

Конечно, все это предполагает, что вы используете Xlib. Я слышал, что есть лучшая альтернатива, называемая XCB , но лично я ее никогда не использовал.

  • Xorg-сервер 1.16+ на CentOS 7
  • в чем разница между X11 и Xlib?
  • Как отключить часть экрана в X.Org
  • Запуск сеанса GNOME с терминала
  • Как X строит свой модельер?
  • Как заменить часть имени хоста на xauth (OLD: как перенаправить вывод команды xauth?)
  • emacs не открывается
  • Начать X после автоматического входа в систему
  • Тест для разрешения монитора
  • Как создать многопользовательский драйвер Linux?
  • Как заставить X работать на старом ноутбуке? (Векторный Linux)
  • Linux и Unix - лучшая ОС в мире.