Commit Graph

14246 Commits

Author SHA1 Message Date
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
Chris Michael 8b28549aea RandR: Fix issues discovered here during testing
- Add some more debugging printouts
- When we initially plug in a monitor, set to Clone by default
- During initial clone, we cannot assume the plugged-in device
supports the same Mode so try to find a mode based on size.
- On output changes, test that an output has a crtc assigned.
- If a detached output Was the primary monitor, reset primary in config
to a valid existing monitor.
- Improve output_crtc_find code for better detection of where we can
place a new output.
- Fix "preferred mode" detection error.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-26 12:15:34 +01:00
Mike Blumenkrantz 1eb26ec077 add special happy fun time note for e_pointer_mode function usage 2013-09-26 10:56:57 +01:00
Mike Blumenkrantz 00362b2e64 greatly improve window positioning after ConfigureRequest 2013-09-26 10:53:01 +01:00
Mike Blumenkrantz 1f442e8d96 always raise with click-to-raise. seriously this time. ALWAYS. 2013-09-25 08:25:24 +01:00
Carsten Haitzler d77faef91b fix pager segv... set active_pd to null if we are emptying pd's! 2013-09-25 12:59:17 +09:00
Chris Michael 58131a4274 Update shell for recent upstream wayland/weston changes.
- Update shell to support multiple resources on the client side

 NB: Fixes zmike wayland client crash issue ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 15:22:12 +01:00
Chris Michael 39816c17bc Update pointer, keyboard, and touch structures for recent upstream wayland/weston changes.
- Remove singular focus resource references
 - Use list of focus resources

 NB: Fixes zmike wayland client crash issue ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 15:21:29 +01:00
Chris Michael ccf2aa8d15 Update pointer, keyboard, and touch structures for recent upstream
wayland/weston changes.
 - Remove focus_resource and focus_listener
 - Use a list of resources instead of singular resource

NB: Fixes zmike wayland client crash issue ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 15:20:39 +01:00
Chris Michael fa91255049 Use new wl_resource_for_each to send updated seat capabilities
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 11:41:35 +01:00
Mike Blumenkrantz 9f652a6a86 Revert "File manager file selection improved to fit the standart"
This reverts commit c0d2c08e90.

note to self: check and make sure test patches are not committed when pushing
2013-09-24 10:13:28 +01:00
Yossi Kantor c0d2c08e90 File manager file selection improved to fit the standart 2013-09-23 03:07:29 +01:00
discomfitor 041b148631 rrrrr use right client inset offsets for calculating ConfigureRequests
T288
2013-09-20 22:21:28 +01:00
discomfitor e23879f08f don't fade backlight instantly at all times 2013-09-20 17:52:39 +01:00
discomfitor 648a748cac reorder some backlight setting to make instant changes actually instant
backlight fading on logout is no longer permanent
2013-09-20 17:18:36 +01:00
discomfitor 4697be012d move backlight shutdown after comp shutdown since we do backlight fading in comp 2013-09-20 17:17:49 +01:00
discomfitor 2e1864879d factor in client_inset when calculating ConfigureRequest xy coords
T288
2013-09-20 17:02:25 +01:00
discomfitor 3694ec8a4c force autoscroll on ibar when allowing random apps to dock
T379
2013-09-20 15:35:01 +01:00
discomfitor f7e8dee23c when clicking an ibar icon for a non-order icon that has only one window, activate the window
T375
2013-09-20 15:08:06 +01:00
discomfitor bb1f5f9fdb don't show comp win animation during a forced hide
fixes unwanted fade in when desk flip animations are disabled
2013-09-19 22:16:18 +01:00
discomfitor 373c32a83f unused warn-- 2013-09-19 20:09:41 +01:00
discomfitor a59b134e49 block signal binds on deleted borders
probably fixes pointer getting stuck on move/resize from internal windows
2013-09-19 20:09:41 +01:00
discomfitor b75f10b68b block ibar client adds for .desktops without icons
T388 probably
2013-09-19 20:09:40 +01:00
discomfitor 9aea17a978 improvement: clicking filemanager during rename cancels rename 2013-09-19 20:09:40 +01:00
discomfitor 3fb3b3520b bugfix: efm now allows repeated creation of new files from menus 2013-09-19 20:09:40 +01:00
Chris Michael 09768f143c Fix zmike issue w/ surface losing focus when we move/resize.
- Check if surface is still focused by the pointer on focus_out events
   NB: Needed due to spurious focus_out events we receive from evas/edje
 - On spurious mouse_out event, check if pointer is actually still
inside the surface.
 - Cleanup Move and Resize Grab code (don't need a binding event
struct here).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-12 15:02:59 +01:00
Chris Michael 599d98e3f3 Fix zmike issue w/ surface losing focus when we move/resize.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-12 15:02:59 +01:00
Chris Michael fddd57c7d9 Pass along the evas_event for mouse_in/out on a surface to the smart
callback.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-12 15:02:59 +01:00
Mike Blumenkrantz 964bf73ed9 tweak teamwork default settings to make it more useful 2013-09-12 09:32:42 +01:00
Carsten Haitzler 18bff67cc1 we are already at 62 shutdown entires. push up to 80 as 64 is almost full. 2013-09-12 13:59:27 +09:00
Carsten Haitzler 2ca1a5a5d4 fix comp fullscreen nocomp detection to work properly given comp changes 2013-09-12 01:23:23 +09:00
Chris Michael 0fd9c57ddc Update E18 wayland client application support with recent wayland git
changes.

 - Remove function & calls to wl_*_release as they are redefined in
the client protocol again.
 - Fix up calls for getting resource_user_data.
 - Add WL_HIDE_DEPRECTAED define

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 10:12:30 +01:00
Chris Michael 131eb77926 Remove wl_keyboard_release and wl_touch_release functions.
NB: Once again, they are redefined in the protocol (for now), so don't
need them here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 10:12:30 +01:00
Chris Michael 01717bde88 Remove wl_pointer_release function
NB: It's redefined in the client protocol again (for now).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 10:12:30 +01:00
Mike Blumenkrantz bdd0bc624d add wl surface -> e_border mapping 2013-09-11 09:02:53 +01:00
Carsten Haitzler 3b539d4a0f reverse tablet enabled/disabled in config dialog. 2013-09-09 18:41:10 +09:00
Chris Michael 0844e29c63 Add missing __UNUSED__
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-09 07:33:08 +01:00
Carsten Haitzler c7694a9e6a add simple tablet acpi button event. 2013-09-09 11:29:14 +09:00
discomfitor 2f2df6346c fix harmless cast warning 2013-09-06 15:57:28 +01:00
discomfitor c27a0594c0 delete pager popup timer...always. 2013-09-06 15:55:58 +01:00
discomfitor b5c837b61e fix pager visual fade out 2013-09-05 19:01:17 +01:00
discomfitor 8b57301add ensure post_deactivate menu callbacks run when hiding all menus
fixes shelf autohiding in some cases
2013-09-05 17:26:22 +01:00
discomfitor fb9881e4bf menu callbacks should never deactivate their menus... 2013-09-05 17:25:57 +01:00
discomfitor e61e2e2a76 formatting 2013-09-05 17:03:26 +01:00
Mike Blumenkrantz 68f9e980e7 first we check focus model WITHOUT also applying automatically applied raise option, then we check focus option, THEN we check raise option 2013-09-05 13:44:34 +01:00
Mike Blumenkrantz 6074a0b25f click to raise ALWAYS raises. ALWAYS. 2013-09-05 13:42:48 +01:00
Stefan Schmidt 606b1715c1 Revert "enable subdir-objects for e_fm directory"
This reverts commit 21f4a15c90.

It breaks make distcheck. Hard to track down as the error messages came
in po processing and looked like this:
0:10:58.392 make[4]: *** No rule to make target `.deps/enlightenment_sys-e_sys_main.Po'.  Stop.

The subdir-objects confused our build setup. If anyone thinks this is
still needed and has a better fix go ahead.
2013-09-04 11:48:51 +01:00
Carsten Haitzler af576fcd8f apply show_ready timeout to each new show, not just the first one. 2013-09-04 15:13:26 +09:00
Igor Murzov 928067fa97 Update russian translation 2013-09-04 04:11:14 +04:00
Igor Murzov 519c4de7f6 Revert "updating desktop files"
This reverts commit 22f7a34e23.
2013-09-04 04:11:13 +04:00
Carsten Haitzler ae7d8e2a97 don't consider sigbus a trap/crash signal offense - i/o block error for example 2013-09-04 08:54:02 +09:00
Mike Blumenkrantz d0ddc48425 null check here in case someone decides to try crashing their compositor for fun? 2013-09-03 14:09:38 +01:00
Mike Blumenkrantz 1d2b1340a9 teamwork action can now show any uri on demand 2013-09-02 14:51:08 +01:00
Mike Blumenkrantz ef0f3322ad remove some weird gif hackaround in e_icon which breaks memfile gifs 2013-09-02 14:37:52 +01:00
discomfitor 5ed22b70e7 if out an evas 1.8 function 2013-08-31 15:09:53 +01:00
discomfitor 944cfd246d since we're now requiring an efl version which has the necessary ecore-x functions, remove old and not-compiling ecore-x randr code which obviously has never been compile tested 2013-08-31 15:07:15 +01:00
discomfitor 0b4528f3a4 this job struct member is a job, not a timer 2013-08-31 15:06:39 +01:00
discomfitor 21f4a15c90 enable subdir-objects for e_fm directory 2013-08-31 14:56:42 +01:00
discomfitor 25de811511 in a move which is likely to make me both hugely popular and unpopular, I'm removing the "extra desktops" that we've been shipping for a few years
this was, I guess, an attempt to provide users with an easily accessible ibar icon when starting a new config. problem: xterm isn't installed by default on ANY distributions! so now we end up providing a launcher which is guaranteed to fail, and that makes us look pretty stupid. same thing goes for mplayer.

regardless of whether they're installed, however, these aren't our apps, so we shouldn't be trying to provide .desktops for them: doing that tell users that we support and recommend the use of these apps, and I'm not prepared to make that claim for any app other than powerpoint.
2013-08-31 14:46:17 +01:00
Mike Blumenkrantz 34019ff85a feature: Navigate menu item now opens $HOME 2013-08-30 14:58:17 +01:00
Mike Blumenkrantz a55c3b122e only check for frame input cutting if window is not borderless 2013-08-30 11:00:55 +01:00
Mike Blumenkrantz 6337da1ef9 only cut border frames if they've been calculated 2013-08-30 10:52:21 +01:00
Mike Blumenkrantz 1709c9dda9 end desk flip immediately if there are no animating windows
fixes desk flips with no visible/non-moving windows
2013-08-30 10:39:55 +01:00
Mike Blumenkrantz 135e82e9ca show input window objects on show 2013-08-30 10:29:35 +01:00
Mike Blumenkrantz b1f98748bb only create render update tiler for comp wins that need it 2013-08-30 10:29:03 +01:00
Mike Blumenkrantz f2b4936bfa set precise_is_inside on comp image object to finally fix shaped overrides once and for all 2013-08-30 09:37:24 +01:00
Chris Michael f37f806eff Reduce extra function call to client_get_display
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-28 09:43:25 +01:00
Chris Michael 2aed20988c Get keysym from X on key_up.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-28 09:43:05 +01:00
Chris Michael ac27edb524 Remove redundant useage of grab pointer.
Add safety checks for pointer button_count.
When releasing a busy grab, also check if surface is NULL.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-28 08:16:02 +01:00
Chris Michael 1768ec7518 Increase timeout for spurious e_border mouse up.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-28 08:16:02 +01:00
Chris Michael 8560bc4726 Remove redundant wl_pointer in grab structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-28 08:16:02 +01:00
Mike Blumenkrantz a7c4552bbe fix manager show request handler to be global and fire before the comp handler; fixes stacking and theme setting 2013-08-27 09:24:00 +01:00
Mike Blumenkrantz 3bcd77cb69 Revert "add border stacking handler as a third line of defense against missionaccomplished.jpg stacking issues"
reverts 895bf4f78f, which totally broke initial stacking of windows in almost all cases
2013-08-27 09:23:30 +01:00