Commit Graph

17584 Commits

Author SHA1 Message Date
Mike Blumenkrantz 945f9506cf enforce fullscreen client stacking during nocomp end IFF client is fullscreen
previous behavior would result in the nocomp window becoming stuck at a fullscreen
layer when ending nocomp, even if the client was no longer fullscreen

fix T2827
2015-11-09 13:20:50 -05:00
Mike Blumenkrantz 9ffef78188 disable client menu stacking functions for unstackable windows
any client stacked higher than E_LAYER_CLIENT_ABOVE should never be
user-stacked
2015-11-09 13:11:26 -05:00
Stafford Horne fe4cd15782 e/desk_wallpaper: Fix setting wallpaper from within Virtual Desk dialog
Summary:
It seems this was missed when doing the manager/container id removal
back in march.  The param validation was failing and causing the "Set"
button to not work in "Screen > Virtual Desktops > Click to Change
wallpaper".

Test Plan:
1. Open "Screen > Virtual Desktops > Click to Change wallpaper"
2. Click "Set"
  - Expect that a wallpaper dialog be shown
  - Before this patch nothing happens

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3298
2015-11-07 22:52:21 -05:00
Mike Blumenkrantz b753b1bab4 Revert "force a software render in all cases when finalizing x11 client iconify"
This reverts commit 1a87463083.

no longer necessary
2015-11-07 13:12:14 -05:00
Mike Blumenkrantz bf2e36236c toggle x11 client iconic/mapped state based on mirror visibility
in order to continue rendering an iconic client without breaking icccm,
it's necessary to map the client's window again and unset iconic state
whenever rendering is needed, then re-set states when rendering
stops

ref T2788
2015-11-07 13:10:02 -05:00
Mike Blumenkrantz 18fba8e5d7 add e_comp_object_mirror_visibility_check()
can be used to check whether visible mirrors exist for a comp object
2015-11-07 13:09:23 -05:00
Mike Blumenkrantz 50e4a30126 add counter and smart callbacks for comp object visible mirrors
ref T2788
2015-11-07 13:08:12 -05:00
Mike Blumenkrantz d4614e1aad emit ibox icon signals to the internal edje object of the e_icon 2015-11-07 13:07:07 -05:00
Mike Blumenkrantz cc137f6cd7 move client iconic hint setting into x11 hide function
e_hints should probably be merged into the x11 compositor entirely
at some point
2015-11-07 13:06:23 -05:00
Mike Blumenkrantz f0cc657e4c break out x11 client visibility setting into util functions 2015-11-07 13:05:18 -05:00
Mike Blumenkrantz 4250a14861 set e_comp->gl for wayland compositors based on gl display bind success 2015-11-07 12:23:04 -05:00
Stafford Horne 7bedc8eea6 e/ilist: Fix issue with multiselect returning wrong index
Summary:
I noticed this because the description dialog in "Apps > Startup Application"
was never getting properly populated.

Test Plan:
When selecting items in the "Apps > Startup Applications" config the
description should update if a "Comment" field is available in the
.desktop file.

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3297
2015-11-07 12:11:53 -05:00
Stafford Horne 0f2f21f201 e/conf_apps: Fix resizing of "Startup Application" dialog
Summary:
Currently the config dialog in Apps > Startup Applications does not properly
resized as one of the objects is not set to horizontal fill.

Test Plan: 1. Resize "Apps > Startup Applications", it should resize the list with the window

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3296
2015-11-07 12:11:49 -05:00
Mike Blumenkrantz 76276a6c7c adjust efm multi-icon drag positioning by the current pan coords
fixes positioning when dragging multiple icons after scrolling
2015-11-05 15:31:16 -05:00
Mike Blumenkrantz f343a5403d account for window position in efm window drag initial positioning
fix T2819
2015-11-05 15:31:16 -05:00
shorne 5f3278eba8 e/win_config: allow content of some dialogs to resize with the window
Summary:
Currently the dialogs in Winows > Window List Menu and Window Display are
resizable the their content does not resize.  This patch fixes that.

Test Plan: Open windows in window config dialog and ensure they can resize propertly

Reviewers: zmike

Subscribers: raster, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3275
2015-11-05 16:03:26 +09:00
Mike Blumenkrantz fc01d6a24c check for wayland egl extensions before starting a gl compositor
when running in software mode, evasgl performs no checking to determine
whether gl is available, leading to a crash due to missing extensions
2015-11-04 12:23:05 -05:00
Nicolas Aguirre a8bf439f88 Revert "Adds eglfs to Enlightenment"
This reverts commit ff1e7b5083.
2015-11-03 08:01:58 +01:00
Nicolas Aguirre fe60c4fecd Revert "e_signals.c: Inclues Ecore_DRM only if WL_DRM is built and not only if WAYLAND is built"
This reverts commit 96e304bc90.
2015-11-03 08:01:42 +01:00
Nicolas Aguirre 56c3dde5e6 Revert "wl_eglfs: enable gl acceleration, mouse, touchscreen and keyboard"
This reverts commit c99d46ae66.
2015-11-03 08:01:35 +01:00
Nicolas Aguirre 31ce65a2c4 Revert "Don't load xwayland if it isn't compiled"
This reverts commit 496ae3746f.
2015-11-03 07:57:56 +01:00
Florent Revest 496ae3746f Don't load xwayland if it isn't compiled 2015-11-03 07:50:21 +01:00
Florent Revest c99d46ae66 wl_eglfs: enable gl acceleration, mouse, touchscreen and keyboard 2015-11-03 07:37:41 +01:00
Florent Revest 96e304bc90 e_signals.c: Inclues Ecore_DRM only if WL_DRM is built and not only if WAYLAND is built 2015-11-03 07:37:41 +01:00
Florent Revest ff1e7b5083 Adds eglfs to Enlightenment 2015-11-03 07:37:41 +01:00
Mike Blumenkrantz ae6416c27c add wayland egl client support
definitely not a feature, I promise™
2015-11-02 16:25:02 -05:00
Mike Blumenkrantz 35d0279d4f use e_comp->gl flag to set native surface state
e_comp_gl_get() is for determining if gl exists, not if it's being used
2015-11-02 16:25:02 -05:00
Mike Blumenkrantz e7d534ad80 fix comp object native surface config checking for non-x11 compositors 2015-11-02 16:25:02 -05:00
Mike Blumenkrantz b45e16ee23 add native surface (gl) clients to post render list
forgot to add this when I was redoing it for sw

ref 4d30674ab8
2015-11-02 16:24:53 -05:00
Mike Blumenkrantz cea91b111c Revert "queue pending buffers for wayland shm clients"
This reverts commit 1ee825d29c.

this was fixing the wrong problem and was not functioning accurately
in any case
2015-11-02 14:53:15 -05:00
Carsten Haitzler f40e664ec5 e exec tracker - fix tracking to update desktop files on efreet change
efreet will send change events meaning out desktop file icons are
invalid now. we have refs but content is junk. update these to new
desktop ptr handles by using the exec key to look up new ones on the
change event. this fixes ibar gainign a bunch of blank unknown icons
when any desktop files are touched on the system or user dirs

@fix
2015-11-02 12:28:27 +09:00
Mike Blumenkrantz d47252be4a simplify client SMART/EXPAND maximize
calling e_client_resize_limit() here was misleading since the values
were never used
2015-10-30 15:03:29 -04:00
Mike Blumenkrantz 21017889b2 adjust non-x11 client's saved frame geometry when changing csd
this seems to be a more comprehensive solution for retaining previous
window sizes after toggling various csd-affecting window states in wayland
2015-10-29 14:35:02 -04:00
Mike Blumenkrantz b9e51e1c0d Revert "when maximizing a wayland client with csd, use window geometry"
This reverts commit 6e5e51c2b8.

not a complete solution, makes client code somewhat unreadable
2015-10-29 14:34:32 -04:00
Mike Blumenkrantz 5469c3b680 add E_COMP_ENGINE env var to determine sw/gl
accepted values are 1, 2, sw, gl

toggling config options is a hassle when debugging
2015-10-28 12:55:09 -04:00
Mike Blumenkrantz 1f42932ede clean up some systray leaks 2015-10-26 13:11:32 -04:00
Mike Blumenkrantz 29a1fe0265 always unalias x11 client parent window <-> pixmap relation during delete
deleted state is not relevant, this should always be removed during deletion
to prevent further referencing of a deleted client

fix T2803
2015-10-26 13:02:34 -04:00
Flavio Ceolin a524d165bc modules:mixer: Avoid pa backend from crash
Check the pulseaudio's context error and if info is not null before
get server's information.
2015-10-24 19:10:40 -02:00
Carsten Haitzler 7fb597a8ab e - ibar - fix clash when 2 icons of the same path get added somehow
i encontered a situation where the icon_hash contained a garbage entry
- had been freed already. the only way i can see this happening is if
the desktop file changed path during runtime thus the icon was never
removed from hash on free as string didnt match. store string used
when adding to hash so removal is guarannteed to work and also for
good measure protect against double-adding (and generate a new string
for storage using timestamp which should be unique).

so this fixes a crash i was just looping on.

@fix
2015-10-24 11:01:56 +09:00
Mike Blumenkrantz 6e5e51c2b8 when maximizing a wayland client with csd, use window geometry
wayland clients which have csd must be resized according to window geometry,
not client (surface) geometry. this is somewhat tricky to handle because x11
clients which have csd work the exact opposite way and must continue to be
managed using client geometry

this is not my ideal solution for this issue, but I can't think of a
better one at this time which fully fixes wayland client maximization
2015-10-23 12:59:45 -04:00
Mike Blumenkrantz 7016c59c6f reject frame theme changes for clients which have CSD 2015-10-23 12:31:24 -04:00
Mike Blumenkrantz 98f418afa9 only apply frame geometry deltas for CSD if the CSD region exists
ref e931e86161
2015-10-22 19:25:07 -04:00
Mike Blumenkrantz 6692cefaf5 set client input rects more accurately, accounting for SSD 2015-10-22 19:24:11 -04:00
Mike Blumenkrantz 6f455ac9c3 enforce cw->obj pass_events state more accurately
changing the edje file of cw->shobj can change the pass_events state
of its child object, cw->obj
2015-10-22 19:22:48 -04:00
Mike Blumenkrantz 633c72f6af clip client input rect to client geometry, not window geometry
when using csd, the window geometry will be smaller than the surface,
resulting in an unusually small input region
2015-10-22 18:44:51 -04:00
Mike Blumenkrantz 14a9318ff9 defer all module error dialogs
due to the (current) synchronous creation of wayland surfaces in efl,
creating these dialogs during startup will result in a crash. the only
way to prevent this and still display the dialogs is to wait a bit and
show the dialogs after init has completed
2015-10-22 14:14:20 -04:00
Mike Blumenkrantz 18484e7eee completely remove access module
as promised almost a year ago, this module has been unmaintained to
the point where it cannot function in any way, and attempting to keep
it in the tree is a futile effort

this module can now be found at devs/discomfitor/e_module-access.git

ref 77717523f3
2015-10-22 13:52:31 -04:00
Mike Blumenkrantz d3f229d450 remove dead modules from whitelist 2015-10-22 13:18:14 -04:00
Mike Blumenkrantz 9bf2438ba9 unconditionally show opengl option in compositor settings
enlightenment is not always running in x11, so making this option
dependent on xlib will break other environments
2015-10-22 12:49:51 -04:00
Mike Blumenkrantz 6eefae4822 add hacks to work around pulseaudio+xwayland integration deadlocks
enlightenment is (I think) the first wayland compositor to run with
in-process pulseaudio integration for audio playback and not just mixer
support. hooray.

this results in a fun issue: if DISPLAY is set, as it must be for x11
clients to function, pulseaudio will unconditionally attempt to use a
blocking socket connection to create a connection to the running xserver.
the only exception here is if x11 support has been compiled out of pulseaudio,
but probably no distro will do that ever.

so, what happens when the compositor thread tries to create a socket connection
to the xserver that the compositor thread has not yet started? absolutely nothing.
forever.

the easiest solution which continues to provide the key press sounds that everyone
loves is to ensure that the pulseaudio connection is created before DISPLAY is ever
set, namely in the xwayland module init.

this will now occur automatically now in the case when the mixer module detects
pulseaudio support.

TL;DR: don't disable mixer module if you use xwayland
2015-10-21 17:19:52 -04:00
Mike Blumenkrantz e38051bae0 make comp config unresizable...again
ref 5178197f60
2015-10-21 15:17:25 -04:00
Mike Blumenkrantz 07b778a396 do not use ecore-x functions in scale config while running in wayland 2015-10-21 14:20:24 -04:00
Mike Blumenkrantz 28b022d033 append new keyboard resources for wayland focused-client to the focused list
fixes all cases where applications would fail to receive focus initially
and then be permanently broken
2015-10-21 14:06:31 -04:00
Mike Blumenkrantz a832bb8ded fix typo in wayland keyboard resource unbind list management 2015-10-21 14:06:31 -04:00
Mike Blumenkrantz 6451a65754 do not use x11 input windows for grab dialogs when running in wayland 2015-10-21 14:06:31 -04:00
Chris Michael 7b79e03937 Fix e_menu trying to swallow an object from a different canvas
_e_menu_realize was trying to swallow the menu->container_object into
the menu->bg_object, but the menu->bg_object was being created on the
compositor canvas, and the container object was being created on the
e_comp->elm_win.

With recent EFL changes, this causes an abort inside Evas.

To fix this, set the menu->evas to be the Evas from the e_comp->elm_win.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-21 10:26:18 -04:00
Mike Blumenkrantz e931e86161 update csd using deltas of previous values
when applying new csd to a window which already has csd, the previous
csd must be removed in order to apply any new csd offsets in order to
avoid unwanted moving/resizing
2015-10-20 12:20:24 -04:00
Seunghun Lee b44d4ad339 e-comp-wl-input: don't leak the initial keymap.
Summary: remove xkb_map_ref() for keymap in _e_comp_wl_input_keymap_update().

Test Plan: N/A

Reviewers: devilhorns, zmike

Subscribers: ManMower, cedric

Differential Revision: https://phab.enlightenment.org/D3173
2015-10-19 11:43:07 -04:00
Thierry b9e793053d mouse_config: fix accel threshold and numerator limits.
man xset =>  If the `threshold' parameter is provided and 0, the
`acceleration' parameter will be used in the exponent of a more
natural and continuous formula, giving precise control for slow motion
but big reach for fast motion, and a progressive transition for motions
in between.  Recommended `acceleration' value in this case is 3/2 to 3,
but not limited to that range.
2015-10-16 13:29:19 -07:00
Mike Blumenkrantz 1ee825d29c queue pending buffers for wayland shm clients
due to how deferred rendering works, it's possible for a client to
send a second buffer before enlightenment has rendered the first one.
in this situation, it seems that the best solution is to queue successive
buffers (frames) and pop the queue after each render

ref T2784
2015-10-16 15:48:46 -04:00
Mike Blumenkrantz 1a87463083 force a software render in all cases when finalizing x11 client iconify
since ICCCM requires that clients be unmapped while iconified, it's necessary
for the compositor to perform one last render prior to the unmap in order to
ensure that mirror objects will still appear as expected. this render must use
the pixmap buffer data in order to avoid timing issues due to async/deferred
rendering, and it is only necessary for the case of clients rendering with a
native surface

fix T2788
2015-10-15 15:39:07 -04:00
Mike Blumenkrantz 06f794bfe6 clear x11 client pixmap when returning from iconic
ensure pixmap remains usable during the entire hide process
2015-10-15 15:32:38 -04:00
Mike Blumenkrantz dc872be2df check systray dbus name existence before attempting to recover session
in the case that a system error occurs the dbus method for returning the
session name can fail, leading to a null return

CID 1327399
2015-10-15 13:13:22 -04:00
Mike Blumenkrantz 56ff9ead03 use dbus unique name for tracking systray sessions
the env var DBUS_SESSION_BUS_ADDRESS may not be set for all platforms
where enlightenment+dbus are usable, so it's necessary to get the dbus
id to ensure that this value exists and is properly tracked
2015-10-15 13:13:22 -04:00
Mike Blumenkrantz f6245e5535 reject deleted clients from x11 sync alarm event callback
E_Client->comp_data is null after a client has been deleted, so
attempting to handle events which require the dereferencing of this
pointer after a client has been deleted will result in a crash

these events should be rejected after delete regardless, since at this
time the compositor has stopped handling events for the client

ref f42c6aa187
2015-10-15 13:13:18 -04:00
Carsten Haitzler f42c6aa187 e - comps sync - ec client was null - i think, so protect against crash
i got a crash here and the bt was broken and i couldnt check if
_e_comp_x_client_data_get() returned null, but it's the only thing
that would make sense, so protect against this to avoid a crash. as
this was a one-off, i can't find out more,

@fix
2015-10-15 19:29:14 +09:00
Marcel Hollerbach adbb5719f0 systray: search for the best available resolution of a icon
For example in telegram the first icon which was transmitted was in a
pretty bad resolution, the new code searches the best res.
2015-10-14 22:40:47 +02:00
Mike Blumenkrantz 432d1e3776 cache systray items for each dbus session
the current spec does not directly require any behavior from clients
when a systray host, leading to an issue where clients do not re-register
their items when a new host appears

when using an in-process systray watcher, as the current implementation does,
the best choice for maintaining consistency for systray items across restarts
is to cache them according to the current dbus session. the process of setting
up the item will validate it on subsequent restarts, and changes to the session
will clear the cache

fix T2786
2015-10-14 16:30:41 -04:00
Amitesh Singh 71f7720669 e_flowlayout: typecast return value to int
Summary:
return value is small enough, so there is no risk in casting from unsigned int to signed int.

CID: 1267211

Reviewers: devilhorns, raster, cedric, zmike

Subscribers: seoz, sachin.dev

Differential Revision: https://phab.enlightenment.org/D3179
2015-10-14 14:02:07 -04:00
Mike Blumenkrantz 984d664eef trap shaped x11 clients and prevent compositor blocking with high rect count
in the case where a shaped window with many rects exists, there is a high
probability of the damage rect count being huge, leading to massive blocking for
each frame as the compositor attempts to fetch all of these rects from the xserver.

instead, the compositor can shortcut this by forcing a full-window damage any time
the rect count is sufficiently high, trading a blocking socket operation for some
amount of (potential) overdraw.

testing in affected scenarios has shown huge improvements: where previously the entire
compositor would lock up, things work as expected now

see https://bugzilla.mozilla.org/show_bug.cgi?id=1214746 for a sample case
2015-10-14 12:59:14 -04:00
Mike Blumenkrantz 00895ca014 do not return when x11 damage event returns no rects
ensure first_damage flag is set in all cases
2015-10-14 12:59:14 -04:00
Amitesh Singh de740b2520 pulseaudio: pass big data as pass by reference
CID: 1308394
2015-10-14 21:51:00 +05:30
Chris Michael d74273f732 enlightenment: Make sure we have a zone before calling
_bgpreview_viewport_update

@fix CID1324753

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:59:31 -04:00
Chris Michael 2cd6fcc3a9 enlightenment: Use 'fabs' to compute absolute value of floating point
types

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:38:14 -04:00
Chris Michael e856f7acbb enlightenment: #if 0 out an unused variable
NB: The function which actually uses this variable is also #if 0'd out

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:30:33 -04:00
Chris Michael d72af795ad enlightenment: Use 'fabs' to get absolute value of floating point types
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:28:38 -04:00
Chris Michael 2814066c39 enlightenment: Fix E_CONFIG_LIMIT to use the proper min & max values
e_config->backlight.idle_dim is actually an unsigned char in the
structure, so use a 0 & 1 for min & max

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:22:19 -04:00
Chris Michael 59ffe3bed2 enlightenment: Add missing field initializers for Eina_Rectangle
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:19:43 -04:00
Chris Michael a6661a2066 enlightenment: Add missing field initializers for Evas_Point
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:18:04 -04:00
Chris Michael 4acd72c64a enlightenment: Add missing EINA_UNUSED for unused function paramaters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:17:22 -04:00
Chris Michael fbc9b89d59 enlightenment: Add missing EINA_UNUSED for unused function parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:16:25 -04:00
Chris Michael dc4eb9ca0d enlightenment: Add missing EINA_UNUSED for unused function paramaters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:14:16 -04:00
Mike Blumenkrantz 98c44950b1 subtract x11 client damage region even when forcing full override damage
fix T2785
2015-10-13 22:38:50 -04:00
Mike Blumenkrantz f6be761226 force full damage for first frame of x11 override clients
it seems that damages for popup windows in some applications,
namely blink-based browsers, are reported incorrectly, resulting
in sometimes having a blank window
2015-10-13 17:09:00 -04:00
Marcel Hollerbach 8c77c613a1 Fix make distcheck 2015-10-13 22:06:00 +02:00
Marcel Hollerbach 2fd6f95a9b mixer: start app from bin directory
before the app was installed into the modules directory, now its
installed to the bin directory
2015-10-13 22:06:00 +02:00
Marcel Hollerbach 03888cf941 mixer: install icon and .desktop file 2015-10-13 22:06:00 +02:00
Marcel Hollerbach 57ec517904 mixer: install app to bin directory 2015-10-13 22:06:00 +02:00
Mike Blumenkrantz e8bcf1016f use correct param ordering for setting wayland client frame geometry
function uses l,r,t,b and not x,y,xx,yy

fix T2624
2015-10-13 13:31:47 -04:00
Mike Blumenkrantz 60a1dfaf4f remove duplicate surface size update for wayland clients during commit
this has already happened in e_comp_wl_surface_attach()
2015-10-13 13:25:15 -04:00
Tomáš Čech 10053f5d64 don't forget wl_desktop_shell's header in tarball
Summary: Merge branch 'master' of git://git.enlightenment.org/core/enlightenment

Reviewers: zmike

Subscribers: cedric

Maniphest Tasks: T2776

Differential Revision: https://phab.enlightenment.org/D3170
2015-10-12 11:56:45 -04:00
Carsten Haitzler 9c5b6acb05 e mixer - be more robust if pulse exits/crashes and def sink is null
ensure there are protections everywhere for when default sink is null
- mixer did crash when pulse crashed and a popup was to be shown...
2015-10-10 11:07:24 +09:00
Mike Blumenkrantz 45b7224b42 explicitly disable screensaver for wayland urgency wakeups 2015-10-09 15:23:15 -04:00
Mike Blumenkrantz 277eb14ace make wake-on-urgent apply for all cases of window urgency
in the case that an urgent window is set as urgent again, wakeup should
still occur
2015-10-09 15:21:41 -04:00
Mike Blumenkrantz ddc06559c7 apply _GTK_FRAME_EXTENTS for xwayland clients
not entirely sure this is worthwhile but may as well
2015-10-09 15:03:38 -04:00
Tom Hacohen 252198488c Intl: fix potential stack buffer overflow.
CID 1298051

@fix
2015-10-09 09:26:45 +01:00
Tom Hacohen 981e3f8f31 Client: fix potential out of bounds read.
This is an unsigned int underflow that could lead to an out
of bounds read.

CID 1291837

@fix
2015-10-09 09:19:53 +01:00
Mike Blumenkrantz 2ab7fed323 don't crash desktop gadget systrays when adjusting image sizing
desktop gadgets (gadman) do not have a shelf, so derefing that pointer
without checking will guarantee a crash
2015-10-08 12:23:07 -04:00
Carsten Haitzler acbf4a79b4 e comp data - actually ... NO visibility effect by default is right
so a bit of a config wipe had my comp config reset (some dev
shenanigans) and i got to see what current e "out of box" config is -
and it was horrid for menus. visibilitiy effect was broken. vertial.
default was none - always. forever. like empty. so go back to that. in
fact why do this visibility effect? that was the point of having a
different shadow in the theme - each has its own look + effect. this
makes things far more complex...
2015-10-08 08:27:38 +09:00
Mike Blumenkrantz 95b9770f08 when removing VERTICAL maximize state, also remove LEFT and RIGHT states
LEFT and RIGHT are supersets of VERTICAL which serve no purpose on their own,
so remove them when removing VERTICAL

fix T2770
2015-10-07 15:47:21 -04:00