Info for developers
==============

lxqt-config-monitor has 3 important modules:

- Monitor (monitor.h and monitor.cpp)
- MonitorSettingsDialog (monitorsettingsdialog.h and monitorsettingsdialog.cpp)
- XRandR (xrandr.h and xrandr.cpp)

MonitorSettingsDialog module contains all code related to GUI.

XRandR module contains code related to get or set settings from XRandR X11 driver. XRandR doesn't need MonitorSettingsDialog to work.

Monitor module is a glue between MonitorSettingsDialog and XRandR.

Indeep, XRandR module can be replaced and other modules won't need changes. Example, Wayland or Mir can use other tool for monitor settings. Other module can be added to work with that tool.


Module XRandR
============

Contains an implementation of class Backend. This class has got two methods in order to get or set configs.

This is only a simple implementation. It reads info from a pipe to a xrandr command.

Module Monitor
============

Contains 4 classes:

- Backend: Ii is an abstract class. It have to be implemented by monitor drivers. In X11 this driver is XRandR
- MonitorInfo: This class contains all information about one monitor. It is obtained from Backend::getMonitorsInfo method.
- MonitorSettings: This class is used by Backend::setMonitorsSettings method. This class contains settings for one monitor.
- Monitor: This class is used by MonitorSettingsDialog in order to store monitor settings.
