Commit Graph

374 Commits

Author SHA1 Message Date
Elyes HAOUAS 3524bc167c tree-wide: get rid of trailing whitespace (part 1)
Remove trailing white spaces.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11780
2020-05-14 12:30:31 +02:00
Carsten Haitzler 38f9b6861f menus - allow them on fullscreen windows if they are not override 2020-04-30 00:45:21 +01:00
Carsten Haitzler 6d8b24aef5 e - profile send to efl wins - fall back to getting ellm profile
use elm profile THEN .. if that fails use standard.
2020-04-19 13:44:32 +01:00
Carsten Haitzler 2f52f093b6 simplify stacking rules to be a bit dumber so stacking works better
fixes T8652
2020-04-12 16:52:40 +01:00
Carsten Haitzler 42100a1ae7 e - fix fullscreen state revert on focusing of another window if child
check the newly focused window is not part of a parent tree back to a
fullscreen window e is considering unfullscreening on loss of focus.

fixes T8651

@fix
2020-04-11 23:11:33 +01:00
Carsten Haitzler 1e2d589b14 csd - fix size hint handling and sizing to not be broken
gtk and efl can use csd. we kind of were copying gtk's but we got it
wrong... in efl. and in etoo as a result. this fixes it to use
min/bas/max size as covering the whole window including the insets.

@fix
2020-01-17 22:06:14 +00:00
Carsten Haitzler 60324a7b2c steam - special workaround for bad steam games so they match desktops
many steam games don't provide much in properites - not enough to
match to a desktop file. the only thing that actually consistently
works is to use the STEAM_GAME property and match thyat to the uri
provided to the steam command in the exec of the desktop file. this
actually can work. nothing else works reliably across the board.

and man can games be horrible and playing nice with desktops and
having poor properties. even steam itself is not good. i had to add a
workaround for that too to match steam-runtime explicitly. :(
2019-11-10 01:33:39 +00:00
Carsten Haitzler 6375d1a726 err logs - fix up some of the err logs i see accessing invalid objects 2019-11-08 08:45:31 +00:00
Carsten Haitzler 7edb3550dd win stacking - fix stacking transients if there are multiple
if 1 parent has 2, 3 or 4 etc. transi3ents as immediate children we
reverse-stacked them. go to stacking them in order they are added
(which would normally bve creation order which makes more sense). this
stops some dialogs appearing intitally behind other dialogs that were
there before.

@fix
2019-10-30 11:18:46 +00:00
Carsten Haitzler 48c4ea17f2 e - fix up resize/move by kbd to work again
this used to work years ago ... it seems tihave broken. this fixes it
all up to work again so you can bind a move/resize of a window tothe
kbd and then use arrow keys etc. like you used to....

@fix
2019-09-04 19:17:12 +01:00
Carsten Haitzler b30daea12c e client - check picmap type to be one of the only 2 valid ones
fix CID 1403938
2019-08-06 18:51:08 +01:00
Carsten Haitzler 540db8bd41 e - fix stacking of transients to be in newness order bottom to top
so a parent transient shows 2 dialogs... both are transient for the
parent. the newsewst one gets stacked below the older one. this leads
to really bad things like a new "are you sure" or "have an error"
modal dialog is not visible and things seemingly freeze in the
client... so stack them in order they are created instead. also handle
transients WITH transients of their own correctly this way too.

@fix
2019-06-03 12:46:09 +01:00
Carsten Haitzler 6321664f08 e - winlist/client - don't leave dangling action on window
as winlist doesn't target specific windows ... don't leave the action
on the window dangling there. finally fixes T6415
2018-11-20 19:08:25 +00:00
Mike Blumenkrantz a6277f4f6d resolve a number of cases where a null object was passed to efl functions
Summary:
these are all harmless but will trigger error messages from efl

ref T7030

Depends on D6315

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6316
2018-06-19 12:01:43 -04:00
Thanatermesis ca99207bdc Fix for window borders to accept edje icons
If you have edje icons installed in your system (efreet smartly searches
the candidate icon based in your Icon= entry), they works correctly in
the menus, bar, etc... but doesn't works in the window borders icon,
this is because the code try's to add it without dealing with the .edj
extensions, probably attempting to load multiple image types and
returning some errors/warning, resulting in an empty icon in the window
borders

Fixes T6723
2018-02-22 19:35:38 +01:00
Mike Blumenkrantz 7b31d05ff2 unset E_Client->changes.pos when attempting to maximize a new re_manage client
a remaining client from before a restart which is maximized does not need its
position adjusted; this will cause it to go offscreen when unmaximized

ref T6414
2018-01-12 12:26:21 -05:00
Mike Blumenkrantz 6c97716899 use e_zone_desk_useful_geometry_get() for all client maximize geometry fetching
fix T6414
2018-01-12 12:26:21 -05:00
Mike Blumenkrantz f05b26c8a3 set zone/desk for clients after creating comp object
previously this resulted in attempting to move the comp object before it
was created, but evas does not throw any errors when null is passed and so
it was never noticed

fix T6317
ref T6326
2017-11-08 09:29:28 -05:00
Mike Blumenkrantz a7d5920ba6 unset E_Client->changes.pos for re_manage clients
I think this was unintentionally working around a placement bug?
2017-11-08 09:28:52 -05:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Mike Blumenkrantz e7cfd06675 avoid performing client rescales during shutdown 2017-11-07 10:40:00 -05:00
Mike Blumenkrantz b5320b6246 explicitly free client animation agent object during fullscreen operation
ensure that animations do not persist after fullscreen state has been set
2017-10-31 12:04:48 -04:00
Mike Blumenkrantz bbb3ec1fc5 unset client's mouse-in state on mouse out even while fullscreen or deleted
the state should always be updated regardless of these attributes
2017-10-27 13:21:03 -04:00
Mike Blumenkrantz ef69fabd47 add client refs for the nocomp client
this client may be referenced after deletion during render loop

fix T6151
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 1d5977c02a do not unnecessarily rescale clients
this function is mainly for rescaling maximized/fullscreen clients to fit new
dimensions, so don't call on other clients since this can trigger unwanted resize
 events
2017-09-28 13:03:37 -04:00
Mike Blumenkrantz 15ea006eb5 block client rescales during render updates
this guarantees misrenders
2017-09-28 13:03:37 -04:00
Mike Blumenkrantz 11a08ebc30 don't perform zone updates on client resize
zone updates should probably only happen on client moves, not resizes

ref T6023
2017-09-21 13:31:01 -04:00
Mike Blumenkrantz 9727710647 hide clients again after show in idler if clients are on hidden desk
clients need initial show to correctly handle mirror visibility but should
then be hidden again

ref 0ee8cc896e
fix T6024
2017-09-14 12:45:45 -04:00
Mike Blumenkrantz b77e01e1dd use EC_CHANGED when setting changed flag in client idler 2017-09-14 12:43:15 -04:00
Mike Blumenkrantz 20ea0ed150 add/use helper function for rescaling individual clients
in any case where client needs to be rescaled to use new screen geometry
certain things must happen, such as handling shaded state and forcing the
new geometry to be applied
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz 378e371e74 remove fullscreen clients from vdesk clients list when toggling sticky state
fix T5988
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz 72b979ca2b handle first time desk setting for fullscreen clients without crashing
ref T5988
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz ef6197b119 do not force client focus setting after calling e_desk_last_focused_focus()
in some cases focus setting must be deferred, and forcing focus in these cases
will create focus bugs

ref 9ae24a3a4a
2017-09-01 13:40:12 -04:00
Carsten Haitzler 9ae24a3a4a e client focus - fix focus if moving focused window to new desk - long
fix client focus the very very very long way vs
418319fc94
2017-09-01 19:29:03 +09:00
Carsten Haitzler 418319fc94 e client focus - fix focus if moving focused window to new desk
if the window being moved to a new desktop is focused, then ensure
after the move to restore focus to the last focused in the focus stack
for this desk to something stays focused.

@fix
2017-08-30 16:13:50 +09:00
Mike Blumenkrantz ec047b1a98 perform client zone updates on canvas move/resize when not ignored
overrides still need zone updates here
2017-08-25 14:47:10 -04:00
Carsten Haitzler da791a0bf5 e mixer - handle pulse exit/disconnect and not keep e client sinks
we keps e client sinks even if we were dicsonnected from pulse... this
caused fun crashes. fix

@fix
2017-08-20 01:02:03 +09:00
Mike Blumenkrantz 5f87fbca2e only set new clients to current desk if desk has not yet been set
placement policies can override setting windows onto the current desk
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 2b984e68b9 add MISC client property event to be manually triggered whenever misc props change
there's too many properties to create flags/events for all of them, so just use this
if it's one of the many misc props

currently only used for skip_{pager,taskbar,winlist}
2017-08-18 15:52:50 -04:00
Carsten Haitzler 4fe7827af2 fix fallthrough warnings and tag as fallthrough
this code was intending to do this.. so tag as such
2017-08-05 12:37:39 +09:00
Mike Blumenkrantz cb3911cc3a make client size hints apply more accurately
* clamp min/max first
* only apply step adjustments when obeying min/max sizes
* make aspect calculations more accurate
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 2c3f65d6f8 apply client hints when rescaling a client
ensure rescales obey hints
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 4e86fb57e1 restack child windows on parent_set() even if child is ignored
ensure that this happens as expected since it may not occur elsewhere for
some cases
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 0b887245cc remove left/right maximize before removing vertical maximize
ensure maximize states are removed accurately and in the right order

ref b48419c577
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 94633fbde1 fix wayland-only build 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz b7776798c7 don't attempt desk flips from client move handler
this should be handled by normal zone handlers now
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 07d4f3bcf6 don't call comp object cleanup functions for clients without comp objects 2017-06-30 10:25:18 -04:00
Mike Blumenkrantz d0accb8e52 block pointer warping on override clients
this is never okay
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz bb1d7790b0 force shape queue when adding/deleting action client event grabber
ensure that this is normalized to provide consistent behavior before
and after actions begin/terminate
2017-06-26 14:48:03 -04:00
Mike Blumenkrantz 63f3fe949c block "user" client resizes during comp client updating phase
resizing objects triggers clip resizes and further event feeding which
can propagate mouse events such that clients try to resize themselves
during the update phase, resulting in illegal compositor behavior
2017-06-24 12:34:12 -04:00