Commit Graph

411 Commits

Author SHA1 Message Date
Carsten Haitzler bb8874930b fix more unfullscreen clicker/toggle when window is small...
another codepath for the fullscreen flicker bug via the job handler

@fix
2022-04-02 11:01:01 +01:00
Carsten Haitzler 1051c77d31 fix fullscreen flicker/toggle when window is small and we get mouse out
we get a spurious mouse out if your window is small then told to go
fullscreen which then causes in ponter focus a unfocus event which
causes e to restore window to its non-fulscreen mode which then may
cause a mouse in again if mouse is positioned right which causes a "go
fullscreen now again" and so on... fix this and ignore that mouse out
right after going fullscreen.

@fix
2022-03-25 10:40:00 +00:00
Carsten Haitzler f81387470f xkb - use new feature to ignore just xmodmap changes
this avoids e re-setting kbd layouts on just "xmomdmap" changes. needs
new feature in efl slated for efl 1.27
2022-03-24 17:54:30 +00:00
Carsten Haitzler 5d430a3fa6 qrt bug workaround - qt does not remove WM_STATE when withdrawing
as per icccm - client should remove WM_STATE when withdrawing... and
qt relies on WM_STATE to know if it re-show a window - the property
it itself refused to remove...
2022-03-22 12:42:33 +00:00
Carsten Haitzler 6dac5c5cd0 remove unused var. 2022-03-02 11:44:02 +00:00
Carsten Haitzler fd7b1e4b37 overlay resize regions - properly sety shape rects to account for them
e didn't set shape rects for input overflow areas for the resize
handles in theme to work on top of other clients and client areas.
this should make that all work now and make the resize handle area
bigger than it actually looks.

@fix
2022-02-24 18:44:14 +00:00
Carsten Haitzler 6ed1e61996 focus - fix some lingering mis-focus issues
finally fix T8980 (i hope)
@fix
2022-02-01 12:30:00 +00:00
Carsten Haitzler ea97371770 focus out - ignore all ungrabs as we unfocus a window that should be
this fixes a boundary case on mouse ungrabs

@fix
2022-01-21 21:05:32 +00:00
Marcel Hollerbach 841c8f477f focus: do not revert to another client when client is unfocused
This was a nice idea to fix most focus bugs at once. However, due to the
runtime of e many things can get "randomly" focused, for exmaple: volume
control on the frame, internal dialogs, config value screens when
grabbing for keys, widgets when they get created in a gadget. The list
is quite long. However, fixing all those little bugs is hard and partly
impossible as the behaviour is correct in the context of a toolkit, not
in the context of a compositor.

Long term we should split window-focus and canvas-focus from each other,
then bugs like these would not be a problem anymore.
2022-01-09 15:51:34 +01:00
Carsten Haitzler 0404e68632 windows - netxcloud app - fix constant show/hide cycles
e is not ignoring the first unmap event on this reparent ... this
fixes that and the nextcloud app stops making e sit and spin at full
cpu and flickering tasks etc.

@fix
2021-12-28 18:38:52 +00:00
Carsten Haitzler 662caef984 e - shape input - dont change/reset shape input on override wins
this will wipe out what the client set - this is valid for managed
clients only, not override windows.

this fixes teams and its big fullscreen sized window eating up events.

@fix
2021-11-09 15:47:21 +00:00
Carsten Haitzler 32255d0122 e - fix a null csd property on a ssd x win - new chrome does odd things
new chrome versions now set a CSd gtk property of 0 0 0 0 on
windows.... but set it later on thus confusing e into seeing
information changes for csd frame insets for a window that has no csd
frame but is ssd! this drops into a logic hole of "this shouldn't
happen" and weird stuff does happen. avoid this weirdness and just
assume a ssd window as normal then.

@fix
2021-09-23 12:51:48 +01:00
Carsten Haitzler e6b544a7ef e comp and actually 0.5 delay is .. better...
debug just was noisy .. but more now
2021-05-16 15:29:01 +01:00
Carsten Haitzler d61c69a357 comp debug - go back to no delay for comp anim plus more fps debug 2021-05-16 15:26:07 +01:00
Carsten Haitzler 15e395b88e blanking - fiddling with it to try find a vbox bug... fix some things
make dpms delay longer - 10 sec.
force pointers to not render if comp not rendering
nuke open menus on blank
remove unused vars
2021-05-12 23:13:16 +01:00
Carsten Haitzler ab905c599f e comp x - clean up some core removing if 0'd out code and comment some 2021-04-21 13:23:12 +01:00
Carsten Haitzler 4a545f99d9 fix build break - looks like this edit didnt make a commit 2021-04-20 21:58:43 +01:00
Carsten Haitzler 3112e2ba1a e - restore iconified windows on restart to iconified 2021-04-20 20:06:08 +01:00
Carsten Haitzler 403435f9fd blanking - when screen blanks (pwsave freeze) set windows to iconic
also make them hidden too for good measure. this causes many clients
to stop rendering. saves power and useless cycles drawing stuff you
can't see.
2021-04-20 19:03:02 +01:00
Carsten Haitzler 502a03fd3e x input devices - have config apply when you hit apply not just on start 2021-04-16 15:53:21 +01:00
Carsten Haitzler 42cc4e8c16 e x netwm - set _NET_WM_STATE_HIDDE when win hidden
this can serve as a market - irrespective of icccm state that the
window is not visible. still - some apps like chrome/chromium. set
this so they are happier but this has side-ffects which are
client-local problems.

fixes T8923 ... i hope (seems to). ... but with side effects

@fix
2021-04-12 16:02:06 +01:00
Carsten Haitzler 140b8af043 e - set vsync frame delay to 0.5 to be offset against other clients 2021-02-01 18:08:06 +00:00
Carsten Haitzler a92840b13f work around clients like firefox with csd and broken iconify logic
so simple version: if firefox does CSD then when u press its minimize
(iconify) button it ASSUMES it will be iconified. it ASSUMES WM_STATE
will transition to iconic annd then back. it will cease rendering lots
of things when it thinks it is iconified when it isn't - e was
refusing because e wants windows tyo stay with live content so in ibar
and winlist and so on they keep showing updates). this assumption that
a wm will always iconify you when asked is wrong. a wm can refuse. so
basically firefox is brokne in its assumptions and logic. so work
around it but this leads to other fun things like clients stopping
rendering when iconified... as they now are told theya have been
iconified.
2021-02-01 18:08:06 +00:00
Carsten Haitzler ae45fd14c0 backlight - track x11 vt owner ship with root property added for vbox
this allows backlight to veto changes to backlight when the vt is not
owned.

fixes T8862

@fix
2020-12-01 20:27:23 +00:00
Carsten Haitzler 05b0ff59a8 x - add xinput device watching and beginnings of configuring them 2020-11-14 20:48:09 +00:00
Carsten Haitzler f1a15a41db blanking - workaround unknown issue where ss resets to 1sec after resume
trying workaround to fix T8793
@fix
2020-10-04 22:11:13 +01:00
Carsten Haitzler db73bcabd9 e comp x - ensure animator works before fading in backlight 2020-06-28 15:29:22 +01:00
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
Elyes HAOUAS 153f479d3f tree-wide: fix typos all over the place
Fix some typos

Differential Revision: https://phab.enlightenment.org/D11778
2020-05-14 12:04:51 +02:00
Carsten Haitzler 48bcb8d0b3 e comp - shape rects - handle logic hol where num > 0 but rects is null
don't fall in this hole and crash...
2020-05-01 15:12:16 +01:00
Carsten Haitzler 7227173169 e comp x - debug and correct mask handling for configure requests 2020-04-23 17:00:21 +01:00
Carsten Haitzler fee794af29 comp - handle possible case where we're grabbed - ungrab first 2020-04-19 23:52:34 +01:00
Carsten Haitzler 1d7adf0626 comp - blackwin - only use compositor size and not 32k x 32k 2020-04-19 23:38:04 +01:00
Carsten Haitzler e66af58795 e - restarts - if theme supports make it totally seamless
if theme doesn't support, fade-in will not happen (it'll just appear),
but if it does... e will fade to black for a restart, then fade back
in nice and cleanly.
2020-04-19 23:14:35 +01:00
Carsten Haitzler b88b7bd1c4 e profile send - add debug to let you know what profile e is sending app 2020-04-19 12:36:59 +01:00
Carsten Haitzler bcd612e78d revert last focus fixes - they both end up worse than before.
Revert "fix spurious pointer jumps due to previous commit bugfix"
This reverts commit 550de9a680.
Revert "focus - fix emacs buffer switch focus set reported by felipe"
This reverts commit 690ab94c06.
2020-04-17 19:02:23 +01:00
Carsten Haitzler 550de9a680 fix spurious pointer jumps due to previous commit bugfix
690ab94c06 fixed one bug and added
another - this fixes the other spurious pointer warps.
2020-04-17 18:50:13 +01:00
Carsten Haitzler 690ab94c06 focus - fix emacs buffer switch focus set reported by felipe
emacs window (not in terminal). now in one:
ctrl+x 5 2 <- open new buffer

now we have it try switch to the other buffer:
ctrl+x 5 o

broken ... now fixed.

@fix
2020-04-15 18:04:49 +01:00
Carsten Haitzler ee393a201f e backlight - restructure to have real per screen backlight
now it really does look for the right way to control per screen and
only use the new e_system back-end to query/list devices etc. ...

this now opens the door to adding ddc support to e_system then using
it from e_backlight.

i can't test this... yet - but this means in theory the backlight
gadget will control the backlight of the screen it is on...
2020-02-01 11:29:38 +00:00
Carsten Haitzler c9efd9c23d fix events on internal windows if placed on another desk with remembers
this fixes T8584

@fix
2020-01-24 19:50:15 +00:00
Carsten Haitzler 7323a97f2c e client sync rendering - disable some more sync handling to improve
rendering is so much less jerky and smooth now disabling this sync
handling. something has broken over time with wit and we're better off
without...
2020-01-20 17:06:54 +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 6af9d75293 error messages - let's be less ramatic and have fewer of these on start
various errors we have are not actual errors but mostly information or
debug or status messages, so don't use ERR or just don't do the thing
that triggers it as it's useless. This leads to a less
noisy/error-like start output. cleaner for a release for sure.
2019-06-04 14:14:18 +01:00
Carsten Haitzler 91770e35f8 e focus - fix to previous commit to restore keybinds on last win del
i didn't notice, but if you delete all windows on a desktop then no
keybinding work. i needed t use my commented out workaround actually
and then a bit. @fix
2019-01-30 23:10:25 +00:00
Carsten Haitzler 9b94849f92 e focus - fix issue that affects qt popup menus e.g. in telegram
it seems to create override-redirect popup windows that it FOCUSES
instead of grabbking the kbd like most other menu windows
so this causes the parent window to lose focus in a way that then
causes the popups to dismiss instantly.

@fix
2019-01-30 09:31:47 +00:00
Carsten Haitzler f345721897 client opacity hint handling in x - fix handling to do 0-ffffffff right
e was not properly handling the opacity hint in its 0-0xffffffff
range. in one case it converted e's color value to this range but just
with << 24 which is wrong as it then ignors the next 24 lower value
bits, so it should fill the next 3 bytes with repeats of the same
value to do this right, but far worse is on READING the value it just
used the value as-is as if it were a 0-ff (0-255) alpha value that we
use in evas and didnt "thunk it down" with val >> 24. this resulted in
renoise menus being blank as renoise set the opacity value on its
menu windows and e happily made them transparent thanks to this.

this fixes that.

not to peolpe fro the above. bitshifting DOWN is ok, but bitshifting
UP leaves the lower bits all 0 and you should fill this range with
repetitions of the value to properly scale in integert space with
bitshifts. :)

@fix
2018-06-02 16:35:39 +09:00
Mike Blumenkrantz 815391126e further protect against crashes when xwayland crashes 2018-01-22 16:51:40 -05:00
Mike Blumenkrantz 8ffda5f23a don't do x11 window grab for fps counter when running in wayland mode
this crashes older efl
2018-01-22 16:21:28 -05:00
Derek Foreman 2a7312d2bc Fix potential NULL pointer dereference
CID 1382953
2017-12-21 09:54:42 -06:00
Carsten Haitzler 4f26b4b1dd e come client - actually set placed more generally...
previous fix... was not general enough. put this outside the if that
only places if props change or size pos hints need fetching.

@fix
2017-12-14 23:10:58 +09:00