dell handler inside handler func then add a new one ofr the same thing
that does the same thing... infinite loop. only run hanlders after the
loop of hanlders is handled by flagging as just_added and skip those
(removing that flag after handlers list pass).
@fix
the animation will get inverted now when you move your cursor within the
hide animation into the object again.
This should remove some stuttering that might be visible on your screen.
fixes T5978
@fix
now you can't make things weird by having an external lock command -
solves that unsolvable race... :) the other iseu i think is not relaed
to e and smellslike old garbage fb content either
xorg/kms/driver/kernel or something - i have seen junk onresume
sometimes but its a fb from like hours ago even so i smell it might be
that. this solves the other issue brought up by not making it possible
i've seen various people get confused as to why their screen won't
blank and never heard of anyone using offline mode. i think this can
retire and just disabkling blanking manually or as presentation/media
tools do these days... they ask to suspend screensaver anyway. yes it
also affects notifications - but that is a good question - if you want
these or not? may as well simplify.
Autoscroll was working until the client changed dimensions. This
removes a size hint change on the same callback for size hint
changes on the same object.
Ensure container box dimensions reflect the minimum size after
a size hint change on the contained objexct.
The module sends messages which the theme displays. Thus, the
module requires a theme with an implemented edj script to be
useful.
Currently EFL 1.26 includes a basic text label for this...
Usage is recursive...everything under the window is included.
Rudimentary, as usual...please do something pretty...
RFC. Hopefully I didn't break the universe...again!
No need for hook. Wrong use of the API. The widget already does
this when checking various objects.
Set DPI to a default if X application settings enabled else use
the custom DPI.
GTK applications only respect the changes
if they are started when the xsettings is brought up. This is
confusing. Sorry for the noise :(
uses elm cnp to store the image in a selection attached to your
compositor elm win. note... some apps are fussy about what file
formats they accept... we've found through much pain that chrome (and
i assume anything based on it like electron) only accept png for cnp.
firefox accepts most sane formats (png, jpg). libreoffice too accepts
png and jpg, efl accept sjust anout anything you throw at it, so ymmv.
if paste doesnt work either the target for paste doesn't support
pasting images at all or it is fussy about formats - maybe set quality
to 100% to force png and try that as shot saves just png and jpg
(100% quality == png, evrything below is jpg).
if you want pastes of lower quality to work e.g. jpegs in chrome -
file a bug with the chrome team... :)
i didn't know bl_ppower existed... i found a device that exposes this
sysfs node and it seems it's a good idea to swizzle it too in addition
to brightness. so fix that and also fix e's backlight handling to find
backlight devices for non-lid panels marked to have a backlight ... i
have such a device here. this makes backlight controls work in this
case.
so our writes sometimes would get stuck because kernel io buffers are
full and writes are slow. on specific machines with super slow write
media and small amounts of ram this was bad.
this moves writing totally to threads. the eet file is opened in a
thread and closed in the same thread. only the eet_write/eet_data_write are
done in the mainloop. this is a 'walk struct, serialise it and compress
it" which compared to blocking for possibly multiple seconds in a
write/close/rename backup cfg files doing real io to kernel 9even
though kernle should buffer these)... is a hell of a lot better.
so sure. we block lock enough to walk the structures/lists, encode the
blob and put it through a fast lz4 compress cycle and drop into memory.
the actual write happens in the thread when the file is closed and
that is a vast improvement if you hit these cases.
Add a popup for battery. It will update if left visible. The popup
avoids polling by using a slightly delayed copy of the battery
state stored in config struct.
Playing around with steam/optimus/linux/multiple heads the popup
stuck around when i did something very unusual, so make sure it
goes...trust me i'm a professional....
This behaviour can be more intelligent, but for now it covers most
cases. Yet to see tasks in use in the wild outside a shelf, though
it can happen so should be giving something reasonable for this
choice.
so this was the hiccups have been seeing... it was temperature +eeze+
udev stalling out. tempget backend works without stalls so that is now
the only one.
As we can detect for double scan (since randr 1.2), list the mode
as valid, and also ensure the refresh rate is displayed correctly.
Each line is rendered twice, doubles the dot clock, so divide the
settings view by 2 so that it makes "sense". Can always add
flags to settings if deemed necessary.
rememebr zone randr id where clients were if forced off a zone. if a
zone is added check clients with that zone id - if they have it then
restore them there. thbis will get loat if you move those clients
between zones after they are dumped on the other zone or you change
their virtual desktop etc.
If the comp mirror fails add a timer to delay the mirror object
creation. When iconified and in-preview on an E restart the
miror object was failing. Here we try once per icon, per
iconification. This *should* only be occurring once at this point
when E restarts.
This is currently using libinputs gesture recognition. And offers a
config screen to setup new gestures.
1. No default gesture bindings are setup
2. When libinput is not available the module is not going to be loaded,
and nothing is recognited.+
3. Only swipe gestures are recognized yet.
4. For now, you are required to be part of the input group, otherwise we cannot
get the libinput events. (See Todo 1)
5. The visual representation is not really good. In terms of UI, it is
visually showing a value coming from left to right, which is
indicating a direction, which is not always the direction of the
gesture, which is kind of bad. More improvements needed here.
Some things that still can be done:
1. The whole libinput things should be handled by elput, either with the
input group hack, or logind, or simply by root. The ideal idea would
be that e_sys is creating the elput context, which also listens for new
devices etc.. When all this is done, and it recognizes a new device, it
can simply sent a message from e_sys to e, that there is some new
device, with a opened fd. (However, this all needs to be locked up in a
way that e_sys cannot be abused)
additionally, this ensures that clients that cannot be layouted are
definitly outside the tree. Without applying the window tree again.
With all this tiling can be used quite normally. If you want to know
exactly what is going on, set notify level to info, then tiling tells
you what cannot be tiled.
This reverts commit 265c306874.
This is somehow the wrong way of doing that. Next commit will bring
protection against multiple recursive window_tree_apply calls.
Additionally, we should prepare to *not* accidently tile a window that
has been previously untiled.
there is an FDO version of this. it seems it's not widely supported
but the org.kde is. at some point we probbably have to move over but
for now there isn't a need, but make note of this and have DOMAIN able
to switch in a heartbeat if we want to.
Summary:
* No dragging icons within an ibox (it can be perceived as
a broken move visually).
* Show preview when dragging a preview.
* When dragging an object into the ibox, the drop icon should
be at the position of the dnd. Else mouse pointer and the
indicator are out of sync and it looks like a bug.
Reviewers: devilhorns
Subscribers: raster, cedric, zmike
Tags: #enlightenment-git
Differential Revision: https://phab.enlightenment.org/D12050
so library somewhere is causing an exit(1) sometimes... this means i
lose my entire desktop. this is not e doing it... so it's some
dependency bug and this shouldn't happen - but it does and it causes
the entire login session to be losst, so treat an exit code ofr 0 as a
clean exit, and anything else as a bug to be handled like segfaults
etc. and restart e.
alsoit was inaccurate reling on polling (a poller) and thus wakeups
all the time ... so use the "lock on blanking" in timers instead... :)
less complexity to deal with in config anyway.
so there was a fair bit of stick-tape and chewing gum in putting the
wl screensaving in e_Screensaver.c ... it thus was very different to
the x stuff. it SHOULd have had e_comp_wl handle idle timeout like the
xserver did and then glue in the same way the x code did to be
conistsent. instead of trying to fix the chewing gum ball there in
e_Screensver.c to find the logic holes ... i made it work like the
code as indicated above. this now makes it work reliably. dim
reliably. lock reliably. it even doesnt exit on ctrl+alt+backspace
once desklock is up now to allow locks to really lock... (dont use
locks during dev then if you need ctl+alt+backspace).
at least now all this dpms/screensavwr/brightness/backlight/lock goop
is consistent between wl and x11 and wl seems reliabkle now (to me).
knock this off as an annoyance fixed.
@fix
This fixes a build break on FreeBSD. Guarding as per other
blocks. These guards can be removed at a later stage as OpenBSD
has removed malloc.h and FreeBSD is in the process of
reintroducing it after a failed attempt to deprecate the header.
For consistency's sake keep these blocks identical within the
tree. We can nuke these later when FreeBSD make their minds up.
pager didnt reset aspect after setting min size. fixed. also improve
thumb generation by having no artifical delays. use idle enterer + job
wakeups instead. now thumbs appear almost instantly.
also remove initial pager popup on starup that is just not needed.
fixes T8314
@fix
This should fix build on systems where execinfo.h is present
but the APIs are implemented in a separate library - commonly
a case on the BSDs as well as on non-glibc libcs and so on.
it used ot be a separate process to run to hide e starting in the bg
on a slow hdd loading modules etc. but due to compisitng and other
changes its all internal now, so keep it on always as it guarantees a
better smoother experience with less complexity to maintain.
use less stack with smaller "just big enough" alloca'd string buffers.
as e_start hangs around looking after e all day, using a bit less mem
is a good thing.
@opt
snprintf will use locale and maybe print 10,24 instead of 10.24 ...
thus use a custom routine to specially do this always by hand without
mssing with locale.
@fix
e.g. shelf re-configures or adds/removes etc. cause bt gadget icon to
not show current state right. it was missing an "init the state" for
these cases.
@fix
so in the non-systemd case there was a current e sys action stored and
never cleared. e keeps thinking it is in the midddle of an action as
it was not cleared. the systemd code path was different and didn't
suffer from this. this fixes that so the non-systemd path works too.
@fix
all dirs owned by root - so can't be exploited. this code is not
acessible at this point so no actual issues. it still needs testing.
until other work is done it won't be tested yet.
fixes T8671 further comments on umount check.
on reconfigure if we find the pointer outside the screen region bounds
it can get caught there until a warp forces it in. this is due to the
barriers i added i think. this fixes that
@fix
no others subtrace the base... weston doesnt.. no input events cb's
do... this is a mistake with what is a wrong timeline as a result. fix
and use the same timeline as everyone else
@fix