Commit Graph

20780 Commits

Author SHA1 Message Date
Mike Blumenkrantz 0e3cc2f533 don't call e_client_unignore() when un-withdrawing an x11 window
these clients were not ignored on creation, so they've already triggered
all the relevant events
2015-09-25 22:37:16 -04:00
Mike Blumenkrantz 6b282ffe22 bump required efl version 2015-09-25 22:25:02 -04:00
Mike Blumenkrantz 2c73a0b311 map/unmap x11 client windows when toggling iconic state
ICCCM 4.1.4
2015-09-25 21:57:25 -04:00
Mike Blumenkrantz 80a9240e7a initialize pixmap size vars in comp resize interceptor
these are never uninitialized when they are used, but this
is not obvious to the reader

CID 1324956, 1324956
2015-09-25 21:57:25 -04:00
Mike Blumenkrantz ec7752cc90 set x11 supported atom array size correctly
CID 1324958
2015-09-25 21:57:25 -04:00
Mike Blumenkrantz 1c36bb8333 fix handling of x11 ICCCM WithdrawnState
according to ICCCM 4.1.4:
Only the client can effect a transition into or out of the Withdrawn state

withdrawn windows cannot be shown under any circumstances. the best that can
be done is to try mapping the window and hope it decides to appear.

to prevent any inadvertent showing of the window before it leaves the
withdrawn state, we play games with the E_Client->ignored flag in order
to skip client evals until we get notified that maybe we want to stop
skipping those evals

ref T2745
2015-09-25 21:56:14 -04:00
Mike Blumenkrantz 8a764901c6 check warp_client existence during pointer warp before dereferencing it
ref T2679
2015-09-25 16:26:50 -04:00
Carsten Haitzler 61ba406001 Revert "Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it""""
This reverts commit 2373b69c61.

stop crashing on restart
2015-09-25 08:23:39 +09:00
Mike Blumenkrantz 6252ac29da add csd case for compositor frame adjust messages
not 100% perfect, but close enough
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 7967f9983d move compositor frame adjust messages to pixels_get callback
native surfaces don't call e_comp_object_render()
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 5efb157c0c set comp object client_inset.calc based on frame_object existence 2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 2b38eb9712 block border-affecting client functions for csd clients 2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 14283ffefa block border-affecting entries from showing up in client menu with csd 2015-09-24 16:33:56 -04:00
Mike Blumenkrantz a4ebee266d fix e_shelf_position_calc() to not set struct members before applying them
fix T2743
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 39a39a41c8 add util function for determining if a client is allowed to have a frame
returns false if mwm borderless is set or if csd exists
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz b8322b2b0e fully support _GTK_FRAME_EXTENTS
gtk apps set an atom which provides information about the area
where non-window content (eg. shadows) may be drawn; this area
must not be used in placement calculations.

the easiest method for implementing this functionality was to add
a case to the compositor geometry interceptors which effectively
flip the client struct geometry values such that the E_Client->client
is outside of the more commonly used E_Client->x/y/w/h

fix T2744
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz d1454e4e1a broadcast support for _GTK_FRAME_EXTENTS
this is not actually supported yet, so behavior of windows using this
feature will be more wayland-like, eg. geometry determined by area
of window+shadow

fix T2744
2015-09-24 16:33:56 -04:00
Boram Park 6d2572efc0 Creating wl_shm global object before creating other global objects
Summary:
  It's more useful for client to bind wl_shm before receiving other global
  object's events. Then, App can quickly prepare some buffers. i.e. cursor,
  etc.

Signed-off-by: Boram Park <boram1288.park@samsung.com>

Reviewers: stefan_schmidt, gwanglim, raster, zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3080
2015-09-23 09:15:53 -04:00
Mike Blumenkrantz 5d8fcab8f7 add note for starting wl-x11 2015-09-23 07:28:32 -04:00
Mike Blumenkrantz 0978d22f8e fix systray implementation of notifier watcher (StatusNotifierItem)
previously, this would throw dbus errors (or not) and then do nothing in
many cases. now it manages bus/path names more effectively and falls back
to binary image data when an icon path is not available

fix T2626 and probably some others
2015-09-22 18:38:34 -04:00
Mike Blumenkrantz c9c880ec59 improve client exe_inst creation
ref T2679
2015-09-22 16:00:09 -04:00
Mike Blumenkrantz 4173bd0c0c add weekeyboard edj files 2015-09-22 15:03:39 -04:00
Mike Blumenkrantz 4ef9d9e518 attempt to maintain currently-selected kbd layout when modifying kbd list
the previous behavior would just set up the new layouts, resulting in
the first layout in the list being applied. now it should be the case
that if the current layout has not been deleted, it will continue to
remain in effect; alternatively if the current layout has been modified,
it's now more likely to be picked up and used
2015-09-22 14:17:35 -04:00
Mike Blumenkrantz f1faab997f only init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already occurred
allows xkb init to be called repeatedly
2015-09-22 14:16:20 -04:00
Mike Blumenkrantz 81ea29a715 fix shot module compile without x11 support 2015-09-22 13:54:28 -04:00
Mike Blumenkrantz 8b932b053e update xkb settings and send xkb update event when calling e_xkb_layout_set()
resolves issue where setting a specific kbd would fail to make settings permanent
as well as not propagating the kbd change to the rest of enlightenment

fix T1810
2015-09-22 13:44:18 -04:00
Mike Blumenkrantz 4173bd9977 calculate comp object visibility regardless of pending damages
in the case of clients on non-visible vdesks, this improves the reliability
of mirrored rendering
2015-09-22 13:14:51 -04:00
Mike Blumenkrantz 8399ab4ff9 do not emit client iconify signal when reapplying compositor theme
this has no effect other than breaking the animation counter for the
client and preventing it from being deleted
2015-09-22 13:07:15 -04:00
Mike Blumenkrantz 2373b69c61 Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it"""
This reverts commit 6bef668a8f.
2015-09-22 12:54:10 -04:00
Mike Blumenkrantz 32aa812701 redo client maximization when a non-overlap shelf changes geometry
this fixes the annoying case of needing to remaximize all windows when
a shelf resizes in order to account for new geometry
2015-09-22 12:42:39 -04:00
Mike Blumenkrantz f3edf38e49 clamp client geometry to zone during geometry calc
somehow it was possible for client sizes to overflow the zone geometry here
which would end up breaking maximization limits and result in clients
not respecting various geometry boundaries
2015-09-22 12:37:14 -04:00
Mike Blumenkrantz 37c146435d only unpopulate a shelf when applying new settings if the shelf won't be recreated 2015-09-22 12:36:41 -04:00
Mike Blumenkrantz 4eaeabc1c3 block gadcon thaw on unpopulate when gadcon is deleted
saves a huge amount of unnecessary calc time
2015-09-22 12:36:12 -04:00
Mike Blumenkrantz ae919fe716 unset E_Client->want/take_focus flags during client eval
ref 4a33cd7ba0
2015-09-22 12:03:09 -04:00
Carsten Haitzler f0ea0c94ca e config - cache sizes in config don't actually work, so remove
remove several config vars in advanced performance that frankly don't
work (unless you change them int he dialog). they are not set up on
startup or not even used at all. remove things that don't work anymore!

@fix
2015-09-22 14:06:40 +09:00
Carsten Haitzler d948225714 e - fm - flush all evas caches to get rid of open file handles b4 umount
this should fix open file handles on unmount by flushing caches first.
not great, but works. long-term have evas not keep file handles open
for 0 refcount cached items.
2015-09-22 13:17:10 +09:00
Mike Blumenkrantz 498936e417 apply vertical maximize algorithm for LEFT/RIGHT maximized windows 2015-09-21 19:52:14 -04:00
Mike Blumenkrantz bfbdf5106a move focus setting on restart into desk restore function
the focused client on restart needs to be set after desk states
have been restored in order to avoid focusing the wrong client
2015-09-21 19:19:15 -04:00
Mike Blumenkrantz 4a33cd7ba0 only set focus on clients which are visible during client eval
focusing a client will automatically uniconify and desk flip, so
setting focus on a hidden client should be avoided during eval since
these focus-sets are not "user triggered"

this fixes issues where clients could randomly grab focus from other
desks and also restores expected behavior when restarting e on an
empty vdesk
2015-09-21 19:19:01 -04:00
Mike Blumenkrantz 7056d598c4 do not return non-visible clients for e_client_under_pointer_get()
a hidden client should not be considered "under the mouse" since its
geometry is undefined until it becomes visible again

fix T1069
2015-09-21 17:50:48 -04:00
Mike Blumenkrantz 342fa1880a remove backlight update calls from backlight module
these are no longer necessary since the backlight value should be
kept up-to-date by the core backlight infra
2015-09-21 17:22:55 -04:00
Mike Blumenkrantz 4e811057f3 add eeze watch for backlight events
when using "system" backlight mode, ensure that events are processed
as they occur so that the available backlight level is in sync with
the actual backlight level

fix T2255
2015-09-21 17:22:44 -04:00
Mike Blumenkrantz a04b3e4d94 only lower x11 layer windows for layers which have windows during init 2015-09-21 16:53:29 -04:00
Mike Blumenkrantz 6aa2342b7e decode .desktop link and directory uris in fileman menus
fix T1922
2015-09-21 16:16:00 -04:00
Mike Blumenkrantz 8491e11570 always set alpha for internal wins
due to the presence of color classes on internal windows, e must
ensure that users who set translucent colors for window base objects
get transparency as expected on those parts of the window. it's impossible
to determine in advance whether alpha is needed, so it's best to just
set alpha in all cases

fix T2050
2015-09-21 15:16:30 -04:00
Mike Blumenkrantz 6b1affe6f1 make bgpreview widget work with panoramic wallpapers 2015-09-21 15:03:41 -04:00
Mike Blumenkrantz 3762dd6caf send FLOAT_SET edje messages during desk flip
panoramic wallpapers are created to expect this type of message

ref T2219
2015-09-21 15:03:35 -04:00
Mike Blumenkrantz ae79929400 distribute weekeyboard edj files
creating these during dist is problematic due to filename length limits
so they will need to be precompiled
2015-09-21 13:09:01 -04:00
Seunghun Lee 945683824b Add initial module of weekeyboard as a wayland virtual keyboard.
Summary:
Depends on D2275

this module is a virtual keyboard used in wayland.

Test Plan:
<prerequisite>
- Configure with --enable-wl-weekeyboard.

1. run enlightenment as a wayland display server.
2. run weston-editor which has text entry using wayland protocol.

Reviewers: devilhorns, raster, ManMower, jonc, zmike

Subscribers: bryceharrington, jonc, jihoon, cedric, ManMower

Differential Revision: https://phab.enlightenment.org/D2858
2015-09-21 12:51:07 -04:00
Mike Blumenkrantz 7d2a55f7e9 add function to blank out a client's rendered image
when working with Extremely Serious effects, it may be the case that
a user is rendering at such an advanced level that any attempt by
enlightenment to perform rendering will be like a child trying to
reproduce a masterpiece of art while using fingerpaints

https://www.youtube.com/watch?v=tY6qag5KFx0&hd=1
2015-09-17 19:08:27 -04:00