so bluez itself wont go rfkill block or unblock the bt device. you
have to rfkill unblock separately if it's blocked. this is needed to
make bluez at a minimum work right. possibly should be added to
connman too. but this is the first step.
dir_sysconf was set to "etc". not even a /. this meant
enlightenment_sys couldnt find/load sysactions.conf as it used a
non-relocatable fixed location due to security (setuid root) reasons.
so i spent a few days lopening and closing the lids of a few laptops,
plugging and unplugging external screens in, plugging and unplugging
ac power and doing lots of combinations of these. this led to a whole
slew of interrealted issues that were pretty hard to detangle into
just single issues, so this is all one blob.
this fixes:
1. if a lid close gets a monitor unplug from x or e's randr wants to
unplug then this lead to slow unsuspend or lid open times as e was
reconfirguring the screens entireluy on lid open. dont do that. just
keep things as is, unless we have an external display, then reconfigure.
2. we had 2 systems monitoring for a wake. a poller and a systemd
event. this was redundant and lead to interesting things in the debug
output, so clean that up and on systemd systsems use the systemd wake
events
3. some systems dont shut down their screens on lid close, so they
stay open until screensaver timeouts kick in. bad. so also force the
screen to go off on lid close (if the lid screen is the only one we
have).
4. x seems to have a bug where if you force dpms off etc. to turn the
screen on, it still thinks it's of and wont dpms off again after that
until you eother give some input to have the wake event make the dpms
system in x think its now time to go on, or you toggle dpms on and
off, so i found toggling tricks x into thinking the right thing.
this makes some debugging also be consistent with printfs.
all in all i have a pretty well supported laptop doing swimmingly with
e and a not so well designed (acpi dsdt - missing many events like
acpi battery ones, ac power change acpi events, missing logic to power
off a closed screen in firmware or hardware and leaving it to sw...
not this laptop has a tocuh panel and extra fun points awarded since
the touch panel doesnt shut off on lid close... AND it reprots touch
events when it closes as it touches the keys/case... hooray! that has
another work-around local to my system, as efl has no mechanism to do
this).
@fix
Summary:
bluez4 support is now basically dead. nothing ships it anymore. bluez5
is a new api that is rather different so new code. also a new gui with
more complete features etc.
not everything is done as i'd like. need:
1. many more icons for device types (60-70 maybe?)
2. a few specific custom icons for some action buttons (like
pair/unpair)
3. icons for group headers
4. gadget status - the gagdte itself displays zero status. it's a
button to display a popup. that's all.
Reviewers: zmike!
Subscribers: devilhorns, cedric
Tags: #enlightenment-git
Differential Revision: https://phab.enlightenment.org/D6148
Summary:
this is part of the datadir distribution, it should not be in a different
directory than the rest of the datadir distribution
the gnu coding standards (https://www.gnu.org/prep/standards/html_node/Directory-Variables.html)
define 'datadir' as:
The directory for installing idiosyncratic read-only architecture-independent
data files for this program. This is usually the same place as ‘datarootdir’,
but we use the two separate variables so that you can move these program-specific
files without altering the location for Info files, man pages, etc.
This should normally be /usr/local/share, but write it as $(datarootdir).
(If you are using Autoconf, write it as ‘@datadir@’.)
The definition of ‘datadir’ is the same for all packages, so you should install your
data in a subdirectory thereof. Most packages install their data under $(datadir)/package-name/.
while this text has no clear requirement or suggestion for a corresponding
repository layout, projects typically employ a certain consistency in their
repository layout both for ease of maintenance and ease of learning for new
contributors.
this project has both a data/ directory, which contains the datadir distribution,
as well as the config/ directory, which also contains the datadir distribution.
this complicates matters both for active maintainers/developers who must
remember that the repository and build tree layouts have this exception,
and for new contributors who will initially be confused by this exception
other well-organized open source projects, such as wayland, have chosen to not
use a data/ directory. these projects have the datadir distribution in the base
directory of the repositor, which is a fine practice as it maintains consistency
for the project since all the files for the datadir distribution are in the same
directory.
by applying this patch, the project will move towards a more easily readable and
learnable layout. current and future developers will no longer need to wonder why
this directory is outside of the data/ directory, and anyone attempting to reference
these files from the source/build trees will be able to do so more easily
ref D6013
Reviewers: cedric, raster, bu5hm4n
Reviewed By: raster
Subscribers: devilhorns
Tags: #enlightenment-git
Differential Revision: https://phab.enlightenment.org/D6154
This commit broke e's config and therefore broke gadget key modifiers, gadget loading, among other things. This reverts the changes in config/* that broke this.
Under wayland, if a client declares itself iconified before its first
commit, we should wait until it's no longer iconified before sending it
a configure. This way it can avoid uselessly rendering buffers that
will never be displayed.
ref T6834
this fixes when you drag a wqindow to screen edge and it flips if you
use alt+drag as opposed to just dragging titlebar around without alt.
it fixes it by updating your config to allow "any modifier" for edge
flips which is actually correct.
@fix
handle quotes, escapes and so on for the shell command so you can do
things like Exec="ls" and it still work. this will also allow
executables with spaces in them as well with quotes or escapes as
backslash.
this fixes T6787
@fix
is e crashes, catches it and restarts while locked you end up
unlocked. this lets enlightenment_start know this lock down state and
it sets an env var to ensure locking happens on restart after recovery.
Turns out this is called too late in the render pass and a single frame
can occur with the old border setting. This can lead to nasty flicker
artifacts.
this moves to the newer mimeapps.list file in ~/.config from the older
defaults.list. it also provides a migration (copy file ovr if target
doesnt exist on e startup).
this fixes T6784
@fix
this shou,ld provide a compile failure for when no pam headers are
found and thus pam not enabled if we need pam for auth (i.e. linux).
so it'll be harder to foot-shoot now.also an add-on fix to T6779
if no pam support detected at build time, dont even lock to begin
with. this should fix T6779
yes - even better is making pam a requirement for building and to be
optionallhy disabled, but then even if disabled we still need this check.
this has been a long long long standing bug in e. i think this is why
we had some reports of "any password unlocks e" - because it was built
without pam support and before auth was always succeeding without pam.
now it is always FAILING instead (which is probably better).
@fix
The gadget can now live in both shelves and bryces.
There is still a strange issue in the popup: the progressbar
(that should be hidden on show) dont want to honor the
evas_object_hide call. This only happen when inside an elm
ctxpopup while works as expected when in a gadcon popup, so
I suspect a bug in ctxpopup...
this fixes several issues in the pixmap data fetching
1. it over-read the input buffer assuming ints count instead it has
byte count for length
2. it would leak memory if you have multiple pixmaps and the largest
was not the first found.
3. it always swapped pixel bytes instead of only on little endian.
this should fix T5910
Reading from tmp is causing SIGBUS issues on FreeBSD, the easiest
and cleanest way round this atm is to avoid parsing /tmp. In the
process found another bug which occurred on Linux also which was
use after free.
this should fix T6211 ensuring no drivers can cause a segfault at exit
time. this also happens to remove the enlightenment_sys -z option for
openbsd and unifies all the passwd checking into the single
enlightenment_ckpasswd binary util (that has ifdefs for openbsd,
freebsd and linux pam in it).
this simplifies code removing a mess of auth being done in multiple
places, removes special fork vs run 1 exe or a different exe in
different cases making it more maintainable. yes - this requires
enlightenment_ckpasswd to be setuid root, but it already was when it
was built.
@fix