summaryrefslogtreecommitdiff
path: root/clients
AgeCommit message (Collapse)AuthorFilesLines
2014-01-07keyboard: Handle touch up eventKristian Høgsberg3-9/+46
This fixes arrow keys which trigger on button up. Closes: https://bugs.freedesktop.org/show_bug.cgi?id=73169
2014-01-07editor: Add missing touch-to-activate for the entriesKristian Høgsberg1-0/+41
Closes: https://bugs.freedesktop.org/show_bug.cgi?id=72996
2014-01-03clients: Fix libexec clients installArmin K1-1/+1
2014-01-01editor: Add keyboard_focus handler to schedule repaintKristian Høgsberg1-0/+12
This let the editor client repaint the frame to indicate it's active when it receives keyboard focus.
2014-01-01desktop-shell: Remove debug code from previous commitKristian Høgsberg1-1/+1
2014-01-01shell: Only assign focus on click if there is a pointer focus surfaceKristian Høgsberg1-1/+1
If we don't have a background image from the desktop-shell client or the pointer for some other reason doesn't have a focus we trigger a segfault as we try to deref the seat->pointer->focus NULL pointer. https://bugs.freedesktop.org/show_bug.cgi?id=73066
2014-01-01build: Move clients libexec_PROGRAMS under BUILD_CLIENTS conditionalKristian Høgsberg1-12/+7
All the libexec programs are only built when BUILD_CLIENTS is true, so we can just assign libexec_PROGRAMS under the condition. This lets us drop most of the variable assignments and simplify it a bit. https://bugs.freedesktop.org/show_bug.cgi?id=72812
2014-01-01build: Don't try to build weston-info if client build is disabledKristian Høgsberg1-4/+2
The weston-info sources are defined conditionally in the if BUILD_CLIENTS section, but we always added weston-info to bin_PROGRAMS. https://bugs.freedesktop.org/show_bug.cgi?id=72812
2014-01-01build: Rename option and conditional for installing demo clientsKristian Høgsberg1-1/+1
Previously the option was --enable-demo-clients and the conditional was ENABLE_DEMO_CLIENTS. They control whether or not we install the demo clients (ie all other clients than weston-terminal and weston-info). Rename the option and the conditional to better reflect this.
2013-12-31window.c: Don't put buttons on frames for custom windowsKristian Høgsberg1-1/+8
Custom windows don't have a wl_shell_surface and can't do anything in response to these button (except crash). This only affects the unlock dialog. https://bugs.freedesktop.org/show_bug.cgi?id=72542
2013-12-17nested: Add EGL_WL_create_wayland_buffer_from_image compat definesKristian Høgsberg1-0/+10
Make it possible to compile this example with EGL implementations without this extension.
2013-12-16clients: add scaler test appJonny Lamb3-0/+226
This client tests the wl_scaler and wl_surface_scaler protocol extensions by cropping and then scaling a surface to ensure it is rendered correctly. More details in comments in the code.
2013-12-09Update .gitignoreJasper St. Pierre1-0/+1
Ignore the new stacking demo...
2013-12-07simple-egl: Add option to allow not syncing to compositor repaint cycleKristian Høgsberg1-19/+27
It's the GO FASTER option.
2013-12-07simple-egl: Print fps for the spinning triangleKristian Høgsberg1-5/+17
This is not a benchmark.
2013-12-05stacking: Set a keyboard focus handler so we can repaint the frameKristian Høgsberg1-0/+11
Yes, perhaps this should be more automatic...
2013-12-04nested: Add an option to disable subsurfacesNeil Roberts1-0/+12
This adds a -b option to force the nested compositor example to use the old blit renderer even if the appropriate extensions are available.
2013-12-04nested: Add a renderer using subsurfacesNeil Roberts1-5/+209
Adds a second renderer implementation to the nested compositor example that creates a subsurface for each of the client's surfaces. The client buffers are directly attached to the subsurface using the EGL_WL_create_wayland_buffer_from_image extension instead of blitting them in the redraw_handler. The new renderer is always used if the parent compositor supports the wl_subcompositor protocol and the EGL extension is available. Otherwise it will fall back to the blit renderer.
2013-12-04clients: Add a widget_get_wl_subsurfaceNeil Roberts2-0/+9
Adds a simple accessor for the wl_subsurface for widgets created with window_add_subsurface.
2013-12-04nested: Add a ‘renderer’ mechanism with a vtableNeil Roberts1-71/+147
Eventually the nested compositor example will want to be able to cope with either rendering as it does now with a blit to an intermediate surface or by attaching the client buffers directly to a subsurface without copying. This patch moves the code that is specific to the blitting mechanism into a separate set of functions with a vtable to make it easier to add the second way of rendering in a later patch.
2013-12-04nested: Move the frame callback list to the surfaceNeil Roberts1-11/+27
Previously the frame callback list was tracked as part of the global compositor state. This patch moves the list to be part of the surface state like it is in Weston. The frame callback now iterates the list of surfaces to flush all of the callbacks. This change will be useful when the example is converted to use subsurfaces so that it can have a separate frame callback for the subsurface and flush the list for an individual client surface rather than flushing globally.
2013-12-04nested: Add damage tracking to the nested compositor exampleNeil Roberts1-0/+21
The nested compositor example now responds to damage requests and tracks them in the pending buffer state. This isn't currently used for anything and it is immediately discarded when the surface is commited but it will be used later when the example is converted to use subsurfaces.
2013-12-04nested: Add double-buffered state semantics to the nested exampleNeil Roberts1-27/+103
The buffer and frame callback state on the surfaces in the nested compositor example are now double-buffered so that they only take effect when the commit request is received. This doesn't really make much difference for the current state that the example has but it will be useful when more state is added in later patches.
2013-12-04nested: Add the buffer reference semantics from WestonNeil Roberts1-4/+95
This copies the buffer reference busy count implementation from Weston to the nested compositor example and adds an internal nested_buffer struct that we could eventually use to attach data. This will be useful to adapt the example to use subsurfaces so that we can attach our compositor-side buffer to the resource.
2013-12-04nested: Remove the surface from the surface list when destroyedNeil Roberts1-0/+2
Otherwise if the surface is destroyed then it will crash when it later tries to render all of the surfaces. You can replicate this by doing killall weston-nested-client while the example is running.
2013-12-04tablet-shell: RemoveKristian Høgsberg2-491/+0
The tablet-shell is unmaintained and unused. It is currently dead-weight and a burden when we make changes to weston. Let's drop it for now, we can pull it out of git if we find a need for it later.
2013-12-02window: handle insufficient buffer spacePekka Paalanen1-17/+76
It is quite possible for os_create_anonymous_file() to fail when trying to allocate a new wl_shm buffer. Propagate this failure out from shm_surface_prepare. Most parts of toytoolkit are already avoiding NULL cairo surfaces. If cairo surface allocation fails, do not try to call the widget redraw functions, those are not prepared to deal with NULL. Also do not schedule a frame callback, this allows us to retry drawing the next time. If redraw fails for the main_surface of a window, restore the widget geometry to what the compositor currently is showing. This keeps the window visual appearance in sync with application state, so interacting with the application does not break too badly. If the very first draw of any window fails, then forcefully exit the program. E.g. if weston-desktop-shell fails to allocate buffers for the unlock dialog, w-d-s exits, and weston unlocks the screen automatically. This patch allows e.g. weston-terminal to stop from enlarging while resizing, if new sized buffers can no longer the allocated. Even then, the application stays usable, as it can often repaint in the last successful size. It does not crash, and the user is able to resize it smaller, too. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2013-12-02clients: Add a new weston-stacking demoPhilip Withnall2-0/+305
This allows creation of a variety of window types, for the purposes of testing window ordering and stacking in Weston.
2013-12-02clients: Add window_is_transient() helper to the toy toolkit windowPhilip Withnall2-0/+9
2013-11-25distinguish touch screen and pointer dnd in clientXiong Zhang3-14/+60
Data device interface in client just handle with pointer's dnd. If a touch screen trigger dnd, it will use pointer struct like i nput->sx, input->sy, input->pointer_focus. So if pointer is moving when touch screen trigeer a dnd, wrong behaviore will occur. Before touch screen start dnd, system call touch_grab() to mark the following drag and drop operation is generated by touch screen. Defined some common variables in struct input to track dnd. Note, touch screen and pointer can't generate drag and drop at the same time, becuae data device protocol can't identify the drag and drop event is generated by touch screen or pointer. Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> Reviewed-by: Kristian Hogsberg <hoegsberg@gmail.com>
2013-11-25client/dnd.c: add dnd support for touch screen in clientXiong Zhang2-13/+45
Adding the interface for touch screen event in clients/dnd.c, once user touch down on this app, it will trigger a touch and drag operation. Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> Reviewed-by: Kristian Hogsberg <hoegsberg@gmail.com>
2013-11-25terminal: add touch screen selection supportXiong Zhang1-18/+63
Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> Reviewed-by: Kristian Hogsberg <hoegsberg@gmail.com>
2013-11-24terminal: Update terminal->end whenever we write a characterKristian Høgsberg1-7/+7
We used to only update it on newline, which breaks when somebody moves the cursor below terminal->end and writes stuff. Instead update it whenever we write a character to the terminal. https://bugs.freedesktop.org/show_bug.cgi?id=71935
2013-11-22terminal: Init tab ruler after setting terminal->widthKristian Høgsberg1-1/+1
terminal_init_tabs() needs an accurate terminal->width to be able to correctly initialize the tab ruler.
2013-11-22dnd: Simplify drag icon creationKristian Høgsberg1-25/+8
We used to have to composite the pointer on top of the drag icon, but the final protocol allows us to specify both a drag icon and a cursor. Remove the complexity that dealt with that.
2013-11-20weston-info: Handle shm formats betterKristian Høgsberg1-2/+14
Use a switch for this and don't fall back to XRGB8888 if we don't recognize the format.
2013-11-15protocol: move sub-surfaces to WaylandPekka Paalanen3-7/+0
This reverts commit 2396aec6842c709a714f3825dbad9fd88478f2e6. This exact version of the sub-surface protocol has been copied into Wayland core. Therefore it must be removed from here to avoid build conflicts and useless duplication. No other changes to sub-surface protocol consumers are needed, the identical API is now offered by libwayland-client and libwayland-server. The commit adding sub-surfaces to Wayland is: Author: Pekka Paalanen <pekka.paalanen@collabora.co.uk> protocol: add sub-surfaces to the core Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2013-11-13westoy: Remove some accessors for wl_shell / wl_shell_surfaceJasper St. Pierre2-18/+0
We want to remove support for these deprecated interfaces. Since nothing is using them, this is a simple change.
2013-11-13westoy: Remove unused support for window parentsJasper St. Pierre5-23/+18
It seems that this was only used by the popup menu infrastructure, which can handle this all on its own. Implementing e.g. transients in the future can be done with a simple xdg_shell_set_transient_for.
2013-11-13westoy: Remove window_touch_moveJasper St. Pierre5-18/+3
It seems to be the same as window_move, except it ignores the passed in serial (???) and instead just uses the one of the display.
2013-11-12westoy: Fix the version number we request for wl_seatJasper St. Pierre1-2/+2
If the compositor supports a lower version, like version 2, we need to request that instead of version 3.
2013-10-30toytoolkit: Don't segfault on window closeJason Ekstrand1-1/+1
Without this commit, the client will segmentation fault due to accessing the frame after everything has been destroyed.
2013-10-28window.c: Don't ungrab input after displaying the menuKristian Høgsberg1-1/+2
We used to ungrab first to stop any existing grab and then grab after showing the menu. That was broken in c680e904897dfb19331f8f296ab, which moved the ungrab down below the grab, and as a result menus are now shown without a grab. This commit moves the grab back up.
2013-10-23window, desktop-shell: deal with output unplug on client sideXiong Zhang3-3/+57
when output is removed, weston-desktop-shell should destroy panel and background surface on destroyed output. Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
2013-10-23window.c: Don't put titlebars on menu windowsKristian Høgsberg1-1/+1
2013-10-23window.c: Use frame code for drawing menusKristian Høgsberg1-24/+34
This gives us a nice frame and drop shadows for the menus.
2013-10-23terminal: Show character grid size in header bar when resizingKristian Høgsberg1-2/+15
We don't have a reliable way to know when to clear this indicator. Typically the pointer will still be over the window when the resize is done and we'll get an enter event, but if the window sets a max size the pointer may be over another window when the resize is done. We'll need a new wl_shell (or more likely xdg_shell) event for this.
2013-10-23terminal: Add context menu with new terminal/copy/pasteKristian Høgsberg5-25/+85
2013-10-23terminal: Add scroll-back historyKristian Høgsberg1-60/+128
Ctrl-Shift-UP/DOWN to scroll through the history.
2013-10-22clients/window: Dispose of previous keymap and state on keymap changeRui Matos1-9/+15