summaryrefslogtreecommitdiff
path: root/XOrg
diff options
context:
space:
mode:
Diffstat (limited to 'XOrg')
-rw-r--r--XOrg/XServer.pm81
1 files changed, 79 insertions, 2 deletions
diff --git a/XOrg/XServer.pm b/XOrg/XServer.pm
index 5de6e41..d07526d 100644
--- a/XOrg/XServer.pm
+++ b/XOrg/XServer.pm
@@ -19,7 +19,23 @@
# Authors: Peter Hutterer <peter.hutterer@redhat.com>
-# XServer representation, after using the Xorg.log parser
+=head1 NAME
+
+XOrg::XServer - XServer representation
+
+=head1 SYNOPSIS
+
+ use XOrg::xorglog;
+
+ my $xlog = xorglog->new(file => "/var/log/Xorg.0.log");
+ my $xserver = $xlog->server;
+
+=head1 DESCRIPTION
+
+This module is not supposed to be created directly, it is a product of
+the Xorg.log parser. Use it to query information.
+
+=cut
package XOrg::XServer;
@@ -41,6 +57,10 @@ sub new {
return $self;
}
+=head2 B<$xserver-E<gt>logfile([$logfile])>
+
+Returns the logfile this server writes/wrote to.
+=cut
sub logfile {
my $self = shift;
my $logfile = shift;
@@ -49,6 +69,11 @@ sub logfile {
return $self->{logfile};
}
+=head2 B<$xserver-E<gt>version([$major, [$minor], [$patchlevel])>
+
+Returns a triple of the major, minor and patchlevel version.
+
+=cut
sub version {
my $self = shift;
my $major = shift;
@@ -66,6 +91,11 @@ sub version {
return @{$self->{version}};
}
+=head2 B<$xserver-E<gt>build_id([$build_id])>
+
+Returns the string that is the build ID.
+
+=cut
sub build_id {
my $self = shift;
my $build_id = shift;
@@ -74,6 +104,30 @@ sub build_id {
return $self->{build_id};
}
+=head2 B<$xserver-E<gt>config_backend([$config_backend])>
+
+Returns the string that represents the config backend. Currently known
+backends:
+
+=over
+
+=item B<hal>
+Device was added by the HAL backend (now deprecated on Linux).
+
+=item B<udev>
+Device was added by the udev backend (default for hotplugged devices on
+Linux).
+
+=item B<xorg.conf>
+Device was listed in the xorg.conf.
+
+=item B<internal>
+Device was added internally without external instructions (e.g. Wacom
+driver-internal hotplugging).
+
+=back
+
+=cut
sub config_backend {
my $self = shift;
my $config_backend = shift;
@@ -82,12 +136,20 @@ sub config_backend {
return $self->{config_backend};
}
+=head2 B<$xserver-E<gt>modules()>
+
+Returns a {module name => XOrg::Module} reference of the modules loaded.
+=cut
+
sub modules {
my $self = shift;
return $self->{modules};
}
-# Returns 1/0 if AutoAddDevices is on/off.
+=head2 B<$xserver-E<gt>auto_add_devices([$enabled])>
+
+returns 1/0 if AutoAddDevices is on/off.
+=cut
sub auto_add_devices {
my $self = shift;
my $auto_add_devices = shift;
@@ -96,11 +158,26 @@ sub auto_add_devices {
return $self->{auto_add_devices};
}
+=head2 B<$xserver-E<gt>devices([\@devices])>
+
+Returns a [XOrg::InputDevice] list with all devices found in the log file.
+
+This includes those devices that did not get added (e.g. because no driver
+was selected). On Linux, most mouse devices will appear twice in this list,
+once because of /dev/input/eventX, once because of /dev/input/mouseX.
+
+=cut
sub devices {
my $self = shift;
return $self->{devices};
}
+
+=head2 B<$xserver-E<gt>add_device([$device])>
+
+Add one XOrg::InputDevice to the list of devices.
+
+=cut
sub add_device {
my $self = shift;
my $device = shift;