summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-07-16input: send wl_keyboard.repeat_info with rate and delay infoHEADrepeat-infoJonny Lamb6-9/+142
The compositor reads the values out from weston.ini, the weston compositor passes on the values, the weston-info client prints out the values, and the values are respected in toytoolkit.
2014-07-07Create a weston_surface_state structure for storing pending surface state ↵Jason Ekstrand2-204/+141
and move the surface commit logic into weston_surface_commit_state This new structure is used for both weston_surface.pending and weston_subsurface.cached. Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com> Reviewed-by: Pekka Paalanen <ppaalanen@gmail.com>
2014-07-07Move weston_frame_callback above weston_surface_createJason Ekstrand1-5/+5
Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com> Reviewed-by: Pekka Paalanen <ppaalanen@gmail.com>
2014-07-07Move weston_subsurface to after weston_surfaceJason Ekstrand1-51/+51
It makes more sense there. Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com> Reviewed-by: Pekka Paalanen <ppaalanen@gmail.com>
2014-07-05cairo-util: Set geometry_dirty in frame_set_titleBoyan Ding1-0/+1
Title can decide the geometry of a frame because it may affect the existence of titlebar, so setting geometry_dirty in frame_set_title for potential change. Signed-off-by: Boyan Ding <stu_dby@126.com>
2014-07-05cairo-util: Fix geometry for frames with buttons but without titleBoyan Ding1-2/+2
There exist frames which have buttons without title such as a simple X application piped through xwayland which doesn't specify a title. We draw the title bar with buttons, but hide it under the window because geometry thinks a window needs titlebar only if it has title. This patch change the condition, making it titlebar is needed if a frame has title or has button(s), which makes more sense. Signed-off-by: Boyan Ding <stu_dby@126.com>
2014-07-05Use pixman_region32_clear instead of our own empty_regionJason Ekstrand4-33/+10
This requires pixman 0.25.2 Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2014-06-25shell: fix segfault in fullscreen bindingBoyan Ding1-0/+1
Commit 9aa8ce69 forgot to set shsurf->fullscreen_output in fullscreen_binding(), causing segfault when fullscreening using key bindings. This patch fixes that. https://bugs.freedesktop.org/show_bug.cgi?id=79828 Signed-off-by: Boyan Ding <stu_dby@126.com>
2014-06-25screen-share: Allow fullscreen shell command to be configuredAndrew Wedgbury2-14/+33
I've updated this based on comments, simplifying the command handling. Currently the screen-share module uses a hard-coded command to start the fullscreen shell server. This patch causes the module to read the command from the weston config file (from the "command" key in the "screen-share" section). The default value remains the same (i.e. to run weston with the RDP backend and fullscreen shell), but is now located in the weston config file. As well as allowing the arguments to the fullscreen shell server to be changed, this also permits an alternative fullscreen shell server to be used if required, without needing to recompile. Since the command is run as the user running weston, this should not pose any additional security risk. Signed-off-by: Andrew Wedgbury <andrew.wedgbury@realvnc.com>
2014-06-25data-device: Clean up the logic in start_dragJason Ekstrand1-14/+17
Previoiusly, we had a mess of logic that was repeated with one of the repeats negated. Not only was this unnecisaraly confusing, but it segfaulted and one of the negations was wrong. This cleans the whole mess up and should fix bug #79725.
2014-06-25Better error message when exec'ing Xwayland failsArnout Engelen1-1/+5
2014-06-25Require libinput 0.4.0Peter Hutterer2-12/+22
No functional changes, just adjusting for API changes in libinput: - libinput_destroy() replaced by libinput_unref() - log functions now take a libinput context, userdata is gone - udev seat creation is now libinput_udev_create_context() and libinput_udev_assign_seat() Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-06-24Change the defacto output transform from flipped-270 to flipped-90Jason Ekstrand1-1/+1
It turns out that flipped-270 is the second-simplest transformation besides normal because it is a direct swapping of the x and y axes. Having that as the default encourages people to use flipped-270 as the default test for "I want to try this with a transform". Unfortunately, because flipped-270 is so simple, it is really easy to have something that works for normal, flipped-270, and nothing else. This encourages people to test with a transform thats actually "hard".
2014-06-24Fix a commentJason Ekstrand1-1/+1
2014-06-24Clients: Fix memleak issues in various clients of westonvivek11-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>
2014-06-24xdg-shell: Fix a typo in descriptionBoyan Ding1-1/+1
Signed-off-by: Boyan Ding <stu_dby@126.com>
2014-06-23desktop-shell: Don't assume there is a pointer when resizingEmilio Pozuelo Monfort1-1/+2
Fixes a crash on touch devices without a pointer, when touching the window frame of a client. Signed-off-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
2014-06-21weston-build: Fix aclocal error during autogen.shSrivardhan Hebbar1-0/+5
This is a fix to the following bug: https://bugs.freedesktop.org/show_bug.cgi?id=80214 Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
2014-06-19compositor: update the surface size when there is a size change without a ↵George Kiagiadakis2-14/+48
buffer attach This fixes at least the case where you want to do wl_viewport.set_destination to resize the surface but without attaching new content in it.
2014-06-18weston: Fix memleak issue in compositor.cSrivardhan Hebbar1-6/+17
Based on a previous patch by Hardening <rdp.effort@gmail.com>. Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
2014-06-18compositor-wayland: Fix compiler warningThierry Reding1-1/+1
sizeof returns size_t, for which the correct printf specifier is %zu. Fixes the following warning when building for ARMv7. src/compositor-wayland.c: In function 'wayland_output_get_shm_buffer': src/compositor-wayland.c:260:3: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'unsigned int' [-Wformat=] weston_log("could not zalloc %ld memory for sb: %m\n", sizeof *sb); ^ Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-06-18build: Silence libtoolize warningsThierry Reding2-0/+3
When running the autogen.sh script, libtoolize complains thusly: libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. Silence the warnings by following libtoolize's advice. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-06-18desktop-shell: make background applications less darkJonny Lamb1-3/+3
2014-06-18animation: ensure repaints are always scheduled during animationsJonny Lamb2-0/+16
Animations are run off the repaint cycle so if there's nothing to repaint, an animation will stop running. This is usually not a problem as each frame function of an animation causes something to change and therefore a repaint to happen. This patch helps detect when the animation isn't in said case and triggers a repaint to keep the animation running. This problem was found by using weston_move_scale_run() to move a view onscreen from completely off. The very first time the animation frame function was called the progress wasn't enough to move it into view. The compositor saw there was nothing to repaint and stopped doing anything else. When something else (like a pointer move) forced a redraw, the view's position was very much onscreen and jumped into view in an ugly way.
2014-06-18exposay: fix crash when navigating with the keyboardEmilio Pozuelo Monfort1-1/+3
Commit a7592019 introduced an optimization that caused some exposay struct members to not be properly initialized, particularly cur_output, leading to crashes in some circumstances (e.g. pressing the down arrow key after going to exposay). Signed-off-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
2014-06-18animation: fix move scale animationJonny Lamb1-1/+3
Both weston_move_scale_run() and weston_slide_run() were broken in commit 3a869019. Commit a4a6f161 fixed and explained the problem for weston_slide_run() but weston_move_scale_run() remained broken. To fix weston_move_scale_run(), weston_view_animation_run() is also required. It was removed when _run() was split into two functions _create() and _run() in commit f5cc2b56, but _run() was not added in this commit.
2014-06-18compositor: unmap subsurface views before destroying the subsurfacesGeorge Kiagiadakis1-2/+6
This is to avoid recursing into weston_compositor_build_view_list() and therefore fix crashing when destroying a stack of visible subsurfaces due to weston_compositor_build_view_list() being called recursively and corrupting the lists it works on. https://bugs.freedesktop.org/show_bug.cgi?id=79684
2014-06-18Add a simple client for testing compositor damage handlingJason Ekstrand3-0/+893
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.
2014-06-09libinput: Use floating point instead of fixed point numbersJonas Ådahl2-10/+19
Also update configure.ac to require libinput 0.3 when enabled, as it is the version where double replaced li_fixed_t. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2014-06-03compositor: raise errors when bad scale or transform values are usedJonny Lamb1-0/+18
2014-06-02Use FreeRDP buildin functions to get scancodesHardening1-18/+6
This patch make use of the functions available in FreeRDP to retrieve the scancode to inject.
2014-06-02Add more keyboards for the RDP compositorHardening1-12/+120
This patch complements the table that contains matches between RDP and xkb keyboard layouts. We now handle variants too.
2014-05-23Add releasing.txt to describe the release steps and other bits of processKristian Høgsberg1-0/+43
2014-05-23xdg-shell: Add show_window_menu requestJasper St. Pierre3-49/+39
2014-05-23clients: Allow creating a "detached" menuJasper St. Pierre2-14/+55
This will be used by the xdg_surface.show_menu_window implementation.
2014-05-23configure.ac: Bump master version to 1.5.90Kristian Høgsberg1-1/+1
Post release bump. The master branch version is always x.y.90, where x.y is the most recent stable branch. This lets other packages rely on git master as opposed to 1.5.0.
2014-05-23comp-wayland: use safe foreach when destroying outputsU. Artie Eoff1-2/+2
wl_list_for_each dereference's output to increment the next iteration of the loop. However, output is free'd inside the loop resulting in a dereference to free'd memory. Use wl_list_for_each_safe instead, which is designed to handle this kind of pattern. Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com> Reviewed-by: Thierry Reding <thierry.reding@gmail.com> Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-05-22configure.ac: Bump version to 1.5.0Kristian Høgsberg1-2/+2
2014-05-18clients: Remove the window / user parameters from the menu functionJasper St. Pierre6-14/+12
We want the ability to create a detached menu.
2014-05-12window: Send ack_configure immediately from configure handlerKristian Høgsberg1-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.
2014-05-12window: Move the resize after interpreting the statesJasper St. Pierre1-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.
2014-05-12window: Set frame flags immediately when we handle the new states in configureJasper St. Pierre1-12/+14
2014-05-12shell: Make margin double-buffered state that's applied on commitJasper St. Pierre1-5/+12
2014-05-12shell: Don't use the helper methods in xdg_shell implementationsJasper St. Pierre1-28/+17
With most of the code in send_configure_for_surface, the helper methods don't give us that much benefit, so stop using them. We can't kill them off, as they're part of the shell interface and used by the WM.
2014-05-12shell: Centralize management of sending configure requestsJasper St. Pierre1-49/+63
Currently, there's a giant bug in how xdg-shell state management is done. If a client calls set_fullscreen and then set_maximized, it will get two configure events: => set_fullscreen <= configure(800, 600, [STATE_FULLSCREEN]) => set_maximized <= configure(800, 560, [STATE_FULLSCREEN, STATE_MAXIMIZED]) Since fullscreen takes precedence over maximized, the client will render full-screen at 800x600 first, and then 800x560 next. As a result, the surface gets the wrong size. This is because the code that sends out configure requests is "immediate" -- when an app calls set_maximized, we immediately send out the configure event that would have happened if we transitioned immediately into maximized mode. In wl_shell, this is correct behavior. However, in xdg-shell, this is wrong. State needs to be more carefully managed in xdg-shell, as states aren't exclusive. Pull all the code that sends out configure events out and send them centrally, based on Weston's on surface state management. This should work with both wl_shell and xdg_shell's strategies.
2014-05-12xdg-shell: Turn "activated" into a stateJasper St. Pierre5-66/+15
This drops two events, and makes new window decorations race-free with an attach in-flight.
2014-05-12terminal: Only add the new size to the title when we're resizingJasper St. Pierre3-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.
2014-05-12xdg-shell: Turn the resizing heuristics into an explicit stateJasper St. Pierre3-8/+30
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.
2014-05-12xdg-shell: Rework the state systemJasper St. Pierre5-230/+205
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.
2014-05-13xdg-shell: Rename set_transient_for to set_parentJasper St. Pierre5-25/+22
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.