Mike Blumenkrantz
6f186db24b
clamp expanding gadget size to 0 to prevent sizing overflows
...
if the expanded size is negative then the size should be 0 and the gadget is
not visible
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
7c726172e4
handle gadget site layouts using accurate parent geometry
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
42d707909e
simplify focus on commit block for wl clients
...
none of this applies to popups
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
001085f349
do not set E_Client->take_focus for popup wl clients
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
984a1facd9
pass keys through xkbcommon under wayland lockscreen
...
ensure that key states are retained when unlocking
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
4ae2145330
move gadget editor help text onto the editor popup
...
ref T4648
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
2d2ad13537
add comp object function to get the content of a util_add object
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
129bb14d2d
don't show xwayland clients unconditionally on commit
...
ensure that the client's desk is visible
fix T6024
2017-10-03 12:39:03 -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
80349d417d
Revert "do not perform client moves during comp updates"
...
This reverts commit def2b0c5fc
.
breaks some resize directions
2017-09-28 13:03:37 -04:00
Stephen 'Okra' Houston
bb4d69519f
E Exe: Semi revert 2082bb51d3
. The ref count was off to begin with.
2017-09-26 22:11:21 -05:00
Stephen 'Okra' Houston
2082bb51d3
E Exe: Since we no longer ref clients in the phony cb, don't free them after reffing them in instance_client_add.
2017-09-26 22:01:15 -05:00
Derek Foreman
a85a602a39
Revert "Set close on exec for stdin"
...
This reverts commit 40e8bb044c
.
EFL master solves this properly
EFL stable currently has a bug that solves this accidentally
so there's a window of about 3 commits in git where it's a problem,
and nobody should run those commits in production :)
This fix caused some problems when restarting E, as stdin would
cloexec and then the following startup would try to set cloexec
on an invalid fd and generate an err that generated a cri because
of an invalid log domain.
Someone should probably figure out the log domain thing.
2017-09-26 14:19:24 -05:00
Derek Foreman
f4f08ee99a
Stop queuing wl_buffer release events
...
Now we just kick them out immediately.
2017-09-26 11:41:19 -05:00
Mike Blumenkrantz
1f650605a0
emit E_EVENT_EXEC_NEW_CLIENT with phony exes
...
partially fix T6071
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz
576c8d0864
use client geometry for visibility effect geometry, not comp object geometry
...
clients may defer object geometry setting, resulting in unreliable values here
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz
3b319b5ef9
don't do full client rescale on x11 hint change if not maximized/fullscreen
...
regular windows don't get moved here, only resized if hints change
fix T6072
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz
8d55575bcf
remove input-only client fastpath to resize crashes
...
ref T6023
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz
def2b0c5fc
do not perform client moves during comp updates
...
this can trigger zone changes, which triggers resizes, which is bad
ref T6023
2017-09-26 12:26:18 -04:00
Derek Foreman
51c492fcad
use safer ecore_exe flags that close stdin/out/err more often
...
commit b9d166f804
introduced
safer exe functions that both prevent a child from having E's
stdin/stdout/stderr and ensure the child's fd 0 (and 1 and 2) are
"valid" file descriptors (to work around some buggy software that
assumes 0 is an invalid file descriptor)
This commit uses the safer functions when launching child programs from
the desktop menu as well.
ref T5606
@fix
2017-09-25 10:10:49 -05:00
Carsten Haitzler
b9d166f804
use safer ecore_exe flags that close stdin/out/err if possible
...
this is specifically needed for wayland but is relevant to x with
startx too ... dont let processes that e runs like apps inherit
stdin/out/err as it may be a tty and thus allow apps to do nasty
things with that tty.
@fix
2017-09-23 23:10:35 +09:00
Derek Foreman
40e8bb044c
Set close on exec for stdin
...
ref T5606
2017-09-22 21:02:32 -05:00
Derek Foreman
077ae06955
Fix wayland frame callback failure
...
Turns out ecore_animator_add() can randomly pick the wrong canvas to use as
a tick source. Using EFL_EVENT_ANIMATOR_TICK on the compositor evas instead
will ensure we don't accidentally pick an internal window for a tick source.
Fix T6070
2017-09-22 17:00:25 -05:00
Mike Blumenkrantz
4d0ceeb02c
add fd passing to aux hints protocol
2017-09-21 13:31:01 -04:00
Mike Blumenkrantz
5694d7af96
add action router action to route specific key presses to specified clients
2017-09-21 13:31:01 -04:00
Mike Blumenkrantz
5da5418873
add a client parameter to wl key down/up event processing functions
...
if passed, send the event to the specified client
2017-09-21 13:31:01 -04:00
Mike Blumenkrantz
92614d0c69
store the currently active key binding as an accessible variable
2017-09-21 13:31:01 -04:00
Mike Blumenkrantz
8cc46fb201
make e_bindings_modifiers_from_ecore() an externally usable function
2017-09-21 13:31:01 -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
Chidambar Zinnoury
0666cd7249
e menu: Fix missing realize when using key-activation to the right.
...
See commit 474463ef6c
, SVN r39698.
2017-09-19 12:50:39 +02:00
Chidambar Zinnoury
0adec92696
e about: Year++.
2017-09-18 22:57:06 +02:00
Mike Blumenkrantz
62acd53a96
avoid div by 0 in gadget layout
...
CID 1381165
2017-09-15 12:16:48 -04:00
Mike Blumenkrantz
98dbaa9090
fix clickable edge binding activation with other mouse buttons
...
check for the button specified in the binding, not whether the event
contains a click
fix T4510
2017-09-14 15:00:50 -04:00
Mike Blumenkrantz
00daafac10
flag zone/edge mouse binding activation with ON_HOLD
...
ensure multiple bindings aren't triggered by the same event
2017-09-14 14:59:14 -04:00
Mike Blumenkrantz
283a1cd620
handle unmovable gadgets in gadget move action
...
a gadget which refuses to create a duplicate of itself can be considered
immobile
fix T5998
2017-09-14 14:38:14 -04:00
Mike Blumenkrantz
49e2a31cfc
block recursive mouse eventing in bryce action handlers
...
ensure that only the outermost event adds a post callback to avoid
triggering actions multiple times
2017-09-14 14:37:12 -04:00
Mike Blumenkrantz
ccd374e6a2
add some hidden boxes to use as gadget popup hover parents
...
boxes get resized with zone useful geometry to ensure the content is always
on screen and visible
fix T5945
2017-09-14 14:00:39 -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
Carsten Haitzler
6972a97d5d
e start - fix path prepend/append if already in path assuming clue
...
"
I have a directory at the head of my PATH that contains alternate
versions of command line utils like grep, ls, etc., but E puts
/usr/bin ahead of it, overriding my tools of choice with the system
defaults.
If my understanding is correct, the only way currently to have
directories that E prepends to your PATH appended instead is to use
-i-really-know-what-i-am-doing-and-accept-full-responsibility-for-it.
I'd like to see a more sane option if there isn't one already.
Alternatively, I wonder if it wouldn't be a better idea to only
prepend directories to PATH if they aren't already contained within
it--thereby preserving the user's desired search order.
"
this should fix T5953
@fix
2017-09-13 18:32:38 +09:00
Mike Blumenkrantz
a5bb9932ee
revert gadget ctxpopup autopositioning attempts
...
I don't think this method would ever have worked reliably
This reverts commit 6f1b75e87b
.
This reverts commit 84e999f5f3
.
2017-09-12 14:37:53 -04:00
Mike Blumenkrantz
6bd97ced9b
handle gadget site layout when last gadget in site is a spacer
2017-09-12 13:36:39 -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
4f28e49f46
handle shade <-> unshade toggling in same frame
...
this should result in a no-op instead of a fail-op
fix T6006
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz
500b9a2eb2
use animator del function to delete comp object animators
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz
721eeb994e
make spacer gadgets smarter when multiple spacers exist
...
* ignore consecutive spacers
* attempt to size/fill consistently based on occupied space
fix T5973
2017-09-12 13:21:04 -04:00
Carsten Haitzler
9eebe065c2
e powerszve - fix sleep timeout for select to be correct
...
bad inverse fmod and using int not double first before converting to
microseconds...
2017-09-12 11:03:50 +09:00
Al Poole
b304e77f64
filepreview: unbreak netstar's changes.
...
The previous broke the video preview size. Was too complicated.
Generally just sucked. This is simpler. I don't want to touch
this again. Sorry!
2017-09-10 22:41:09 +01:00
Al Poole
12e0303e4b
filepreview: show mime type icon when not video and no artwork.
...
This adds the icon associated with the file type to the preview.
If there's no artwork available the audio preview will no longer
be a large void, the mimetype icon will display.
2017-09-10 13:05:44 +01:00
Al Poole
8a9de1de69
filepreview: add support for album artwork in preview when applicable.
...
When available preview will display album artwork when previewing audio.
2017-09-09 22:23:14 +01:00
Carsten Haitzler
6502f030c9
fix nested wayland in x11 mode with getting canvas zone geometry
...
yup. was broken. fixes T5993
@fix
2017-09-09 11:56:16 +09:00
Carsten Haitzler
1d610fd609
fix up window+screen positioning fixup so it doesnt catch other clients
...
so some other clients like mpv also try to explicitly position their
windows (like centering on screen 0 ALWAYS) and this now gets caught
up in trying to detect libreoffice doing the same thing for
presentations. so only support this is the app has explicitly
requested initial positionin explicitly and then use pending configures.
2017-09-09 11:18:15 +09:00
Carsten Haitzler
041748b017
window focus - fix focus switch action next/prev walk dead code
2017-09-09 09:57:22 +09:00
Derek Foreman
9566b72e86
Fix crash when processing a wayland client cursor set after death
...
It looks like the only way we can get here with NULL resource data
is when we explicitly cleared it in the del hook, meaning the client
is dead to us. In this case it's ok to ignore the cursor set request.
ref T4988
2017-09-08 14:38:08 -05:00
Mike Blumenkrantz
7fd3e2e798
restore 'application name' remember setting in dialog
...
broken in 6e8070d226
fix T5991
2017-09-07 14:13:01 -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
8f26d33d11
warp pointer to center of internal dialog on show if dialog has focus
...
ensure that pointer-based focus policies do not experience unexpected focus
changes when a dialog changes from basic<->advanced
ref T1931
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz
739eb9b679
add more files to autotools dist
2017-09-06 13:32:25 -04:00
Mike Blumenkrantz
5dc267ec84
block all desk flips during window resize
...
this breaks *
fix T5984
2017-09-06 13:32:25 -04:00
Derek Foreman
cc5eec5cc3
Remove bogus EINA_UNUSED
...
move along, nothing to see here.
2017-09-01 15:13:41 -05:00
Mike Blumenkrantz
6f1b75e87b
disable auto positioning of gadget ctxpopups for now
...
ctxpopups 2hard4me atm
2017-09-01 15:39:33 -04:00
Mike Blumenkrantz
df1e21b120
reset zone edge objects after comp canvas update
...
fix T5969
2017-09-01 13:54:54 -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
Mike Blumenkrantz
8ea5cf9c47
add desklock gadget site event rect to event grabber while editor is visible
...
allow actions to trigger on gadgets during editing
ref T4648
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
46cd0090cd
stack gadgets below site event rect when reparenting gadget
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
e5dd1f12f3
set shaped client image alpha after setting image data
...
avoid triggering render sync with old image data
fix T5957
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
b492e87851
use correct string for randr screen fuzzy matching
...
using the full edid string results in infinite recursion
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
75a12a9461
check for matching '/' in screen edid before fuzzy matching in randr init
...
if no / exists then this function is pointless
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
6dd9205e0a
rename E_EVENT_COMPOSITOR_RESIZE -> E_EVENT_COMPOSITOR_UPDATE
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
1ca1201110
recalc desktop gadget sites on compositor update event
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
f8a599d525
avoid adding render updates on client resize while shading the client
...
this results in a blank render
fix T5929
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
1a651f23af
return during client pixel callback if pixmap is dirty and no updates exist
...
this probably indicates a client update is needed in order to complete the
render, so the existing data should be reused since nothing will render now
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
026ce1a43e
move pending client render queue in pixel callback to before render call
...
no functional changes
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
a76e9aa8fe
do not reset existing client damage on resize if tiler size matches pixmap size
...
this probably indicates a case where the client wasn't actually resized and the
compositor is doing something like shading a window
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
84e999f5f3
track gadget ctxpopups and reposition within zone on resize
...
this attempts to shift the ctxpopup content vertically and horizontally to
keep it on the same screen that the gadget is on
fix T5945
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
2afaea3b49
remove e_util_pointer_center()
...
this is yet another utility function which duplicates code from elsewhere and
does it incorrectly
fix T3164
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
9076301213
use focus_set_with_pointer to focus from clients menu (middle click)
...
fixes pointer warping for this case
2017-09-01 13:40:11 -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
Derek Foreman
42d3e30f5c
Handle wayland frame commits with no surface damage better
...
Previously we immediately kicked back the frame callback when a client
sent a surface frame without damage. This let clients that use frames
for timing proceed, but they generally just send another frame right
away and spin in this way until they reach their intended render time.
Now we use animators so the frame callbacks will be limited to the
animator tick source's frequency.
ref T5850
2017-08-31 14:44:58 -05: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
Carsten Haitzler
5ec93f15ff
e actions - add actions for moving focus around - feature request
...
was simple. winlist already had it. added action to focus next/prev or
up/down/left/right. useful for tiling... :)
@feature
2017-08-29 20:31:30 +09:00
Mike Blumenkrantz
1d72713dc0
use int array for client maximize hint state update
...
CID 1379946
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
e707576e81
check returns for read/write to powersave fds
...
CID 1379942
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
8717a4a020
initialize stack variables
...
CIDs 1379939, 1379943
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
43d837d681
don't pretend randr mode can be null when it can't
...
CID 1379945
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
c7c4470ae0
force client render on mirror show for clients which have not yet been rendered
...
this is the same mechanism in e_comp_object_dirty() which applies now if a
mirror is created for a previously-dirty client
fix T5937
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
a188c4751c
Revert "handle updates_full when adding comp object update regions"
...
This reverts commit fac907e0c5
.
this was already handled and I'm dumb.
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
fef7941083
set elm profile to match e profile during startup
...
this is actually broken, as is entire the concept of using mixed e+elm configs.
if a user manually changes the profile, e.g., for a single app, then this will
overwrite the global profile name. similarly, setting the profile in this manner
overwrites the global profile, causing all existing apps to switch to that profile
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
1902befc92
Revert "force recalc on bryce scroller when doing recalc on gadget site"
...
This reverts commit 87515abd2a
.
this breaks scaling since the min size must be reset in order to trigger a
resize
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
175c614838
add spacer gadgets for bryces
...
this is a rectangle which dynamically resizes based on the available space
in the bar. it can only be added when autosize is disabled, and setting
autosize will remove all spacers
fix T5914
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
2e0638e87a
check whether gadgets are elm objects before calling elm functions
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
f806dae1e1
track setxkbmap processes and allow only one to run at a time
...
fix T5188
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
0f5b287866
add gadget api for determining if a gadget site is a desklock site
...
potentially this could be improved to use a vastly overengineered 'policy'
setup, but for now this fits the biggest use case
ref T4648
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
a72b88c0e7
handle bryce setup when theme is broken
...
fix T5889
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
db264cca49
simplify placed flag setting during wl surface commit
...
this should result in fewer cases of windows randomly warping around...
...
maybe
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
57176bf29d
do not rescale override x11 clients during hint fetching
2017-08-25 14:47:10 -04: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
Mike Blumenkrantz
00c01d0ae6
use client frame for internal win geometry setting on show
...
calling these functions on the elm_win has no effect here
2017-08-25 14:47:10 -04:00