summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* randr: Round x monitor coordinates to a multiple of 8Hans de Goede2013-01-071-0/+4
| | | | | | | | | | | | | | | | | We already do this when comparing new received monitor settings from the client with the current ones, since the X-server rounds the width / x coordinates to a multiple of 8 when we set them. Currently what happens is: 1) We get a monitor-config with a non multiple 8 width 2) We set the crtc to this width 3) We set the screen to this width 4) We configure the uinput tablet with this width 5) The X-server adjusts things to a multiple of 8 6) We re-configure the uinput tablet with the new width By rounding the width and x coordinates before applying them we safe all this back and forth to the X-server. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* randr: Add some more debugging messagesHans de Goede2013-01-071-2/+14
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagentd: send monitors config to currently active agent onlyHans de Goede2012-11-261-10/+9
|
* randr: do not set crtc mode to NULL when changing resolutionMarc-André Lureau2012-11-261-24/+29
| | | | | | | | | | | | | | | | | The agent creates a unique mode vdagent-N per output, that is deleted when the custom resolution is changed. In order to be deleted, it can't be the current active crtc config. Now, the vdagent just sets the mode to NULL, but that causes a change of resolution probably due to gnome-settings-daemon (in RHEL6, it switches to max resultion 2560x1600 before switching back to custom resolution). We can avoid deleting current mode by creating a different mode, switching to it, and then deleting the previous mode. Also, we can ignore some Create/Delete races with other XRandR clients that may modify the mode simultaneously. This shouldn't be fatal, as long as the rest of the resolution switching can take place.
* make a few functions staticMarc-André Lureau2012-11-261-4/+4
|
* Add a proper copyright header to src/vdagent-x11-randr.cHans de Goede2012-11-191-0/+23
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Fix running on a vm with multiple qxl devs without Xinerama (rhbz#855110)Hans de Goede2012-10-101-4/+9
| | | | | | | | In this case the client will always send info for qxl-devs monitors, and set unused monitors to 0x0, deal properly with this, otherwise the mouse ends up confused. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* x11-randr: Fix setting of mode on non arbitrary resolution capable X driverHans de Goede2012-10-101-9/+19
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Fix various compiler warningsHans de Goede2012-09-012-54/+23
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* x11-randr: Make "delete_mode of in use mode" a debug messageHans de Goede2012-09-011-1/+1
| | | | | | This is a normal thing to happen, so it should not be an error message. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagent-x11-randr: Get rid of the_mode variableHans de Goede2012-08-271-7/+3
| | | | | | | | delete_mode() sets a the_mode variable, but then in the actual following XRR calls uses mode->id, not the_mode->id, which works since they are the same. As they are the same anyway, lets just get rid of the_mode completely. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Replace file-logging with syslogHans de Goede2012-08-2417-421/+321
| | | | | | | | This resolves: http://bugzilla.redhat.com/show_bug.cgi?id=747894 http://bugzilla.freedesktop.org/show_bug.cgi?id=49092 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagent-x11-randr: Don't discard events on XSyncHans de Goede2012-08-231-1/+1
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Disable extra monitorsMarc-André Lureau2012-07-081-0/+22
|
* Close monitor position configuration by %8 are sameMarc-André Lureau2012-07-061-1/+1
| | | | Avoids some extra reconfiguration with the client.
* Do not set crtc config to 0Marc-André Lureau2012-07-061-24/+10
| | | | | | I presume the reason to disable Crtc was to pass some XRandr check that all crtc can fit in the screen. However, it is not a requirement if the driver handles it.
* vdagent-x11-randr: add dump_monitors_configAlon Levy2012-06-241-0/+24
|
* vdagent: add randr support (big)Alon Levy2012-06-242-19/+592
|
* vdagent: add -y for sync X11 communicationAlon Levy2012-06-243-4/+18
|
* vdagent-x11-randr: factor out set_screen_to_best_sizeAlon Levy2012-06-201-29/+41
|
* vdagent-x11-randr.c: introduce as split from vdagent-x11.cAlon Levy2012-06-203-240/+288
|
* vdagentd: Fix a race-condition when opening the virtio serial portHans de Goede2012-03-271-0/+29
| | | | | | See the (large) comment added in src/vdagent-virtio-port.c for details. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagentd: Add support for libsystemd-loginHans de Goede2012-03-202-1/+105
| | | | | | | This allows us to get session information on new systemd enabled distros, which no longer come with consolekit. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* session-info: Add a verbose parameter to session_info_create()Hans de Goede2012-03-203-28/+28
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Rename console_kit* to session_info*Hans de Goede2012-03-193-48/+52
| | | | | | This is a preparation patch for adding libsystemd-login support. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagentd: Close the virtio port when the active vdagent disconnectsHans de Goede2012-01-101-0/+5
| | | | | | | | | | | | | We cannot use agent mouse mode without the session vdagent process, as we need to know the resolution the client is running at. So we should close the virtio port when the active vdagent disconnects, so that the spice-server switches back to server mouse mode. We were not properly updating active_session_conn when compiled without consolekit support, which causes us to not close the virtio port, this patch fixes this. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagentd-uinput: Correct interpretation of coordinates send by the clientHans de Goede2012-01-101-4/+4
| | | | | | | Coordinates send by the client go from 0 - (width - 1) rather then from 0 - width. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Add a --enable-static-uinput optionHans de Goede2012-01-102-0/+30
| | | | | | | | This makes spice-vdagentd create the tablet uinput device once and then keep it around forever. This is necessary for X-servers without hotplug support, such as the RHEL-5 X-server. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagentd: Revert part of 571948ffb78eddd3015c456d084e0ca941f3e45d (rhbz#748760)Hans de Goede2011-10-281-9/+0
| | | | | | | | The part of this commit which avoided forwarding monitor info to the per X11 session agent process breaks resolution sync when using a multi monitor client with a single monitor guest. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Fix various compiler warningsHans de Goede2011-10-032-4/+4
| | | | Sgined-off-by: Hans de Goede <hdegoede@redhat.com>
* Add missing src/vdagentd-xorg-conf.h fileHans de Goede2011-09-301-0/+30
| | | | | | This was missing from the previous commit, my bad. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagentd: Autogenerate a Xinerama xorg.conf for multi monitor setupsHans de Goede2011-09-262-0/+183
| | | | | | The autogenerated file will get written as /etc/X11/xorg.conf.spice Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Make mouse handling multiple monitor aware.Hans de Goede2011-09-234-14/+117
| | | | | | | | Actually send monitor info from the session agent to the system agent daemon, and use this information in vdagentd-uinput to properly generate events for events originating from different monitors on the client. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* Change VDAGENTD_GUEST_XORG_RESOLUTION message to work with multiple monitorsHans de Goede2011-09-223-11/+20
| | | | | | | | And also bump the version (a bit early in the cycle), since this breaks protocol compatibility between the system level agentd daemon and the per session agent process. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagentd: Fix a memory leak on agent message parsing errorsHans de Goede2011-09-221-0/+2
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* vdagent: Respond to SIGTERM in the connect to daemon loopHans de Goede2011-07-151-2/+2
|
* vdagent: Fix double free on re-execHans de Goede2011-07-151-10/+2
| | | | | This is caused by me fixing a memleak in the non re-exec reconnect patch of Marc-André's original patch before merging it.
* vdagentd: some small coding style fixesHans de Goede2011-07-151-4/+4
|
* vdagent: reexec ourself on version mismatchMarc-André Lureau2011-07-151-0/+21
|
* vdagent: check for portdev existence and leave if notMarc-André Lureau2011-07-151-4/+24
|
* vdagents: add VDAGENTD_VERSION messageMarc-André Lureau2011-07-154-0/+17
| | | | Disconnects vdagent if version mismatch.
* Attempt to reconnect to system socket every second when daemonizedMarc-André Lureau2011-07-152-12/+25
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=681797
* vdagent: connect to vdagentd after daemonizingHans de Goede2011-04-191-4/+3
| | | | | | Doing this before daemonizing leads to the vdagentd seeing the connection from the pid of the mother, which may have exited by the time vdagent asks consolekit GetSessionForUnixProcess for the pid, resulting in an error.
* vdagentd: fix compilation without consolekitHans de Goede2011-04-181-1/+1
|
* vdagent-x11: Ignore MappingNotify eventsHans de Goede2011-04-051-0/+4
|
* vdagentd: use new virtio port write_[start,append] functionsHans de Goede2011-04-051-29/+14
| | | | | This avoids the need to alloc a temporary buffer and memcpy all the clipboard data while building clipboard messages to send to the client.
* vdagent-virtio-port: add write_{start,append} to help caller write a messageHans de Goede2011-04-052-14/+81
| | | | Inspired on a very similar patch for udscs written by Marc-André Lureau.
* vdagent-x11: Add printing of selection to relevant log messagesHans de Goede2011-04-041-98/+103
|
* make console-kit use optionalChristophe Fergeau2011-04-042-1/+43
| | | | | | | | On older distributions (namely RHEL5), console-kit is not available. This patch makes console-kit use optional, though this means vd_agentd won't handle properly user-switching. This patch makes it always use the first client vdagent, or none if multiple agents connect.
* autotools: move source files to a src/ subdirChristophe Fergeau2011-04-0414-0/+4220