summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-03-26compositor-drm: Check es->image, not es->buffer when looking for overlaysKristian Høgsberg1-1/+1
es->buffer can be NULL if the client destroyed the buffer, but es->image will be non-NULL if and only if we have a buffer we might use with KMS.
2012-03-25config-parser: consolidate shell files into weston.ini onlyTiago Vignatti6-92/+30
The shell choice happens in the configuration file now. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-03-24window.c; Only redraw once per frameKristian Høgsberg1-1/+22
Based on a patch from Martin Minarik <minarik11@student.fiit.stuba.sk> who tracked down the excessive redraw problem.
2012-03-24Secure screenshooter protocol.Scott Moreau2-5/+44
2012-03-22shell: fix matrix invertible bug in rotation handlerRafal Mielniczuk1-18/+23
While activating and deactivating rotation mechanism without moving the pointer, rotation matrix from rotate_grab object is not being initialised and damage shell surface rotation matrix in rotate_grab_button handler, making it invertible. This patch initialise rotate matrix in rotate_binding and moves surface position check to rotate_grab_motion handler.
2012-03-22Add surface opacity controls.Scott Moreau1-0/+38
2012-03-22Switch zoom binding to <Super>+Scroll.Scott Moreau1-11/+5
2012-03-22Modify bindings for axis event detection.Scott Moreau5-55/+64
2012-03-22Hook up axis events.Scott Moreau7-8/+75
2012-03-22drm: plane src coords are 16.16 fixed pointRob Clark1-5/+4
2012-03-22shell: correct position of a surface before rotating it.Rafal Mielniczuk1-1/+15
How to reproduce: rotate the surface to something like 45 degrees, resize it drastically, continue to rotate. The surface will jump some space and the rotation point will not be in the center of the surface. Fix is to shift the surface position to match the rotation point
2012-03-22window.c: Fix the stretch scaling codeKristian Høgsberg1-8/+8
2012-03-21window.c: Increase drop shadow fluffinessKristian Høgsberg2-16/+16
2012-03-20window.c: Tweak window decoration appearanceKristian Høgsberg1-15/+39
The old orange decorations were starting to look like clown shoes.
2012-03-20Revert "automake: Don't fail the build if we can't setuid."Kristian Høgsberg1-2/+2
This reverts commit e7ad5cdcd2eb8a307ad9cf2efdfde76f2e83aeb7. If you ask for setuid install and that fails you didn't get what you asked for and we shouldn't just silently carry on. If installing weston somewhere in your home directory and don't want the setuid bit set, disable that at configure time.
2012-03-20evdev: fix input lag when processing input from output repaintAnder Conselvan de Oliveira1-24/+41
When the compositor is in a repaint cycle, input is processed only once per frame. However, a call to evdev_input_device_data() would handle at most 8 events at time. When there was more than 8 events pending for a given frame, input lag would occur. This was most visible with multi touch input. This patch changes the evdev_input_device_data() so that it will handle all the events available in the fd. In order to do that, the fd is put in non-blocking mode, so that it is possible to loop on read and stop on EAGAIN instead of blocking.
2012-03-20compositor: Fix pointer type mismatch warningsKristian Høgsberg1-8/+8
2012-03-20weston_surface: initialize pitchJuan Zhao1-0/+1
Initializing pitch to 1 to avoid xxx/pitch errors This won't influence the valid texture coordinate calculation, because in that case buffer_attach will provide the correct value.
2012-03-20weston: don't hang in wait()Bill Spitzak1-1/+4
Pausing weston (with ^Z in the shell) and putting it in the background made it hang.
2012-03-20weston: Don't ask for EGL depth buffer if not neededBill Spitzak3-3/+0
This makes the compositor and demo clients work on the current nouveau nvfx driver. Obviously does not fix any clients that actually want a depth buffer, but this does allow more people to at least try wayland.
2012-03-20evdev: use mtdev for multitouch devicesTiago Vignatti2-4/+21
mtdev library translates all multitouch based devices to the slotted evdev protocol. It provides an uniform interface for Weston, which eases mt implementation when dealing with a big variety of devices. Weston on drm now directly depends on such library. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-03-20compositor: properly restore keyboard_focus in notify_keyboard_focus()Ander Conselvan de Oliveira2-7/+31
Commit f992b2fc removed the saved keyboard focus logic to fix a crash when the saved surface is destroyed. However, setting keyboard focus to the first surface on the list ends up trying to set the focus to the cursor surface most of the time. The end result is a NULL keyboard focus. This patch restores the saved keyboard focus logic and fixes the crash mentioned above using a destroy listener.
2012-03-20compositor: allow multiple input_device_attach()'s with a nil bufferAnder Conselvan de Oliveira1-4/+3
Without this change, weston would crash whenever a nil buffer was passed to input_device_attach() if the cursor sprite was not mapped. While at it, change the unmapping code to use weston_surface_unmap().
2012-03-20compositor-wayland: use image loading code from shared/Ander Conselvan de Oliveira3-12/+12
Function weston_load_image() was deleted in f02a649a but the wayland backend was not adapted to the new interface. This probably went unoticed because the prototype for the missing function was not deleted from compositor.h so the backend would compile without warnings.
2012-03-20cairo-util: load_cairo_surface returns NULL if loading the file fails.Ustun Ergenoglu1-0/+4
Otherwise a non-existent file in the configuration crashes the desktop shell. Signed-off-by: Ustun Ergenoglu <ego@ustun.fi>
2012-03-20compositor: use smoother range for backlight controlTiago Vignatti3-13/+18
now it goes from 0 to 255. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-03-20tests: add backlight testTiago Vignatti2-1/+199
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-03-20shell: Fix 2 switcher crashes.Alex Wu1-1/+5
In case of no regular window, switcher will crash in switch_next() due to "next == NULL" and in switcher_destroy() due to "switcher->current == NULL".
2012-03-13automake: Don't fail the build if we can't setuid.Eric Anholt1-2/+2
The configure default is to setuid root the weston compositor. However, if installing as non-root (say, to your prefix in homedir), the install fails anyway, even if you didn't need setuid to run weston in your configuration.
2012-03-13configure: Fix build on debian by avoiding bashisms in the test command.Eric Anholt1-1/+1
2012-03-12Consolidate image loading code and move to shared/Kristian Høgsberg16-757/+519
2012-03-12Add an option parserKristian Høgsberg26-243/+229
On one hand, getopt (in particular the -o suboption syntax) sucks on the server side, and on the client side we would like to avoid the glib dependency. We can roll out own option parser and solve both problems and save a few lines of code total.
2012-03-12x11: Move the xcb fd to the input loopKristian Høgsberg1-4/+2
This way, we handle input just before repaint, similar to the drm backend.
2012-03-12Fix picking crashesKristian Høgsberg2-10/+8
The surface list is only valid after repaint, so we need to do picking and input delivery there.
2012-03-12drm: fix issue copying supported plane formatsRob Clark1-1/+1
Originally on the first 1/4th of the plane formats were copied, leading to problems if AR24/XR24 appears later in the list.
2012-03-12clients/window: fix build issues w/ glesRob Clark1-1/+12
2012-03-11compositor-drm: use udev_device_get_property_value() helperDavid Herrmann1-6/+4
Udev provides a convenient helper. Use it instead of working with the property-list directly. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-03-11compositor-drm: ignore hotplug-events from other devicesDavid Herrmann1-3/+17
If we have multiple video devices on the system (card0, card1), we should ignore hotplug events for cards that we do not use. This avoids calling update_outputs() if the event was not generated by our device so we avoid refreshing the DRM information if it didn't change. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-03-08drm: Fix drmModeRes leak on error pathsChristopher Michael1-1/+4
When creating outputs in the drm compositor, if allocating crtcs fails, then free the drm resources. Also, if the base output list is empty, free drm resources
2012-03-08compositor: Fix compilation without xserver launcherBenjamin Franzke1-0/+4
2012-03-08shell: don't assign output for surface of type noneAnder Conselvan de Oliveira1-4/+6
If map is called with a surface of type none it will call weston_surface_assign_output, even though the surface will not be mapped. This change was lost with the changes for using wl_layers.
2012-03-08shell: Fix segment fault when clicking to activate a NULL pointer_focusAlex Wu1-1/+4
This can happen for instance running a toytoolkit application, launching the popup menu and then clicking on a surface that does not belong to the client that create the popup surface.
2012-03-08shell: Fix not destroy black surface when fullscreen surface exit abnomally.Alex Wu1-0/+3
When a client with fullscreen surface displayed was aborted by Ctrl-C, the black surface still be there. Destroy the black surface in destroy_shell_surface().
2012-03-05shell: Put popups and transients on top of their parentKristian Høgsberg1-0/+6
In other words, don't map the panel menu under the panel.
2012-03-05window: Compute frame boundary for all windows except fullscreenKristian Høgsberg1-1/+1
We were only computing it for toplevel type windows, which broke the unlock dialog size allocation and repainting.
2012-03-05desktop-shell: Simplify unlock dialog redraw functionKristian Høgsberg1-10/+6
2012-03-05drm: Disable sprites if they're brokenKristian Høgsberg1-0/+5
Current sprite implementation has a color format bug. Disable sprites if they don't work and avoid spamming stderr and syslog.
2012-03-05compositor: Only process input once per frameKristian Høgsberg1-28/+37
When we're repainting, there's no point in polling for input events. We just read input events once before each repaint and send out events as needed. The input events come with an accurate timestamp, so this doesn't affect the timing information and client should always look at the event timestamps if they're trying to determine pointer motion speed or double click speed. If we go idle (stop repainting) we add the input devices back into the primary main loop and wait for the next event. This avoids waking up the compositor separately (one or more times per frame) to handle input events. We also avoid updating cursor position and other compositor state after the client has rendered its new frame, reducing lag between what the client renders and the pointer position.
2012-03-05compositor: Move input devices to their own event loopKristian Høgsberg3-3/+23
First step towards only handling input at repaint time.
2012-03-05compositor: Swallow binding key for bindings that don't set up a grabKristian Høgsberg3-40/+57
This prevents passing the key press and release to the keyboard focus client.