summaryrefslogtreecommitdiff
path: root/shared
AgeCommit message (Collapse)AuthorFilesLines
2015-11-13shared: work around EGL header idiosyncrasyAhmet Acar1-0/+1
When no X11 headers are present eglplatform.h will break unless certain defines are set prior to its inclusion. including wayland-egl.h defines WL_EGL_PLATFORM which will stop the attempted inclusion of the X11 headers. Maybe this isn't the best solution to the problem, but it's harmless and gets the job done. Closes bug: https://bugs.freedesktop.org/show_bug.cgi?id=92104 Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (patch by Ahmet Acar, commit log by Derek Foreman)
2015-07-16log: Open log file CLOEXEC so child processes don't get the fdDerek Foreman2-8/+17
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
2015-07-16compositor,shared: add millihz_to_nsec()Pekka Paalanen1-0/+14
A helper to improbe readability. Cc: Daniel Stone <daniels@collabora.com> Cc: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-07-16shared: introduce timespec-util.hPekka Paalanen1-0/+61
Copyright is set according to the moved code from compositor.c. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-06-15Unified multiple definitions of container_of() macro.Jon Cruz2-4/+38
Removed duplicate definitions of the container_of() macro and refactored sources to use the single implementation. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-06-15Moved the MIN() macro to the helper include.Jon Cruz1-0/+11
Removed multiple definitions of the MIN() macro from existing locations and unified with a single definition. Updated sources to use the shared version. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-06-15Moved helper macro to a discrete include file.Jon Cruz3-4/+50
To help reduce code duplication and also 'kitchen-sink' includes the ARRAY_LENGTH macro was moved to a stand-alone file and referenced from the sources consuming it. Other macros will be added in subsequent passes. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-06-15shared: Update boilerplate from MIT X11 license to MIT Expat licenseBryce Harrington16-256/+304
2015-06-06Whitespace correctionsMurray Calavera1-1/+1
Signed-off-by: Murray Calavera <murray.calavera@gmail.com>
2015-03-30toytoolkit: fix EGL surface creation for lazy driversManuel Bachmann1-2/+3
Some DRI drivers, including VMware vmwgfx, do not support calling eglQueryString() with a EGL_NO_DISPLAY parameter. Allow toytoolkit to create EGL surfaces with them, by falling back to the old creation method. Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-03-30toytoolkit: fix new EGL extensions fallback typedefsManuel Bachmann1-2/+7
The dummy typedefs for "get_platform_display()" and "create_platform_window()" were badly defined, which prevented building Weston on older systems. Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-03-27Pass config file from compositor to everythingPekka Paalanen2-0/+17
We have the Weston command line option '--no-config' which is meant to prevent loading weston.ini at all. It works for Weston itself, but it does not work for any clients that also want to read weston.ini. To fix that, introduce a new environment variable WESTON_CONFIG_FILE. Weston will set it to the absolute path of the config file it loads. Clients will load the config file pointed to by WESTON_CONFIG_FILE. If the environment variable is set but empty, no config file will be loaded. If the variable is unset, things fall back to the default "weston.ini". Note, that Weston will only set WESTON_CONFIG_FILE, it never reads it. The ability to specify a custom config file to load will be another patch. All programs that loaded "weston.ini" are modified to honour WESTON_CONFIG_FILE. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Jonny Lamb <jonny.lamb@collabora.co.uk> Reviewed-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-03-27shared: fail reading a directory as a config filePekka Paalanen1-0/+8
open() will happily open directories and other non-normal files. Attempting to parse them as config files makes no sense, so check that the opened file is indeed a regular file. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Jonny Lamb <jonny.lamb@collabora.co.uk> Reviewed-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-03-26platform: rename create_egl_window to create_egl_surfaceJonny Lamb1-6/+6
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-03-26platform: remove global variablesJonny Lamb1-26/+29
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-03-26platform: provide platform_base fallbacks and remove ifdefsJonny Lamb1-14/+33
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-03-20clients & tests: use eglCreatePlatformWindowSurfaceEXT when supportedJonny Lamb1-0/+23
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-03-20clients & tests: use eglGetPlatformDisplayEXT when supportedJonny Lamb1-0/+79
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-02-25shared: add file_create_dated() helperPekka Paalanen2-0/+158
For easy creation of unique new files. I'm looking at you, screenshooter. This code is based on timeline.c weston_timeline_do_open(). Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Tested-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Daniel Stone <daniels@collabora.com>
2014-11-19cairo-util: fix shadows for small clientsMarek Chalupa1-46/+83
If the client is small (< 128 pixels in any ward), then the shadows overlap and create dark lines behind clients. This is a problem mosly with pop-up menues. The lines become observable when the menu has less than three items. The other case is when the client doesn't restrict its size when resizing (try 'weston-eventdemo --max-width=1 --max-height=1' for example) This fixes a part of the bug: https://bugs.freedesktop.org/show_bug.cgi?id=78511 v2: - rework computing of the size of corners - rewrite some comments - rename tile_mask to render_shadow (in separate patch) Signed-off-by: Marek Chalupa <mchqwerty@gmail.com> Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-11-19toytoolkit: rename tile_mask to render_shadowMarek Chalupa2-8/+8
This function is used and clearly designed only for drawing the shadows. Rename it so that it has name after what it does and also move some common code into the function. Signed-off-by: Marek Chalupa <mchqwerty@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-22clients: Maximize window when double touch on title barXiong Zhang2-0/+56
Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
2014-09-11load_image: always print a message on failure if filename is not emptyBill Spitzak1-2/+12
It was rather inconsistent before. This may help users figure out why backgrounds and icons don't show up. A better api where the error can be queried might be nice, but this seems sufficient for current Weston use. [Pekka Paalanen: removed one stray space.] Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-11parse_options: fail on more malformed optionsBill Spitzak1-28/+69
Fail on trailing text after numbers, such as --width=100mm Fail on any text after booleans, such as --flag=false Also fixed reading of memory after the null terminator of a long option with no = sign in it. [Pekka Paalanen: some whitespace style fixes.] Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-04clients: Maximize window when double click on title barXiong Zhang2-0/+35
Signed-off-by: Xiong Zhang <panda0626@gmail.com> Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-08-22tests: allow running make check without make installDerek Foreman2-0/+15
desktop shell and weston keyboard both refer to themselves prefixed by LIBEXECDIR, however this is only valid once installed. make check will currently either fail or run pre-existing versions. This patch adds a way to override that location by setting the env var WESTON_BUILD_DIR - which is then set by the test env script so make check will test the versions in the build directory regardless of whether they're installed or not. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-08-19cairo-util: Draw solid titlebar for frames with only buttonsBoyan Ding3-5/+10
Previously geometry was changed to leave space for titlebar if a frame has only buttons but no title. This patch fixes theme_render_frame to avoid transparent titlebar. Signed-off-by: Boyan Ding <stu_dby@126.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-04-30cairo-util: Don't show a resize cursor on edges when we're maximizedJasper St. Pierre1-3/+8
This is substantially confusing to users, namely me. krh: Edited to just set grip size to zero.
2014-04-30cairo-util: Kill a duplicate testJasper St. Pierre1-2/+2
If !(x < margin), then clearly margin <= x. No need to test for it again.
2014-04-07Make sure config.h is included before any system headersAndrew Wedgbury1-2/+2
There was an issue recently in screen-share.c where config.h was not being included, resulting in the wrong definition for off_t being used on 32 bit systems. I checked and I don't think this problem is happening elsewhere, but to help avoid this sort of problem in the future, I went through and made sure that config.h is included first whenever system headers are included. The config.h header should be included before any system headers, failing to do this can result in the wrong type sizes being defined on certain systems, e.g. off_t from sys/types.h Signed-off-by: Andrew Wedgbury <andrew.wedgbury@realvnc.com>
2014-02-06xdg-shell: Add set_margin requestJasper St. Pierre2-0/+11
This is used to figure out the size of "invisible" decorations, which we'll use to better know the visible extents of the surface, which we can use for constraining, titlebars, and more.
2014-02-01build: Move shared/Makefile.am into toplevel Makefile.amKristian Høgsberg1-34/+0
2014-02-01build: Move clients/Makefile.am into toplevel Makefile.amKristian Høgsberg1-1/+1
2014-01-19shared/frame: NULL check before attempting to derefU. Artie Eoff1-7/+6
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2014-01-19shared/frame: fix potential memory leak in frame_createU. Artie Eoff1-18/+25
In frame_create, we need to destroy any frame buttons created in preceding calls to frame_button_create during the function execution if any of the successive calls to frame_button_create fail. This has minimal severity since most, if not all, cases in frame_button_create that result in a fail (i.e. NULL result) means a program is OOM and the program will have to exit/abort anyway. Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2013-12-02os: use posix_fallocate in creating sharable buffersPekka Paalanen1-1/+18
If posix_fallocate is available, use it instead of ftruncate. Unlike ftruncate, when posix_fallocate succeeds, it guarantees that you cannot run out of disk space, when later writing to the mmap()'ed file. With posix_fallocate, if os_create_anonymous_file() succeeds, the program cannot get a SIGBUS later from accessing this file via mmap. If there is insufficient disk space, the function fails and errno is set to ENOSPC. This is useful on systems, that limit the available buffer space by having XDG_RUNTIME_DIR on a small tmpfs. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2013-11-07cairo-util: Rework frame button handlingJason Ekstrand2-42/+122
This makes button handling more correct concerning drags. Also, frame_pointer_button returns the original button location in the case of a release. This makes filtering of button events much easier for users of the cair-util frame code. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
2013-10-23window.c: Don't put titlebars on menu windowsKristian Høgsberg3-49/+74
2013-10-23window.c: Use frame code for drawing menusKristian Høgsberg2-8/+20
This gives us a nice frame and drop shadows for the menus.
2013-10-14Use cairo-util frame in tinytoolkitJason Ekstrand2-1/+97
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
2013-10-13Add decoration frame support to cairo-utilJason Ekstrand3-0/+783
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
2013-09-26config: Don't crash if we don't have a config fileAlexandru DAMIAN1-1/+1
Adding a check in weston_config_full_path so that we don't crash if we started without a config file. Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
2013-09-21compositor: Log the full path of the config file we're usingKristian Høgsberg2-36/+40
2013-09-21config-parser: Make weston_config_parse() tkae a file nameKristian Høgsberg2-10/+14
Take a basename of the config file to parse instead of an fd.
2013-09-21shared: Remove no longer used parse_config_file()Kristian Høgsberg2-133/+0
2013-08-12evdev-touchpad: Set some options using weston.iniArmin K2-0/+30
This patch adds 3 new options to weston.ini to allow the user to change default constant_accel_factor, min_accel_factor and max_accel_factor. If no options are set, it falls back using defaults as it did before. v2: create weston_config_section_get_double and use it instead of manualy converting string to double. v3: add default values in weston_config_get_double instead of using conditionals. v4: don't pass diagonal as pointer.
2013-08-08Add zalloc(size_t) allocator functionPeter Hutterer1-0/+42
Same as calloc(1, len).
2013-07-25shared: Add out-of-memory handling to theme_create()Kristian Høgsberg2-5/+29