| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Everyone else seems to get by with using 0600, so let's do the same.
|
|
|
|
|
| |
It's not enough that we detach from the shared memory, we must also
tell the X server to do so for it to be freed properly.
|
| |
|
| |
|
|
|
|
|
|
| |
Adds an optional graph to the viewer to display current frame rate,
pixel rate and network bandwidth. Makes it easier to debug and test
performance related issues.
|
|
|
|
| |
Incoming width specifies wrapping width, and we do not want any wrapping.
|
|
|
|
|
| |
This will allow us to use better formats that preserve the entire
alpha channel.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Some platforms draw directly to the screen, which means that updates
will flicker if we draw multiple layers. Prevent this by first
composing the update on a hidden surface.
|
|
|
|
| |
This will allow us to render more things than just the framebuffer.
|
|
|
|
|
| |
Stop fighting with the FLTK scroll widget and handle layout ourselves.
This opens up the possibility of doing more complex drawing as well.
|
|
|
|
| |
Raising the requirement to 10.5 allows us to clean up the code a bit.
|
| |
|
|
|
|
|
| |
The complex logic waiting for events didn't result in any added
performance, so use the simpler approach.
|
|
|
|
|
| |
Use the APIs the way Apple wants us to, in order to avoid slow
fallback code paths in Quartz.
|
| |
|
|
|
|
|
| |
These are very rare and very low level. Might as well just print
the offending call to keep things easily maintained.
|
|
|
|
|
|
| |
There were still some circumstances where we could get stuck reading
data and not respect close events properly. Move that logic to a more
central place in order to make it more reliable.
|
| |
|
| |
|
|
|
| |
Fixes #270
|
| |
|
| |
|
|
|
|
|
|
|
| |
Unfortunately HP ships a buggy X server on their thin clients
that send out extra, bogus ShmCompletion events. This screws up our
logic so we need to filter them out. Fortunately they are sent with
an invalid drawable id, so simply verify that.
|
|
|
|
|
| |
We haven't supported them in a long time so we shouldn't mention
them in the interface and documentation.
|
|
|
|
|
|
| |
Previously the incoming clipboard was unconditionally set to both
the PRIMARY and CLIPBOARD selection. This isn't always what the
user want, so make it configurable.
|
| |
|
| |
|
|
|
|
|
| |
These files are not Red Hat or Ubuntu specific, so install them
on all Unix systems where the viewer is installed.
|
|
|
|
|
| |
Primary selection is inherently a X11 concept so there is no point
showing the settings related to it on other platforms.
|
|
|
|
|
| |
We need to make sure the display server has finished reading our
previous update before we overwrite the buffer with the next update.
|
| |
|
|
|
|
|
| |
The damage tracking region needs to be protected from multiple
threads accessing it at once. The rest should be fine though.
|
|
|
|
|
| |
We need more callbacks for correct operation of multi-threaded
rect decoding.
|
|
|
|
|
|
|
|
|
| |
Done in preparation for multi-core decoding. Keeps the complexity
out of the other classes. This also moves ownership of the
framebuffer in to CConnection. It's the CConnection object that is
aware of the threads and how to synchronise with them. Therefore
the ownership of the framebuffer must also be there to make sure
it isn't deleted whilst threads are working.
|
| |
|
|
|
|
|
|
| |
It is easier to control object life time and avoid magical socket
duplication by having a single TcpListener object to pass around.
We have to be more careful about deleting the object though.
|
|
|
|
|
| |
Makes it easier to see which hot-keys might conflict with each
other, and allow some variation in translation in the future.
|
|
|
|
|
| |
Primarily gives it a shorthand, but also make gcc tolerate its
use for format strings.
|
|
|
|
| |
It's defined in gettext.h so no need for us to duplicate the work.
|
| |
|
|
|
|
|
| |
It should be possible to exit the viewer even if the network has
stalled in the middle of a transfer.
|
|
|
|
|
|
|
| |
Normally we only display screen changes once we have the updates for
the entire screen. This may give the impression that the viewer is
hung though. So display the partial data if the update is taking to
long to arrive.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
There has been some confusion if fillRect() should accept a buffer
or a pixel. This can cause misrendering if your data is not in the
native endian order. A buffer makes more sense here though, and
is what most of the callers are already assuming, so change the
API to follow that.
|