summaryrefslogtreecommitdiff
path: root/clients
Commit message (Collapse)AuthorAgeFilesLines
* clients: Maximize window when double click on title barXiong Zhang2014-09-041-1/+25
| | | | | Signed-off-by: Xiong Zhang <panda0626@gmail.com> Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* desktop-shell: properly set background widget as opaqueArnaud Vrac2014-08-281-9/+1
| | | | | | | Toytoolkit resets the opaque region which was set manually using the wayland protocol directly, so use the widget API instead. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* simple-egl: fix opaque and 16 bits mode optionsArnaud Vrac2014-08-281-0/+1
| | | | | | In those cases we were writing to the wrong EGL config attribute. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* multi-resource: remove an unnecessary call of wl_display_get_fd()Ryo Munakata2014-08-281-2/+0
| | | | | Signed-off-by: Ryo Munakata <ryomnktml@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* simple-shm: remove an unnecessary call of wl_display_get_fd()Ryo Munakata2014-08-281-2/+0
| | | | Reviewed-by: Nils Chr. Brause <nilschrbrause@gmail.com>
* window: unbind egl surface and context on surface releaseArnaud Vrac2014-08-271-2/+2
| | | | | | Binding null read and write surfaces to an egl context is not standard Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: bump experimental protocol versionPekka Paalanen2014-08-214-4/+4
| | | | | | | | | | | | | | | | | | | | The experimental versioning has not been updated when it was supposed to. Let's try to be better at it now, as xdg-shell is close to have its first stable version. Bump the version now to bring the world into the same exact version. There may be some protocol changes still coming, but we try to land them before 1.6 gets out. Those changes will bump the experimental version again as needed. When 1.6.0 is released, the experimental version will no longer be bumped, and no incompatible protocol changes will be made. Xdg-shell.xml file will move to Wayland in 1.7.0, drop the experimental versioning, and become stable. Cc: Jasper St. Pierre <jstpierre@mecheye.net> Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* cliptest: sync calculate_edges with master copyPekka Paalanen2014-08-201-45/+47
| | | | | | | | | | | | | The master copy of calculate_edges() lives nowadays in gl-renderer.c. Copy it verbatim from gl-renderer.c into cliptest.c. Update cliptest.c for the following changes that happened in Weston core, vertex.clipping.c, and gl-renderer.c: - replace GLfloat with float - introduction of weston_view, here replacing weston_surface - API change of weston_view_to_global_float Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Remove duplicated code from cliptest.cOndřej Majerech2014-08-201-290/+3
| | | | | Signed-off-by: Ondřej Majerech <oxyd.oxyd@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Replace deprecated xkbcommon symbols with current namesRan Benita2014-08-202-23/+23
| | | | | | | | | | | These symbols (xkb_map_* and others) were replaced in xkbcommon with more consistent names. See the header xkbcommon/xkbcommon-compat.h for how the old names map to the new. The new names have been available since the first stable xkbcommon release (0.2.0). Signed-off-by: Ran Benita <ran234@gmail.com>
* cliptest: Avoid use of uninitialized memory when regions don't intersectDerek Foreman2014-08-191-5/+7
| | | | | | | | Prevent attempting to draw the intersection polygon when it contains no vertices. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* weston-scaler --help works even if not run inside waylandBill Spitzak2014-08-191-6/+6
|
* weston-image --help works. Also help if no filename is givenBill Spitzak2014-08-191-0/+5
|
* weston-editor --help worksBill Spitzak2014-08-191-5/+10
|
* weston-dnd --help worksBill Spitzak2014-08-191-5/+10
|
* weston-cliptest --help works. You must use -b to run benchmarkBill Spitzak2014-08-191-2/+6
|
* weston-terminal --help and other command-line optionsBill Spitzak2014-08-191-0/+11
| | | | Option array existed but was unused. Added --font-size.
* Made weston-screensaver --help workBill Spitzak2014-08-191-2/+6
|
* Made weston-subsurfaces --help workBill Spitzak2014-08-191-2/+2
|
* Made weston-nested --help workBill Spitzak2014-08-191-2/+5
|
* weston-eventdemo --help worksBill Spitzak2014-08-191-9/+33
| | | | | Also defaults to printing all events if you specify none. Removed incorrect "-0" switch which would turn on one of them.
* gears: fix invalid calculation of the first FPSRyo Munakata2014-08-181-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | At the calculation of the first FPS, gears has initialized last FPS time with gettimeofday(). But the callback_data passed in the callback of wl_surface_frame() is the current time, in milliseconds, with an undefined base. Because of this subtracting last FPS time from callback_data makes no sense. For example, below is the result of running weston-gears on weston with drm backend: $ weston-gears Warning: FPS count is limited by the wayland compositor or monitor refresh rate 1 frames in 1094460.125 seconds = 0.000 FPS 301 frames in 5.016 seconds = 60.008 FPS 301 frames in 5.016 seconds = 60.008 FPS 301 frames in 5.016 seconds = 60.008 FPS As you can see, the the first FPS value is something odd. This patch fixes it by initializing last FPS time with the callback_data passed in the first callback. Reviewed-by: Nils Chr. Brause <nilschrbrause@gmail.com>
* desktop-shell: add option to avoid creating the panelJonny Lamb2014-08-181-7/+31
| | | | | | | | This option is so we can disable showing any panel at all. The default is to continue showing the panel and no example is added to weston.ini because it's an uncommon request. Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Implemented support for mouse scrolling in weston-terminalMagnus Hoff2014-08-151-0/+51
| | | | [Pekka Paalanen: fixed some code style issues]
* simple-egl: Clean up unused frame_listenerBoyan Ding2014-08-151-6/+0
| | | | | | | Unused since commit 1e65840b6103197a684a551925a58fb1ae6c40e3 Signed-off-by: Boyan Ding <stu_dby@126.com> Reviewed-by: Nils Chr. Brause <nilschrbrause@gmail.com>
* clients: use repeat_info event detailsJonny Lamb2014-08-152-6/+132
| | | | | The weston-info client prints out the values, and the values are respected in toytoolkit when actually repeating keys..
* window: Don't use the frame's geometry when fullscreenJasper St. Pierre2014-08-051-2/+2
| | | | | When fullscreen, we don't actually update the frame's geometry, so we can't query it for there.
* shell: Replace set_margin with set_window_geometryJasper St. Pierre2014-07-171-13/+22
| | | | | | | | | | | | | | | | | | | Currently, there is a fun flicker when toggling maximization or fullscreen on a window in mutter or more sophisicated compositors and WMs. What happens is that the client want so go maximized, so we calculate the size that we want the window to resize to (640x480), and then add on its margins to find the buffer size (+10 = 660x500), and then send out a configure event for that size. The client renders to that size, realizes that it's maximized, and then says "oh hey, my margins are actually 0 now!", and so the compositor has to send out another configure event. In order to fix this, make the the configure request correspond to the window geometry we'd like the window to be at. At the same time, replace set_margin with set_window_geometry, where we specify a rect rather than a border around the window.
* Interpret the size in the configure event as window geometryJasper St. Pierre2014-07-171-1/+17
| | | | | The size of the configure event has always been specified as in window geometry coordinates, but it was never implemented this way.
* Use pixman_region32_clear instead of our own empty_regionJason Ekstrand2014-07-051-8/+1
| | | | | | This requires pixman 0.25.2 Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
* Clients: Fix memleak issues in various clients of westonvivek2014-06-2411-4/+60
| | | | | | | | | In many clients of weston, Display was not being destroyed so added it. Also destroy windows, widgets which were not being destroyed. Signed-off-by: vivek <vivek.ellur@samsung.com> Reviewed-by: Pekka Paalanen <ppaalanen@gmail.com> Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
* Add a simple client for testing compositor damage handlingJason Ekstrand2014-06-181-0/+880
| | | | | | | | | | This allows for easily testing a compositor's damage tracking in all currently available configurations including wl_surface.buffer_transform, wl_surface.buffer_scale, and wl_viewport. It also includes a --rotating-damage that flag instructs the client to change the wl_surface.buffer_transform on every commit. This tests the compositor for proper handling of texture uploads even when the transform has changed but the buffer size hasn't.
* xdg-shell: Add show_window_menu requestJasper St. Pierre2014-05-231-49/+7
|
* clients: Allow creating a "detached" menuJasper St. Pierre2014-05-232-14/+55
| | | | This will be used by the xdg_surface.show_menu_window implementation.
* clients: Remove the window / user parameters from the menu functionJasper St. Pierre2014-05-186-14/+12
| | | | We want the ability to create a detached menu.
* window: Send ack_configure immediately from configure handlerKristian Høgsberg2014-05-121-9/+1
| | | | | | | Once we've updated the window state and scheduled a resize, we know that the next frame we send to the compositor will match the configured state. This means we can just ack the configure immediately and not jump through hoops to try to do it from the redraw stage.
* window: Move the resize after interpreting the statesJasper St. Pierre2014-05-121-8/+8
| | | | | | As the protocol says, the states determine how the width and height arguments should be interpreted, so it makes logical sense to do the interpretation after.
* window: Set frame flags immediately when we handle the new states in configureJasper St. Pierre2014-05-121-12/+14
|
* xdg-shell: Turn "activated" into a stateJasper St. Pierre2014-05-123-40/+4
| | | | | This drops two events, and makes new window decorations race-free with an attach in-flight.
* terminal: Only add the new size to the title when we're resizingJasper St. Pierre2014-05-123-14/+49
| | | | | | | Add a new state_changed_handler callback to the window to know when the window has changed state; the terminal will use this to know when the window started and ended its resize operation, and modify the terminal's titlebar accordingly.
* xdg-shell: Turn the resizing heuristics into an explicit stateJasper St. Pierre2014-05-121-7/+4
| | | | | | | | | | | | | | | | Currently, there's a race condition. When resizing from the left, and a client attaches a buffer after the resize ends, you suddenly see the buffer jump to the right, because the resize ended while multiple attaches were in-flight. Making resize a state can fix this, as the server can now know exactly when the resize ended, and whether a commit was before or after that place. We don't implement the correct tracking in this commit; that's left as an exercise to the reader. Additionally, clients like terminals might want to display resize popups to display the number of cells when in a resize. They can use the hint here to figure out whether they are resizing.
* xdg-shell: Rework the state systemJasper St. Pierre2014-05-123-85/+86
| | | | | | The states system, so far, has been a complicated mix of weird APIs that solved a real race condition, but have been particularly ugly for both compositors and clients to implement.
* xdg-shell: Rename set_transient_for to set_parentJasper St. Pierre2014-05-133-17/+17
| | | | | | | | | It's a confusing name that comes from the ICCCM. The ICCCM is best forgotten about. With the addition of the potential new "transient" role meaning a parent-relative toplevel like a long-lived popup, used for e.g. tooltips, the set_transient_for name will become even more confusing.
* fullscreen: Remove dirty sizing trickJasper St. Pierre2014-05-131-9/+0
| | | | | | | xdg-shell mandates that the FULLSCREEN state means that we must match the size that we were configured to, at least by default. Other states or protocol extensions might relax this requirement, but at least for now implement the behavior specified in the protocol documentation.
* fullscreen: Remove our own focused state trackingJasper St. Pierre2014-05-131-18/+3
| | | | This is decided by xdg-shell now.
* window: Ignore input events from subsurfacesAnder Conselvan de Oliveira2014-05-121-5/+16
| | | | | | | | | | | | | | | | | | | | | | Toytoolkit was not designed to handle input from subsurfaces and instead it expects subsurfaces to have an empty input region. That way input events for subsurfaces are generated on the main surface and there is no need to convert coordinates before reporting the event to the user. However it is possible that a subsurface has a non-empty input region, but in that case those events aren't properly processed. The function window_find_widget() assumes the coordinates are in the main surface coordinate space, and ends up chosing the wrong widget. This patch changes the input code to completely ignore input events from subsurfaces. This option was chosen instead of ensuring that the input region on those surfaces is always empty since there's no enforcement that a subsurface should completely overlap with the main surface. If an event happens in the area of the surface that doesn't overlap, the event could cause a completely unrelated surface to be picked. https://bugs.freedesktop.org/show_bug.cgi?id=78207
* editor: Fix cursor positioning with pointer and touchAnder Conselvan de Oliveira2014-05-091-10/+23
| | | | | | | | The calculation off the vertical offset between the widget coordinates and where the text was rendered was wrong. It was using the constant for horizontal offset for that too. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=78411
* desktop-shell: Fix black edges on scaled desktop patternBill Spitzak2014-05-091-0/+2
| | | | | | | | | | Filter sampling outside the source image can leak black into the edges of the desktop image. This is most easily seen by scaling the default tiled image with this weston.ini: # no background-image and no background-color background-type=scale-crop
* simple-touch: Handle multiple seats properlyAnder Conselvan de Oliveira2014-05-091-15/+33
| | | | | | | | | | | | If simple-touch ran on a compositor with multiple seats, and the first one happened to have the touch capability while the second one didn't, the handler for seat capabilities would destroy the wl_touch device it created on the first call for the first seat when it was called a again for the second seat that has not touch capabilities. Fix this problem by creating a separate struct for each seat. https://bugs.freedesktop.org/show_bug.cgi?id=78365
* clients: Initialize label in keyboard handling codeBryce W. Harrington2014-05-091-1/+1
| | | | | | | | | Quells warning: clients/keyboard.c: In function ‘keyboard_handle_key.isra.5’: clients/keyboard.c:556:11: warning: ‘label’ may be used uninitialized in this function [-Wuninitialized] Signed-off-by: Bryce Harrington <b.harrington@samsung.com>