Commit Graph

17263 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
Mike Blumenkrantz 79c71c3c55 convert fullscreen comp shower part to SPACER 2013-09-24 10:10:51 +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 8e62acdd59 fix always-on focus glow for default/fast comp group 2013-09-20 17:39:01 +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