Commit Graph

8361 Commits

Author SHA1 Message Date
Carsten Haitzler a10d87a326 file preview text display - calculate minimum size so alignment is ok
this fixes T444 - the display of text is properly top-left aligned
with scrollbars now actually correct too for the text provided (note
that the preview doesnt put ALL text in there. just the first N bytes
which by default is 2048 but can be changed).
2013-11-18 06:05:24 +09:00
Michael Bouchaud 423f65d114 enlightenment: remove e_border_free
e_border_free isn't defined in c code.
2013-11-16 02:24:11 +01:00
Stefan Schmidt 0afd8e8910 Avoid umask problem with mkstemp by using eina_file_mkstemp
Instead of handling umask in every mkstemp case we can simply use
eina_file_mkstemp for this.

CID: 1039806
2013-11-15 16:34:55 +01:00
Stefan Schmidt 5d6960c2ce e_fm/udisk: Delete the correct storage handle.
Copy and paste bug introduced in the initial port to edbus.
This could be a cause of problems when using e_fm with removable media and udisk.

CID: 1039955
2013-11-15 15:47:54 +01:00
Chris Michael 31eda6e249 e_widget_data_get Can return NULL so we should check that else we
could potentially crash the entire window manager (for a potentially
bad module).

Fixes Phab Ticket T491

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-15 10:42:33 +00:00
Carsten Haitzler 4b856da2db use just pixels in slider label (size is already in title) 2013-11-13 23:16:29 +09:00
Jean-Philippe Andre 9637b07ec7 e/cserve2: add restart code for cserve2
Summary: If cserve2 crashes, enlightenment_start will respawn it again.

Test Plan:
Start E18 (in Xephyr maybe) with E_CSERVE set.
Randomly kill evas_cserve2 and enlightenment, and log out from E.

I need review for this patch as I'm not sure about all the ptrace stuff
lying around.

Reviewers: cedric

CC: raster, zmike

Differential Revision: https://phab.enlightenment.org/D287

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-08 16:58:28 +09:00
Chris Michael 41b0eda0d7 When binding to data_device manager, if we cannot create the resource
then notify the client and get out.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-06 07:07:50 +00:00
Chris Michael 122a962cfa Check that creating a new data_device_interface resource does not
fail, and bail out gracefully if so.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-06 07:07:50 +00:00
Chris Michael 566b27d15e If we cannot create the data_offer resource, then cleanup and exit
nicely.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-06 07:07:50 +00:00
Bertrand Jacquin 19281cfd47 BUG/MINOR: avoid bashism in system() call
Other shell than >=bash-4 and dash does not support '&>' I/O redirection.

Introduce in commit v0.17.0-1871-g18cbd6f

 « While at it, I also fixed the piping of stdout and stderr to be nicer. »
2013-11-06 01:24:28 +01:00
Tom Hacohen 18cbd6f59a wsod: Fixed gdb hangs when generating backtraces.
After a long and hard battle with the gods of bugs I finally fixed
this stupid hang. I had to dig into the gdb source code, and gdb the
hell out of gdb, but it's now solved.

First of all, we should call gdb with -batch which exits automatically.
This however is not enough to fix it. The bug was that gdb was haning
while trying to set attributes on stdin because it was waiting for input.
This is obviously problematic when running in non-interactive mode, so
I had to pipe /dev/zero to stdin to fix it.
While at it, I also fixed the piping of stdout and stderr to be nicer.
2013-11-05 15:54:15 +00:00
Tom Hacohen add503b260 Enlightenment alert: Fix strings to refer to Git, not svn. 2013-11-04 14:34:04 +00:00
Daniel Zaoui 2cdead8184 e_exec: fix application closing process.
This is a fix to a bug that was happening on my laptop with libreoffice.
When this last one was closed, a segfault was occurring. This was due to
the use of a freed data structure. A pointer to this structure
(instance) was still stored as data of the Ecore_Exe structure.
Now, when the instance is freed, the data of the Ecore_Exe is set to
NULL.
2013-11-04 15:19:00 +02:00
Carsten Haitzler 1f5abd1886 note valgrind wrongness and reduce exe ecit event handling complexity 2013-11-03 21:04:13 +09:00
Carsten Haitzler a1d1e40559 elm integration improvement - copy themes over, fix includes and null config
provide a config upgrade path to version 13 which nulls/frees out
theme config (save memory - but more housekeeping), and that also
copeis ofer all files in ~/.e/e/themes to ~/.elementary/themes so you
don't lose themes you personally have and deletes the old e theme dir
if this succeeds.

also remove all #includes of Elementary.h and Emotion.h from single c
files as they are requirements now and in e.h

also remove theme path vars and code as theme path is no longer used.
2013-11-01 15:53:05 +09:00
Carsten Haitzler 4b4a51d189 elm theme use - use elementary only for themes and remove e's own theme
now e only uses elementary's theme. this is to stop the bitrot and
forking of e's theme vs the unified elm theme that has everything for
e in it already. this obviously makes elm a requirement of e18 on, and
this also notes that emotion is always in efl these days, so its no
longer an option, and ecore-imf is no longer used as edje does the
entires now itself. in future it'll all be elm.

this is a major unification point for themes for elm and e. this will
need some testing, but everything seems to work day-to-day, but theme
selector is untested.

this also removes the theme selector for splash as that is now simply
unified with the same theme as everything else.
2013-10-31 23:36:22 +09:00
Carsten Haitzler 6eca480e76 make emotion as well as elm requirements, ecore-imf is not used anymore. 2013-10-31 17:12:32 +09:00
Carsten Haitzler 7f78ae9e53 module version sanity check -> make sure module versions match EXACTLY.
if compile time headers (module version) does not match e's version
then modules likely may fail; to work right - so make sure they match
exactly (for release purposes)
2013-10-30 18:19:52 +09:00
discomfitor b67381916e unfocus focused+disabled widget always, not just when focus jump fails
pretty sure this doesn't affect anything in e18, but it does break things in a really hard to reproduce setting involving clicking/disabling/focusing widgets simultaneously
2013-10-26 09:53:15 +01:00
discomfitor b11305652d sanitize widget disabled_set flag, only jump focus when disabling focused widget 2013-10-26 09:52:43 +01:00
Carsten Haitzler 1c5aa36ee9 backlight - fix dimming if normal level less than dim level
if dim level is set to 20% but normal level has been moved to 10%...
when we dim dont RAISE bl level to 20% - do nothing if dim > normal.
2013-10-22 11:26:59 +01:00
Carsten Haitzler a4b70e791a fix unsafe list removal while walking it 2013-10-18 21:39:53 +09:00
Carsten Haitzler 19da294e8d gfix focus display in click-to-focus with keyboard triggered menus 2013-10-18 19:49:05 +09:00
Chris Michael 87dd451353 Fix Phab Ticket T433 for Glima where you could not disable a laptop panel
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-10-17 18:05:29 +01:00
Mike Blumenkrantz 5a519616c6 prevent layout children from being resized to 0x0 2013-10-17 09:54:42 +01:00
discomfitor d5675fd705 don't try applying randr settings when there's no outputs, this doesn't do anything 2013-10-17 08:35:27 +01:00
discomfitor 2eeb5fe129 get root window BEFORE using it to restore randr config :/ 2013-10-17 08:35:14 +01:00
Lucas De Marchi a1cb1e4671 build: Fix distcheck due to subdir sources
enlightenment_fm needs some files that are not in its subdirectory, but
rather are shared with enlightenment.

Possible solutions:

1) Use a non-recursive build for enlightenment_fm.
2) Factor out a convenience library containing necessary files
3) Copy over or link the files to build tree directory during build

For simplicity (3) is implemented here. Some files were not necessary
(e_prefix.c and e_sha1.c) and the others are now linked during build to
it's original location.
2013-10-16 01:20:40 -03:00
Lucas De Marchi c8a624cc85 build: Enable subdir-objects option in e_fm
Sadly we can't globally enable subdir-objects due to gettext choking on
it so enable at least where it's necessary. Remove the following
warning from build:

    src/bin/e_fm/Makefile.am:40: warning: source file '../e_prefix.c' is in a subdirectory,
    src/bin/e_fm/Makefile.am:40: but option 'subdir-objects' is disabled
    automake: warning: possible forward-incompatibility.
    automake: At least a source file is in a subdirectory, but the 'subdir-objects'
    automake: automake option hasn't been enabled.  For now, the corresponding output
    automake: object file(s) will be placed in the top-level directory.  However,
    automake: this behaviour will change in future Automake versions: they will
    automake: unconditionally cause object files to be placed in the same subdirectory
    automake: of the corresponding sources.
    automake: You are advised to start using 'subdir-objects' option throughout your
    automake: project, to avoid future incompatibilities.
    src/bin/e_fm/Makefile.am:43: warning: source file '../e_fm_shared_codec.c' is in a subdirectory,
    src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled
    src/bin/e_fm/Makefile.am:43: warning: source file '../e_fm_shared_device.c' is in a subdirectory,
    src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled
    src/bin/e_fm/Makefile.am:43: warning: source file '../e_user.c' is in a subdirectory,
    src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled
    src/bin/e_fm/Makefile.am:43: warning: source file '../e_sha1.c' is in a subdirectory,
    src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled
2013-10-15 11:10:50 -03:00
Chris Michael a0e993f59b Finally fix odd TV resolution cloning
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-14 13:35:28 +01:00
Chris Michael 07fa7e4a13 Another attempt at odd TV resolution fix.
Mike, try this one "live" please

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-14 12:25:48 +01:00
Chris Michael 4df53f06e3 Revert "Fix bug when hotplugging a TV where resolution does not match the"
This reverts commit a9e09bc26d.

Breaks build, and does not fix real issue. Revert
2013-10-14 11:07:24 +01:00
Chris Michael a9e09bc26d Fix bug when hotplugging a TV where resolution does not match the
parent because a TV uses a non-standard 1360 resolution

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-14 10:53:04 +01:00
Mike Blumenkrantz cee520ff75 clip efm icon event rect
this should fix all the weird fileselector behavior that people were getting
2013-10-14 06:11:17 +01:00
Mike Blumenkrantz e60f5261fe individial desk bgpreviews are now just icons that track the current bg image; handlers and edje are only applied when this is part of a full vdesk preview 2013-10-10 13:09:57 +01:00
Yossi Kantor 437114651d efm selection cleanups
1) efm fix: last_selection resets when icons are freed

2) When no icon is selected select first on Right/Down press or last on Left/Up keypress

3) Maintain order in range selection from first to last.
2013-10-09 13:28:19 +01:00
Mike Blumenkrantz 8a28ad9bb9 don't create border menu when border menu already exists
fixes crash from activating multiple bindings simultaneously which result in border menu being triggered
2013-10-07 10:12:54 +01:00
Mike Blumenkrantz f1a65ee922 remove "border_raise_on_focus" config option
buckle up. for the first time in history, a config option is getting removed instead of added.

the reasons for this removal are many, but let's go way back to the beginning and see why it was added:
oh wait, we can't because the commit message (from 2006) is

>>    patches that i said were in - commit. (see my reply emails)

>>    also finish off a TODO item or 2

reading through the TODO items which were also crossed off in that commit, I'm assuming that this was the "option to NOT raise on focus in click to focus" item.

== REASON 1 ==

the problem here is that there's another, BETTER option called "click raises window" (always_click_to_raise) which does the same thing, except it doesn't totally fuck you when you get a random X focus event, which happens more often than you might think.

this means that, to avoid broken behavior which might cause your windows to spastically raise for a few frames in common cases (using winlist...) with click-to-focus, you have to know that this is the default-enabled option that's fucking you, and you have to remember to manually disable it every time. if you DON'T know that this is the option that's fucking you, and you just see windows randomly raising on their own, you'll probably either ignore it or file a bug, when this is supposed to be a "feature" that actually worked in reverse, since it was intended only for disabling.

== REASON 2 ==

there's also auto-raise, which can be set to 0.0s, which is effectively the same thing since it also triggers on focus but can be configured not to fuck your window stack

== REASON 3 ==

aaand finally, this option makes any sort of pointer focus model impossible to use, since your windows will constantly be raising all over as you move the mouse

tl;dr: I'm removing it, e-dealwithit.gif
2013-10-07 06:49:33 +01:00
Mike Blumenkrantz 4446442163 remove gadcons from custom populate job during deletion
this showed up on my valgrind radar while xrandring, so it's safety time
2013-10-07 04:15:18 +01:00
Mike Blumenkrantz c2b8ec2e03 wl_desktop_shell -> whitelisted 2013-10-07 03:54:24 +01:00
Mike Blumenkrantz 5fb09a0249 add minor optimization for e_manager_current_get for most common case
there's only more than one manager when we're running true multi-head, which is pretty rare/non-existent with compositing, so we can avoid an X call here by just returning the only possible manager
2013-10-07 03:52:09 +01:00
Carsten Haitzler 1c92e22eb2 check if class string is valid first, then make sure buffer is 0 terminated
i got a segv in an strncpy... but the bt missed telling me anything
other than it was in _e_border_eval(). gdb wouldn't help.

Thread 1 (Thread 0xb7859780 (LWP 1377)):
No symbol table info available.
No locals.
No symbol table info available.
No locals.
    at /usr/include/i386-linux-gnu/bits/string3.h:121
    buf = '\000' <repeats 4095 times>
    s = <optimized out>
    event = <optimized out>
    pnd = <optimized out>
    rem_change = 1
    send_event = 1

since this is the only strncpy, i can only conclude that something is
fishy about the src or dest buffer, and i can only guess that the
strncpy is directly in e_border.c (though it could have come from an
inline func or macro form eina etc.)... but it's the best guess i have.

the strncpy will have problems if bd->client.icccm.class > 4096 in
size. buf will not be nul terminated then:

       The strncpy() function is similar, except that at most n bytes of  src
       are  copied.  Warning: If there is no null byte among the first n bytes
       of src, the string placed in dest will not be null-terminated.

as per manpage. so there was a lurking bug with a non 0 terminated
buffer.  also added check for bd->client.icccm.class as it could be
null...
2013-10-04 16:48:21 +09:00
Mike Blumenkrantz fd18b63879 search for desktops by lowercased icccm class if it's different from uppercase
fixes finding firefox and some others
2013-10-03 11:22:32 +01:00
Mike Blumenkrantz 9210b83e5f move phony e_exec creation for borders to after the desktop is located to ensure that we actually have a chance of finding a correct instance 2013-10-03 11:21:00 +01:00
Mike Blumenkrantz 7dee42020e find efm's .desktop file for efm windows 2013-10-03 11:20:36 +01:00
Mike Blumenkrantz a2d85fc0ab don't delete just-set desktop/icon objects for borders during new_client run 2013-10-03 11:20:15 +01:00
Mike Blumenkrantz 247f45f26f don't check startup_id for internal windows
this is guaranteed to be wrong and trigger confusion in e_exec
2013-10-03 11:19:21 +01:00
Mike Blumenkrantz 9ad177dd60 bugfix: add handler for xwindow hiding in dnd
this fixes the case where a drag is occurring on a window and the window is closed/hidden before the dnd leave event occurs. previously this would break things to a moderate degree and cause further dnd operations to fail, but now we bravely soldier onward
2013-10-03 10:12:44 +01:00
Iván Briano d739c009d3 Fix shelf autohide config 2013-10-02 23:19:59 -03:00