aboutsummaryrefslogtreecommitdiffstats
path: root/info
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-06-02 21:51:26 +0200
committerMattias Andrée <maandree@operamail.com>2014-06-02 21:51:26 +0200
commit6c50cb2451b8d943cf5e37aa96cdf4c374b33991 (patch)
tree4e9426055c9526624938d2f41f207caa32e86420 /info
parenttypo (diff)
downloadlibgamma-6c50cb2451b8d943cf5e37aa96cdf4c374b33991.tar.gz
libgamma-6c50cb2451b8d943cf5e37aa96cdf4c374b33991.tar.bz2
libgamma-6c50cb2451b8d943cf5e37aa96cdf4c374b33991.tar.xz
info: states
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'info')
-rwxr-xr-xinfo/behead28
-rw-r--r--info/libgamma.texinfo53
2 files changed, 80 insertions, 1 deletions
diff --git a/info/behead b/info/behead
new file mode 100755
index 0000000..3da8de3
--- /dev/null
+++ b/info/behead
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+# libgamma — Display server abstraction layer for gamma ramp adjustments
+# Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
+#
+# This library is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+beheading="$1"
+
+data="$(cat)"
+lines="$(echo "${data}" | wc -l)"
+lines=$(( ${lines} - ${beheading} ))
+
+if (( $lines > 0 )); then
+ echo "$(echo "${data}" | tail -n ${lines})"
+fi
+
diff --git a/info/libgamma.texinfo b/info/libgamma.texinfo
index 25548fb..cbbfe4b 100644
--- a/info/libgamma.texinfo
+++ b/info/libgamma.texinfo
@@ -619,7 +619,58 @@ CRTC information.
@node Monitors
@section Monitors
-TODO
+@command{libgamma} have a three level hierarchy for addressing
+monitors. These levels are:
+
+@table @asis
+@item Sites
+£>libgamma-method-extract --doc --site-t | behead 2 | texise
+@item Partitions
+£>libgamma-method-extract --doc --part-t | behead 2 | texise
+@item CRTC:s (cathode ray tube controllers) @footnote{Do not be fooled by the legacy name, they are general video controllers.}
+£>libgamma-method-extract --doc --crtc-t | behead 2 | texise
+@end table
+
+@command{libgamma} keeps tracks of these layers states,
+because of this there are one state data structure per
+layer that also identifies the instance of the layer.
+
+The state and identity of the site is track by
+the data structure @code{libgamma_site_state_t}
+@footnote{@code{struct libgamma_site_state}}.
+This structure contains the following variables:
+
+@table @code
+£>for site in $(libgamma-method-extract --list --site-t); do
+@item £{site}
+£>libgamma-method-extract --site-t $site | texise | sed -e 's/"/``/1' | sed -e 's/"/'\'\''/'
+£>done
+@end table
+
+The state and identity of the partition is track by
+the data structure @code{libgamma_partition_state_t}
+@footnote{@code{struct libgamma_partition_state}}.
+This structure contains the following variables:
+
+@table @code
+£>for part in $(libgamma-method-extract --list --part-t); do
+@item £{part}
+£>libgamma-method-extract --part-t $part | texise
+£>done
+@end table
+
+The state and identity of the partition is track
+by the data structure @code{libgamma_crtc_state_t}
+@footnote{@code{struct libgamma_crtc_state}}.
+This structure contains the following variables;
+
+@table @code
+£>for crtc in $(libgamma-method-extract --list --crtc-t); do
+@item £{crtc}
+£>libgamma-method-extract --crtc-t $crtc | texise
+£>done
+@end table
+