Commit Graph

17485 Commits

Author SHA1 Message Date
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 219ef659b1 build: Fix failing to install unit file on distcheck
During distcheck we fail to install the systemd user session unit file
because it's trying to install to the place returned by pkg-config. We
could add a --with-systemduserunitdir= and set it to a proper install
place. This is done in some other programs like systemd. However there's
not much to test for the unit files installation during distcheck so
just pass --disable-systemd that will do the right thing.

Fix the error below:

 /usr/bin/install -c -m 644 e18.service '/usr/lib/systemd/user'
/usr/bin/install: cannot remove ‘/usr/lib/systemd/user/e18.service’: Permission denied
make[4]: *** [install-unitsDATA] Error 1
make[4]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build/data/units'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build/data/units'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build/data'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build'
make: *** [distcheck] Error 1
2013-10-16 00:34:33 -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
Mike Blumenkrantz 54b71428ca fix crash when activating e restart from start menu 2013-10-15 11:45:31 +01:00
Chris Michael 0d03652c84 Improve monitor resize/mouse interaction (hopefully).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-15 10:18:20 +01: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
Chris Michael 886a5c4808 Fix randr cloning support with odd monitor sizes
Now, if a clone cannot be set to the same resolution as the parent,
then we will go through all the parent modes and try to find one that
Both support.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-14 09:07:26 +01:00
Chris Michael 0d28595b66 Fix issue where randr dialog would crash when trying to close after
cloning.

Don't free the mode_info returned from mode find as this mode info is
still part of the monitors collection of modes.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-14 08:30:22 +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 408dbec23d set pager_popup name on pager popups 2013-10-14 05:04:01 +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
discomfitor 9226b89c41 fix basic click focus settings apply
forgot to update them after removing focus-raise
2013-10-10 06:54:44 +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 f9ce4a88e0 fix click focus wizard defaults 2013-10-08 08:21:32 +01:00
q66 8e860facf4 music control: add Clementine 2013-10-07 18:16:42 +02: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 3c343db349 fix annoying gadman crash when plugging screens 2013-10-07 04:18:26 +01:00
Mike Blumenkrantz 8956de3359 cosmetic variable declaration movement 2013-10-07 04:16:24 +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 54055e4125 default clock gadget config is now digital with seconds display disabled
I've never seen anyone use the analog clock, so this should save people some time when adding new clocks on their screen

next step: make the clock able to do timezones...
2013-10-07 04:01:29 +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
maxerba 0b463d2d1a Removing blank entries from desktop files 2013-10-05 14:32:17 +02: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
Mike Blumenkrantz fbe015de2e bugfix: fileman spring window closing on desktop when dnd ends 2013-10-03 09:45:26 +01:00
Iván Briano d739c009d3 Fix shelf autohide config 2013-10-02 23:19:59 -03:00
Yossi Kantor 1ac50f65b5 e_fm custom moode (Desktop) icon navigation improved and simplified 2013-10-01 13:19:55 +01:00
Mike Blumenkrantz 15663e51f4 add test for fullscreen overrides
current status: FAIL
2013-10-01 10:34:20 +01:00
Yossi Kantor 38e3969e72 e_fm custom and regular mode icon selection 2013-09-30 14:54:49 +01:00
discomfitor 8b596394d6 use more accurate heuristics when calculating ConfigureRequest move coords:
1) invalidate moves resulting from stupid clients trying to re-set their current position (SUP WINE. YEAH, I'M TALKIN TO YOU, BUDDY. WHY YOU GOTTA BE MESSIN WITH MY WINDOW COORDS?)

2) clamp coords when screen limit policy is set to prevent clients from being outside the screen at all

3) all things are allowed, nothing is prohibited
2013-09-27 06:20:17 +01:00
discomfitor f5aa2779b1 ignore netwm activate messages during startup to avoid annoying desk flips 2013-09-27 06:20:17 +01:00
discomfitor 6b41a6dba9 never apply window placement policy on ConfigureRequest
geometry_auto_move is an option which should only be applied to "new" clients. we were erroneously applying it during client move/resize requests, which likely was causing unintended behavior. if this becomes an issue, the correct solution is to create (groan) another option to enforce window placement policy either [at all times] or [for client geometry requests]
2013-09-27 06:20:17 +01:00
Chris Michael 8404e3c180 Fix uninitialized variable warning.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-09-26 20:07:01 +01:00
Jérémy Zurcher 1a2865abec mixer: gadget conf set card name when none 2013-09-26 16:50:54 +02:00
Chris Michael 2b4a0e675b Fix RandR dailog issues.
- Detect when cloning is changed and update monitor "changes"
- When cloning, we cannot necessarily match parent's Mode, so find a
mode which matches on Size.
- Fix mouse pointer change issue where pointer was not being unset.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-26 12:15:34 +01:00
Chris Michael 04da4c6406 Bump e_randr config version so everyone starts with a clean, fresh
working configuration...now that the dialog issues are sorted ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-26 12:15:34 +01:00
Chris Michael 7a2bfc7907 Add Clone Change to Changes Enum
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-26 12:15:34 +01:00