| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
When not saving to the Desktop we need a way for the user to discover where
we've saved the file. This patch makes the session agent call xdg-open on
the file xfer save dir when a file xfer has completed in this case.
This is configurable from the cmdline by passing "-o 0" or "-o 1"
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
The user can pass any arbitrary directory or the special values of
"xdg-desktop" or "xdg-download" to select the default xdg Desktop resp
xdg Download directories. If no value is specified the default is xdg-desktop
when running under a Desktop Environment which has icons on the desktop and
xdg-download on other Desktop Environments.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
This is #if 0-ified for now, to avoid breaking compilation with -Werror.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
If we cancel a file-xfer from the agent side, it is normal that there still
are some data packets belongen to this xfer in the pipe. So don't warn about
it, instead make this a debug message.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
Also add some extra detection for the client having gone away for when
running on an older spice-server which does not send
VDAGENTD_CLIENT_DISCONNECTED on client disconnect.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
So that file-xfers which are still on progress on user-switch keep working,
and so that vdagentd can send the client a file-xfer cancel if the per-session
vdagent goes away while a file-xfer is active.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
| |
Store the complete path, rather then just the basename in task->file_name,
so that unlinking on error actually works.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
This is necesarry to allow the client to send folder-hierarchies.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
Instead postfix " (x)" until we have a unique filename.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
The patch makes linux agent support file-xfer feature.
Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
|
| |
|
|
|
|
| |
The new added messages correspond with vd_agent.h
Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
|
| |
|
|
|
|
|
|
| |
Unlike the comment this commit removes claims, the info is not the same. When
the monitor settings are "sparse", ie monitor 1 and 3 are enabled, then
Xinerama will report this as a continous range ie monitor 1 and 2 are enabled.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
If a client window is maximized or fullscreen, and we fail to set the config,
the client will keep resending the config (as a result of the attempted
changes + rollback), sending us into a loop until the window gets unmaximized.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usually XRRSetScreenSize failing simply means that we don't have enough
video memory, out current handling of this has 2 issues:
1) It leaves things in an inconsistent state
2) It sets x11->set_crtc_config_not_functional causing any futher monitor
configs send by the client to get ignored
This patch fixes these issues by:
1) Rolling back all changes made when XRRSetScreenSize fails
2) Not setting x11->set_crtc_config_not_functional on XRRSetScreenSize failure
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
| |
Where it logically belongs, thus turning same_monitor_configs into a
function purely comparing monitor configs.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
And use it in same_monitor_configs, this is a preparation patch for
restoring the current settings when changing the settings fails due to
having not enough video-memory.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
| |
Since we now support more then 1 monitor / qxl device don't log a warning
when there are more monitors then qxl-devs. Note the warning does still
get written to the generated xorg.conf file, as that is intended for use with
xinerama setups, and there we do have a limit of 1 monitor / device.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
vdagent_x11_destroy() cleans up clipboard state and will tell the client
it is releasing the clipboard if it owns it. But when the vdagentd is
restarted the unix socket is disconnected and x11->vdagentd points to
already free-ed memory, leading to a crash.
This patch fixes this by not trying to send messages to the client on
cleanup when the unix socket is disconnected.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Xrandr itself has monitor sizes and coordinates as signed, and so does
most of our code, but not all of it. Making it all signed fixes a compiler
warning, and allows us to properly deal with the client sending negative
monitor coordinates.
Note: Unfortunately this does require some pointer casts when dealing with
the agent monitor-config message, as width and height are unsigned there :|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
Move some variable declarations to right place.
Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
|
| |
|
|
|
|
| |
This patch can be safely applied since it just deletes unused variables.
Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
|
| |
|
|
|
|
|
| |
Otherwise we may end up using user-modes added for one output on another one,
messing up mode-deletion.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Using x11->width and x11->height to delete the old mode is wrong, since
this contains the total screen width and height, not the per monitor
width and height.
And we must not only delete the mode when replacing it with a new one,
but also when disabling the output.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using XRRGetScreenResources, causes the X-server to actively check for
new monitors, which generates Xrandr events even if nothing is changed, which
causes gnome-setting-manager to muck with the settings, racing with the
agent doing the same.
XRRGetScreenResourcesCurrent OTOH simply returns the last known settings
without any polling of the hardware and matching events being involved.
So use XRRGetScreenResourcesCurrent instead of XRRGetScreenResources, with
one exception. When the number of monitors is changed, so some outputs are
enabled or disabled, then the hardware polling is necessary to properly
reflect the connected / disconnected state in xrandr.
This requires Xrandr >= 1.3, note that since 0.12.0 we already depended
on >= 1.2 anyways, this patch raises the requirement to 1.3 and makes
it explict.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
If the number of monitors changes, and the remaining monitors are
the same as before, then same_monitor_configs() would wrongly return
true, causing monitor-reconfiguarion to be skipped.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
| |
This is necessary because the randr settings may have been changed underneath
us (by gnome-settings-daemon for example).
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
If the client is sending non 0,0 rooted monitor coordinates these won't
match what we've configured in the X-server if we check them before having
called zero_base_monitors().
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|