Chris Michael
5b77c566e6
Use ecore_wl functions to return the pointer location if we are
...
running as wayland-only
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 10:18:44 +00:00
Sebastian Dransfeld
30846ee4ea
randr: Update lid status when outputs change
...
If we only have lid, it will be active even though lid is closed. If we
connect a monitor we want the lid to deactivate.
2014-03-19 13:37:34 +01:00
Mike Blumenkrantz
c81e649992
fix more wayland crashes
2014-03-18 18:15:24 -04:00
Mike Blumenkrantz
c04d754ac5
enabling drm output module should NOT require X-less build.
...
these defines all need to be changed from HAVE_WAYLAND_ONLY to something like WITH_X or we're going to have lots of problems with xwayland later on
2014-03-18 16:14:04 -04:00
Chris Michael
3d28a91c6b
@bugfix: Create window pointer for wayland clients
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:05 +00:00
Chris Michael
9e68b402a4
@bugfix: Initialize the module idler even If we are wayland-only
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:05 +00:00
Chris Michael
4bb1d8f390
@bugfix: Only load external compositing modules if we are wayland-only
...
@bugfix: Initialize e_comp_wl if we are wayland-only OR supporting
wayland clients.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:05 +00:00
Chris Michael
f3da557586
@bugfix: Fix e_win elm window trapping for wayland-only
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:05 +00:00
Chris Michael
160412dcf2
Simplify e_canvas_new code slightly for wayland-only and
...
wayland-client support.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Chris Michael
3d10a3d34e
@bugfix: Fix pointer to work in drm and also fix some formatting
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Chris Michael
915f8f0613
@bugfix: Fix building for WAYLAND_ONLY by using the proper define
...
sed -i 's/WAYLAND_ONLY/HAVE_WAYLAND_ONLY/g'
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Mike Blumenkrantz
a2025ddaad
ignore size change configurerequests during maximize if not also changing position
...
correcty fixes gtk window (un)maximize
2014-03-17 12:56:21 -04:00
Mike Blumenkrantz
d8375aaf9d
Revert "apply client resize limit for all possible size values during maximize calcs"
...
This reverts commit 08acb0c6aa
.
fix T1102
2014-03-17 12:49:44 -04:00
Mike Blumenkrantz
9859daee07
bugfix: get entry width based on viewport size, not entry size
...
things like icon properties dialog now fit on a 4k monitor
2014-03-17 12:24:03 -04:00
Mike Blumenkrantz
791ed12f7b
fix elm win usage
2014-03-14 12:38:01 -04:00
Mike Blumenkrantz
9f310291a7
don't change backlight on zone shutdown
2014-03-14 12:00:23 -04:00
Carsten Haitzler
ad6aa3db71
part of previous commit - also set delete_requested to 0
2014-03-15 00:00:27 +09:00
Mike Blumenkrantz
a6148e5e56
fix client resistance visibility check typo
...
fix T1087
2014-03-14 09:51:57 -04:00
Carsten Haitzler
b1373fe63f
fix hiding of windows when delete is requested
...
this is applicable to e19 only (you can't backport this patch as-is -
e19 is too different). this fixes T1063.
2014-03-14 16:25:14 +09:00
Mike Blumenkrantz
19f8126847
prevent fallthrough in determining gcc visibility
...
CID 1040127
2014-03-13 13:10:55 -04:00
Mike Blumenkrantz
b9cdeb17f5
add note about switch statement fallthrough
...
CID 1040128
2014-03-13 13:09:43 -04:00
Mike Blumenkrantz
4b58fa9a4e
replace ev->keyname with ev->key
...
see efl 5ae4cfd1923e502731f4d8fc2bf67b1f536a9216
2014-03-13 13:03:34 -04:00
Mike Blumenkrantz
d391e5c130
validate params for e_dnd_util_text_uri_list_convert()
...
CID 1040144
2014-03-13 12:52:36 -04:00
Mike Blumenkrantz
e0a5cd6e7d
bugfix: correctly calculate minimum flowlayout rows
...
CID 1132740
2014-03-13 12:44:47 -04:00
Mike Blumenkrantz
01abad3f64
bugfix: efm_op no longer tries to close invalid fds during delete ops
...
CID 1132741
2014-03-13 12:41:53 -04:00
Mike Blumenkrantz
b373b561e4
check X comp_data existence in pixmap PRESENT usage during refresh
...
CID 1155279
2014-03-13 12:22:04 -04:00
Mike Blumenkrantz
450d6cf321
add comments to suppress false positives in intentional switch fallthroughs
...
CIDs 1155283, 1155282, 1155281
2014-03-13 12:20:38 -04:00
Mike Blumenkrantz
c545deb81c
fix gadman resistance checking for fake/desk shelves
2014-03-13 12:15:11 -04:00
Mike Blumenkrantz
26cbbe6723
improve client positioning resistance accuracy for hidden clients and fake shelves
2014-03-13 12:12:28 -04:00
Mike Blumenkrantz
fe5f8df001
use E_CLIENT_FOREACH macro for resist calcs
...
CID 1155285
2014-03-13 12:07:49 -04:00
Mike Blumenkrantz
3f3322cb9c
null check auth current user get
...
CID 1155286
2014-03-13 12:06:04 -04:00
Mike Blumenkrantz
865dc17221
null check client on X stack request
...
CID 1155287
2014-03-13 12:05:13 -04:00
Mike Blumenkrantz
ddcc678d78
ensure va_end is called when creating new pixmaps
...
CID 1155292
2014-03-13 12:02:11 -04:00
Mike Blumenkrantz
de03331469
fix indent for iconic hint setting
...
seriously?
CID 1156985
2014-03-13 12:00:17 -04:00
Mike Blumenkrantz
537b4054d3
simplify/optimize e_win show trap
...
CID 1163853
2014-03-13 11:58:16 -04:00
Mike Blumenkrantz
6dd98df0d6
remove all remaining efl version check defines
2014-03-13 11:55:29 -04:00
Mike Blumenkrantz
d0589662c5
bugfix: check for unicode string end in client menu
...
CID 1186203
2014-03-13 11:51:21 -04:00
Mike Blumenkrantz
2b3906d8da
bugfix: don't crash when passing NULL desk to e_client_under_pointer_get
...
CID 1186204
2014-03-13 11:47:44 -04:00
Mike Blumenkrantz
dacb821f05
trivial dead code--
...
CID 1187922
2014-03-13 11:43:53 -04:00
Mike Blumenkrantz
3583d76839
trivial dead code--
...
CID 1187923
2014-03-13 11:42:49 -04:00
Mike Blumenkrantz
b8a3e1ed4f
fix probably-impossible divide-by-zero in menu item layout
...
CID 1187924
2014-03-13 11:41:17 -04:00
Mike Blumenkrantz
b25706727b
bugfix: don't iterate with or access freed pointer in comp match dialog
...
CID 1039740
2014-03-13 11:18:14 -04:00
Mike Blumenkrantz
9f3f5e29d1
bugfix: ensure use of non-garbage values for menu item icon placeholders
...
CID 1039769, 1039768
2014-03-13 11:11:14 -04:00
Mike Blumenkrantz
5f68ea5c8d
bugfix: prevent out of bounds write in e_intl_locale_parts_get()
...
CIDs 1039848, 1039847
2014-03-13 10:46:28 -04:00
Mike Blumenkrantz
8b227c33b7
Revert "e_exec - after an instance has its exe deleted - set exe to NULL"
...
This reverts commit 89fdebb9bf
.
CID 1132151
2014-03-13 10:40:11 -04:00
Mike Blumenkrantz
2425ec363c
always init container coords when beginning gadcon drag
...
CIDs 1135457, 1135456
2014-03-13 10:37:01 -04:00
Mike Blumenkrantz
bf66547c15
fix null termination of client desktop string matching
...
CID 1155274
2014-03-13 10:28:33 -04:00
Mike Blumenkrantz
1abc612569
ensure valid client layers in client stack iterating functions
...
CIDs 1155288, 1155280
2014-03-13 10:27:35 -04:00
Seunghun Lee
08acb0c6aa
apply client resize limit for all possible size values during maximize calcs
...
Summary:
there was a problem that the app like gnome-terminal had not been restored to origin size after maximization.
I think that's because E overwrite the data of saved.x/y to maximized size in ConfigureRequest handler.
The reason why ConfigureReuqest happen is that the window tried to resize itself properly, since E resize window without regard of size hints.
Reviewers: zmike, seoz
CC: cedric
Differential Revision: https://phab.enlightenment.org/D633
2014-03-13 10:15:13 -04:00
Seunghun Lee
b137b7e741
fix use of same variable in e_desk double-loop
...
Reviewers: zmike, seoz
CC: cedric
Differential Revision: https://phab.enlightenment.org/D632
2014-03-13 09:38:11 -04:00
Mike Blumenkrantz
3f5ac7d9ab
use static array of inlists for client hooks to reduce overhead
2014-03-13 09:35:06 -04:00
Mike Blumenkrantz
ce3e7056ae
remove unused vars
2014-03-13 09:34:10 -04:00
Seunghun Lee
48c28213c9
fix use of same temporary variable in for loop.
...
Summary: it caused crash when user edited desk's name after adding desk.
Reviewers: zmike, seoz
CC: cedric
Differential Revision: https://phab.enlightenment.org/D631
2014-03-13 08:46:39 -04:00
Mike Blumenkrantz
1a2f4087db
defer netwm maximize hint apply to reduce canvas ops
...
improves maximize performance on apps like chromium which incrementally apply maximize states
2014-03-10 00:27:16 -04:00
Mike Blumenkrantz
f9f6ddb971
bugfix: dim/undim actions don't require acpi triggers
...
fix T1067
2014-03-09 23:30:47 -04:00
Mike Blumenkrantz
ae81d76a3c
ignore ignored clients for X mouse events
...
fix T1058
2014-03-06 09:35:00 -05:00
Sebastian Dransfeld
8c3b7800c9
randr: TODO++
2014-03-06 15:18:15 +01:00
Sebastian Dransfeld
c0d0afad32
randr: function to apply current config
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
f6a0ec2753
randr: only activate outputs we want to connect
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
52751092f5
randr: store connection status in output
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
2e7964794b
randr: make current setup extern
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
9bd18c6272
randr: same param name in prototype and function
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
d6cec482d4
randr: don't let crtc changes change our config
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
ff750b2bb9
randr: add match for refresh rate
...
Store output config with refresh rate, so we don't just get correct
geometry for outputs.
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
f32426878c
randr: common function for fetching output name
...
Add a common function to get output name, and also check edid if no name
is set by randr.
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
82e7d1184c
randr: remember crtc in output struct
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
2b4a70b283
randr: remove wrong typedef
...
There is no struct for crtc config
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
5c6eed2307
randr: allocate hot-plugged outputs
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
11e21fd1ff
randr: allocate hot-plugged crtcs
2014-03-06 15:18:14 +01:00
Sebastian Dransfeld
8b5153130a
randr: Use already fetched root window
2014-03-06 15:18:14 +01:00
Mike Blumenkrantz
63b01101ee
fix comp util object initial visibility
2014-03-05 10:53:05 -05:00
Mike Blumenkrantz
851ef43c41
force comp render on dirty for hidden objects with visible mirrors
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz
8b4162d681
fix maximization geometry on desks with shelves
...
in some cases during startup a client can get post-maximize geometry before the sizing algorithm is applied
fix T1052
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz
ee6b8e8c38
simplify maximize shelf fill visibility check
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz
267966834f
fix deskmirror visibility for re_manage previously-iconic clients
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz
f82351d3e2
reset client urgency on focus-out and iconify
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz
9ad04eb877
redo client urgency again with separate flag for actual urgent state
...
preserve icccm flag for accurate detection
2014-03-05 10:08:09 -05:00
Stefan Schmidt
58286beed4
e_comp_wl: Remove unused variable.
...
Later on we use state_w directly.
2014-03-05 13:41:35 +01:00
Mike Blumenkrantz
8568a76313
always set iconic client comp state as visible
...
pass: init_states
2014-03-04 15:20:24 -05:00
Mike Blumenkrantz
5241140dd2
don't run client visibility idler updates for iconic clients
2014-03-04 15:20:24 -05:00
Mike Blumenkrantz
7b44add514
redo iconic setting for new clients
2014-03-04 15:20:24 -05:00
Mike Blumenkrantz
043a3c17e0
fix some enum decls
2014-03-04 15:20:24 -05:00
Carsten Haitzler
5c8710ded3
fix screen blanking while fullscreen window is up - work again
...
@fix - this fixes T1019 - when a window is fullscreen the display just
NVER can blank no mater what. it's hrdcoded, and wrong to enforce. if
an app wants to display screensaver - there is the xscreensaver extn -
or maybe supporting an explicit property on a window would work
better, but just equating fullscreen == never blank is wrong. it's an
option now. off by default.
2014-03-01 08:04:09 +09:00
Mike Blumenkrantz
e77d536466
remove comp override immediately on screensaver disable
2014-02-28 15:27:35 -05:00
Mike Blumenkrantz
41c4cded01
send unmaximize signal when unfullscreening
...
fix T1044
2014-02-28 14:55:27 -05:00
Mike Blumenkrantz
54999472de
force full rerender on present pixmap size change
...
a new X extension should make this unnecessary in the future for pixmap resizes, but for now it seems to be a necessary evil
fix T993
2014-02-28 10:48:54 -05:00
Mike Blumenkrantz
c720451933
force client urgency unsetting on focus
...
fix T1016
2014-02-27 21:05:33 -05:00
Mike Blumenkrantz
6555daf56d
correctly set keygrab flag on renaming efm icon to not permanently break input
2014-02-27 20:51:02 -05:00
Mike Blumenkrantz
78403e2f54
don't reshadow on client redirect
...
fix T1019
2014-02-27 20:31:18 -05:00
Mike Blumenkrantz
6abcb5f946
save efm rename focus hook pointer
2014-02-27 20:26:16 -05:00
Mike Blumenkrantz
c01a1fcc6c
manage comp overrides for comp objects
...
fix T1019
2014-02-26 11:46:32 -05:00
Mike Blumenkrantz
def17d763b
+e_comp_util_object_is_above_nocomp()
2014-02-26 11:46:32 -05:00
Mike Blumenkrantz
6a90f66cc4
use comp overrides when grabbing comp input
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
7604e7a6f7
use one comp override per comp, not per zone, when toggling screensaver fading
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
a331627e09
reduce comp override pop timer, successive pops trigger instapop
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
a52ede0c66
track current nocomp client
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
a22181c0da
allow nocomp on some overrides
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
ef26b0fb1e
set client-redirected on overrides
2014-02-26 11:46:31 -05:00
Daniel Kolesa
79f3313931
e_comp_x: reverted 7c20b54
(was fixed in the meantime and i didn't notice)
2014-02-25 20:30:45 +00:00
Daniel Kolesa
7c20b5407a
e_comp_x: check for zone before actually using it
2014-02-25 20:16:15 +00:00
Mike Blumenkrantz
b7f4686d00
e_object zone warning--
2014-02-25 14:44:05 -05:00
Daniel Kolesa
6085d79df8
e_client: build fix
2014-02-25 19:40:37 +00:00
Mike Blumenkrantz
eca0549238
only set atoms for zone geometry for non-ignored clients
...
another T787 crash
2014-02-25 14:38:08 -05:00
Carsten Haitzler
0313a54da4
e-object-check - this has been turned off since 2007 - back on
...
this is crazy. all the E_OBJECT_CHECK macros have been off since 2007.
this is just nuts. either remove them, or have them on by default, but
not off. so this turns them back on and fixes code to actually compile
again with them on, as this broke over the years. a lot of code
expects/assumes thatthese willcheck types and null ptrs, but they
don't because they are off by default.
2014-02-26 04:28:12 +09:00
Mike Blumenkrantz
9395553039
don't reset ignored clients on canvas update
...
part of T787
2014-02-25 09:46:41 -05:00
Sebastian Dransfeld
43aed04241
randr: check NULL before dereference
...
Fixes CID 1181926
2014-02-24 09:17:25 +01:00
Mike Blumenkrantz
c4a9adebc8
bugfix: don't use raise stack for iterating clients
...
T914
2014-02-21 17:53:14 -05:00
Mike Blumenkrantz
b92fb1af3e
fix visibility checks for shelves in client smart placement
2014-02-21 17:44:02 -05:00
Mike Blumenkrantz
d6c037ff30
fix maximize size calculation on non-current desks with shelves
2014-02-21 17:19:02 -05:00
Mike Blumenkrantz
21d9b84c53
force resizing when changing desk on same screen
...
this normally happens in zone_set
2014-02-21 17:19:01 -05:00
Mike Blumenkrantz
5857bd32e5
fix e_maximize_client_shelf_fill() to account for all shelves
2014-02-21 17:19:01 -05:00
Mike Blumenkrantz
33370022af
deskmirror now handles border theme changes
2014-02-21 17:19:01 -05:00
Mike Blumenkrantz
4cb130e25b
break out deskmirror frame setup into helper function
2014-02-21 17:19:01 -05:00
Mike Blumenkrantz
e86dc53ddc
feature: per-screen desklock logo visibility config
...
T613
2014-02-21 17:18:57 -05:00
Mike Blumenkrantz
0e66cdda82
only move/resize non-override internal clients during eval
...
T1007
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
bf47dcdb79
cancel efm rename operation on focus change
...
T987
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
25907a9f60
use comp grab functions consistently for efm grabs
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
96092f5f04
efm shouldn't accept file renames when selecting another file
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
f75a923ab0
break out client focus reset into separate function
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
4bf4fb69ed
check focus reset after comp input ungrab
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
63d6153d86
reject comp autoclose refocus during comp input grabs
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
88831252c8
use current desk when unsetting client sticky property
...
T989
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
aec20f1420
force full render on present events during startup
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
71bfe06bb3
fix debug format string
2014-02-21 16:44:11 -05:00
Mike Blumenkrantz
1a3e86c3c9
fix race condition when repeatedly resizing clients too fast
...
T993
2014-02-21 16:44:11 -05:00
Carsten Haitzler
22369ffc7b
ensure that the bg object exists before emitting signals in e_desk_show()
2014-02-21 09:34:25 +09:00
Mike Blumenkrantz
0bd9052c7e
better fix for exec client removal: don't remove if exec is deleted
2014-02-18 06:56:54 -05:00
Mike Blumenkrantz
fba7100590
fix client menu layer checks
...
T984
2014-02-18 06:45:20 -05:00
Mike Blumenkrantz
37c1345aa1
fix crash when repeatedly opening multiple client menus
2014-02-17 17:30:15 -05:00
Mike Blumenkrantz
ef360e1684
resize damage tiler on resize
...
this fixes render races which occur when damages and resizes happen in quick succession
2014-02-17 19:11:33 -03:00
Mike Blumenkrantz
14c7e58a29
improve infos for e_comp_util_wins_print()
2014-02-17 19:11:33 -03:00
Mike Blumenkrantz
b317bedf5a
remove comp object dirty flag
...
this logic was useful for another issue which has since been fixed. it currently only serves the purpose of triggering a race condition crash which I do not enjoy.
2014-02-17 16:21:02 -03:00
Mike Blumenkrantz
4c2db4342a
bugfix: unref client when removing from exec if exec is deleted
...
fixes a race condition where client would never be freed when closing lots of windows simultaneously
2014-02-17 16:21:02 -03:00
Sebastian Dransfeld
60483a11a0
randr: split config and current setup
...
This is so the current config does get changed unless the user requests
it, and makes it possible to have several configs.
2014-02-17 08:44:56 +01:00
Mike Blumenkrantz
7423b5cac1
really fix deskmirror sticky+hidden client handling
...
quickaccess...
2014-02-15 01:32:07 -05:00
Mike Blumenkrantz
025e0b7565
show hidden clients in deskmirror when in pager or taskbar mode
2014-02-15 01:25:21 -05:00
Mike Blumenkrantz
9419f687aa
make e_win delete callback less recursive-prone
2014-02-14 15:49:49 -05:00
Mike Blumenkrantz
e6fa8f3176
don't unfullscreen clients if:
...
* iconic
* hidden (desk flipped)
* not on current zone
T920
2014-02-14 15:08:23 -05:00
Mike Blumenkrantz
bbf29c6a2a
only set want_focus for non-hidden clients when deferring focus setting
...
T950
2014-02-14 14:56:16 -05:00
Mike Blumenkrantz
46a715db35
hidden clients should be hidden in deskmirror
2014-02-14 14:46:07 -05:00
Mike Blumenkrantz
8df52a1f22
don't create remembers for ignored clients
2014-02-14 14:40:16 -05:00
Mike Blumenkrantz
96316e2969
bugfix: no more crashing when deleting entry widgets
2014-02-14 14:12:12 -05:00
Mike Blumenkrantz
494e6bc5ee
another revision for client geometry resets: take new geometry instead of ignoring it
2014-02-14 13:43:15 -05:00
Mike Blumenkrantz
1c82215eaa
force client changes when calling e_win geometry functions
2014-02-14 13:42:49 -05:00
Mike Blumenkrantz
208e7e17bc
bugfix: adding/changing comp match window types is now possible
2014-02-14 13:05:17 -05:00
Mike Blumenkrantz
92c7ec1dad
DOCKs should actually be "none" so they don't get shadows
2014-02-14 13:05:00 -05:00
Mike Blumenkrantz
9d9ee6c33b
add default comp match for DOCK window types
2014-02-14 12:46:53 -05:00
Mike Blumenkrantz
c7cf99ba45
bugfix: comp match adding once again functional
2014-02-14 12:41:34 -05:00
Mike Blumenkrantz
09cb41f1dc
only reset move/resize attempts if the pending move/resize is different than the current one
2014-02-13 22:46:48 -05:00
Mike Blumenkrantz
d80dbc1a35
add maximize_override client flag
...
sometimes you just want to do stuff on a client without any maximize logic applying!
2014-02-12 20:37:52 -05:00
Mike Blumenkrantz
aa37188e02
add maximize_pre and unmaximize_pre smart callbacks
2014-02-12 20:37:39 -05:00
Mike Blumenkrantz
7571ccb2d8
reapply geometry and unset post flags when a client intercept gets the current geometry
2014-02-12 19:50:50 -05:00
Mike Blumenkrantz
0b2e3ea2e3
add unmaximize_done client smart callback
2014-02-12 19:50:17 -05:00
Mike Blumenkrantz
82faa72a45
move maximize_done client smart callback to the end of maximize
2014-02-12 19:49:58 -05:00
Mike Blumenkrantz
0d2945149a
client signal actions are not mouse actions
...
mouse actions have a different end path which causes pointer popping to not occur
T913
2014-02-12 12:06:13 -05:00
Mike Blumenkrantz
1f534c3b32
set client move/resize vars in time for client hooks
2014-02-12 11:50:00 -05:00
Carsten Haitzler
3e17092db8
fix segv with comp post_updates
...
if we keep a list of e clients... either make sure any client deleted
is removed from the list on deletion... OR use ref/unref to ensure it
stays alive as long as it's in the list.
2014-02-12 12:34:28 +09:00
Mike Blumenkrantz
6802ae750d
send smart object to comp effect end cb
2014-02-11 22:29:34 -05:00
Mike Blumenkrantz
449ec43d1f
size comp zoomap child to pixmap, not client
...
this affects nothing
2014-02-11 21:45:04 -05:00
Mike Blumenkrantz
57f0bf6429
fix zoomap alpha setting
...
doesn't affect anything right now, but someday...
2014-02-11 21:43:54 -05:00
Mike Blumenkrantz
5a14f9f00e
unset client.saved after unmaximize callback
2014-02-11 19:28:25 -05:00
Mike Blumenkrantz
3f5b5b03b2
call unmaximize smart callback for all unmaximizes, fix client sizing on directional unmax
2014-02-11 19:01:36 -05:00
Mike Blumenkrantz
ffe5670b39
add "maximize_done" smart callback for clients
2014-02-11 18:48:56 -05:00
Mike Blumenkrantz
e564187759
hook shadow_change smart callback to fix deskmirror shadows without crashing constantly
2014-02-11 18:48:14 -05:00
Mike Blumenkrantz
adb398b6be
Revert "fix pager16 shadow inconssistency"
...
This reverts commit c91840ea54
.
2014-02-11 18:42:17 -05:00
Mike Blumenkrantz
2fd21db5e0
Revert "fix deskmirror crash from c91840ea54a398f56a513a9d02608f323d7e8f65"
...
This reverts commit 6221fb7c90
.
2014-02-11 18:42:06 -05:00
Mike Blumenkrantz
c3ce56c1dc
it's possible that a comp effect has no post-effect callback
2014-02-11 18:40:22 -05:00
Mike Blumenkrantz
bf48616a47
remove shadow check from shape apply
2014-02-11 18:40:02 -05:00
Mike Blumenkrantz
d9be56ad41
add smart callback on comp object for shadow change
2014-02-11 18:39:51 -05:00
Mike Blumenkrantz
6221fb7c90
fix deskmirror crash from c91840ea54
...
T941
2014-02-11 18:31:06 -05:00
Carsten Haitzler
ed5f83ab0b
fix probably NULL ic segv cause in efm
...
this SHOULD fix T933 if i could ever reproduce it...
2014-02-11 14:49:23 +09:00
Mike Blumenkrantz
0291edd719
hook STICKY client property change in deskmirror
...
T936
2014-02-10 20:14:59 -05:00
Mike Blumenkrantz
29cd45142a
remove E_EVENT_CLIENT_(UN)STICK, use E_EVENT_CLIENT_PROPERTY & E_CLIENT_PROPERTY_STICKY
2014-02-10 20:10:38 -05:00
Mike Blumenkrantz
e895d86839
set comp mirror alpha the same way as objects
...
T928
2014-02-10 09:54:01 -05:00
Mike Blumenkrantz
722b18de9a
set precise_is_inside based on shaped || shaped_input
2014-02-10 09:48:13 -05:00
Mike Blumenkrantz
e7127a93ff
don't set input shape differently on shaped_input clients
...
T931
2014-02-10 09:45:53 -05:00
Mike Blumenkrantz
a78d98700a
apply shadow states during theme setup
...
T885
2014-02-10 09:12:43 -05:00
Mike Blumenkrantz
e105c10d80
client shadow check with argb windows now returns based on frame state
...
T929
2014-02-10 09:12:28 -05:00
Carsten Haitzler
c91840ea54
fix pager16 shadow inconssistency
...
fixes T930
2014-02-10 12:21:27 +09:00
Mike Blumenkrantz
c47a7e9b8f
improve _e_client_move_begin():
...
* set ec->moving before MOVE_BEGIN hook
* remove comp grab on failure
* only raise if move succeeds
2014-02-07 14:29:07 -05:00
Mike Blumenkrantz
86d92adba6
set ecresize in e_client_resize_begin()
2014-02-07 14:24:37 -05:00
Mike Blumenkrantz
2817bf025b
more e_client_resize_begin() improvements: remove comp grab on failure
2014-02-07 14:23:55 -05:00
Mike Blumenkrantz
dab9f9eb3c
don't double unset resize_mode on e_client_resize_begin() failure
2014-02-07 12:04:06 -05:00
Mike Blumenkrantz
e68837c1d6
e_client_resize_begin() fixes
...
* make return value accurate
* unset resize_mode on failure
2014-02-07 12:01:12 -05:00
Mike Blumenkrantz
059870b970
layer setting on overrides during client_new wasn't a placeholder, just using the wrong value
...
T908
2014-02-07 09:23:50 -05:00
Mike Blumenkrantz
b97d043b25
assume that if we can't find a requested stacking client (X) it's going to be at the top of the stack
...
T908
2014-02-06 21:46:12 -05:00
Mike Blumenkrantz
9356644acc
set shelves to lowest object on layer
2014-02-06 21:43:40 -05:00
Mike Blumenkrantz
6524711e68
set comp theme object shadow state to off during setup
...
T907
2014-02-06 20:52:31 -05:00
Mike Blumenkrantz
446eb19653
use regular edje signal emit on regular edje objects
2014-02-06 20:51:58 -05:00
Mike Blumenkrantz
f71c85b509
feature: check udisks1 DevicePresentationHide flag
...
from D505
2014-02-06 13:15:41 -05:00
Mike Blumenkrantz
78334b615e
more stringshare improvements for window profile, apply window profile if no desk set (impossible?)
2014-02-06 12:59:28 -05:00
Mike Blumenkrantz
442f3904ed
remove unused var
2014-02-06 12:55:49 -05:00
Mike Blumenkrantz
ea7c0c3dcd
improve stringshare use in e_client_desk_set
2014-02-06 12:52:48 -05:00
Mike Blumenkrantz
7b5257530a
specify that E_Desk string members are stringshared
2014-02-06 12:39:09 -05:00
Mike Blumenkrantz
793b6ff319
improve stringshare use for e_desk window profile and name
2014-02-06 12:38:59 -05:00
Mike Blumenkrantz
c8ba69e3bf
gadgets now delete the right menu when menu is deactivated
...
T906
2014-02-06 12:33:39 -05:00
Mike Blumenkrantz
1b7b765ee4
bugfix: race condition when deleting clients and their e_exec
...
this occurred occasionally when a client was the last one on a phony exe
2014-02-05 20:52:55 -05:00
Mike Blumenkrantz
3499f454bd
fix signal callback deletion in comp effect start
2014-02-05 20:52:20 -05:00
Mike Blumenkrantz
a3fbcc339b
Revert "Revert "Revert "e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses"""
...
This reverts commit 91b3f2e0e1
.
revert wars part 4: the blizzard blitz!
the main point of freezing idlers here was not, in fact, to optimize, but to block an infinite loop which pegged the cpu until screensaver ended. this solution should be less issue-prone for the one person who had issues with the previous fix.
2014-02-05 13:22:42 -05:00
Mike Blumenkrantz
a16f820f95
only ignore protocol stacking if comp object is on a different layer
2014-02-05 13:05:05 -05:00
Mike Blumenkrantz
66325b2207
Revert "stop crash on accessing ec->desk if its null"
...
This reverts commit c3791d6b43
.
this is a workaround which prevents the underlying bug from being fixed.
2014-02-05 12:47:03 -05:00
Carsten Haitzler
7a3a81b144
bgpreview - fix sizing to not overrun bounds - fixes wallpaper in pager16
2014-02-06 01:18:16 +09:00
Carsten Haitzler
c3791d6b43
stop crash on accessing ec->desk if its null
...
unknown if this was a bug before - never saw it before, so for now
shal assume it's new.
2014-02-06 01:18:16 +09:00
Carsten Haitzler
91b3f2e0e1
Revert "Revert "e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses""
...
This reverts commit 3067f600ee
.
revert wars! - i keep hitting problems - the one i still see is that i
come back to a machine that has blanked for a while - i launch some
app (terminology, sylpheed, chromium - doesn't matter) and no window
appears. psorcess is running. no matter how many times i launch it ...
no new process appears. this is a major bug. stopping the idler is an
optimization not a necessity.
2014-02-06 01:18:15 +09:00
Carsten Haitzler
4e8b14a245
formatting fix.
2014-02-06 01:18:15 +09:00
Mike Blumenkrantz
569c90e87f
e_client_util_is_stacking() -> e_client_is_stacking()
...
regrettably, this can't be in e_client.x because it needs E_Comp struct members and header order does not allow for this :(
2014-02-05 10:58:57 -05:00
Mike Blumenkrantz
8d71213839
e_client_name_get() -> e_client_util_name_get()
...
this should be inlined
2014-02-05 10:55:50 -05:00
Mike Blumenkrantz
eba912cf6a
e_client_resizing_get() -> e_client_util_resizing_get()
...
functions in e_client.x should be namespaced with e_client_util to indicate that they are inline (and in e_client.x)
2014-02-05 10:51:36 -05:00
Mike Blumenkrantz
4eae850861
e_util_client_shadow_state_get() -> e_client_util_shadow_state_get()
...
removals: e_util_client_shadow_state_get
2014-02-05 10:48:31 -05:00
Mike Blumenkrantz
27768fcb03
guarantee comp shadow is off when frame exists
2014-02-05 10:48:01 -05:00
Mike Blumenkrantz
cd37f23632
allow shadows on borderless, non-argb, non-shaped clients
...
T885
2014-02-04 22:27:23 -05:00
Mike Blumenkrantz
ca760bb103
check client ignores before dereferencing desk
...
D519
2014-02-04 21:29:29 -05:00
Mike Blumenkrantz
f3587f67f2
remove conf2 the rest of the way...
2014-02-04 09:41:07 -05:00
Mike Blumenkrantz
3067f600ee
Revert "e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses"
...
This reverts commit 231b780996
.
despite appearances, this functionality isn't solely for efficiency, and as such I have no plans for it to be removed.
2014-02-03 19:16:11 -05:00
Carsten Haitzler
231b780996
e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses
...
so since this e main idler freeze/thaw i've noticed several times, i
come back to my machine after screen-off time period, i wke it up with
a mouse wiggle or keyboard press and try run terminology - no windwo
appears. i can run it all i want - it never shows up but the processes
are there. i've seen it happen to sylpheed where its fetch window
doesn't appear. i've had myserious menu edje objects on the top-left
with only a single item with no bg. i've had e even unable to restart
on ctrl+alt+end.
so i disabled the idler freeze/thaw as i suspected this is what the
root cause is, and sinc ethen the above problems stopped manifesting.
i can only conclude it's a deep and nasty bi-product of stopping the e
main idler, so don't do it. :) better be a bit less efficient than
buggy. either way setting manual rendering and dropping the animator
framerate should do almost all the things needed anyway.
2014-02-04 08:08:20 +09:00
Mike Blumenkrantz
de9dde6daf
remember comp object dirty state and update when necessary
...
normal clients rely upon the guarantee that they will receive another resize on next render when size updates occur before visibility happens, but overrides will never receive another resize since they always size accurately. by remembering that the state was previously considered dirty, render updates which occur before visibility are no longer lost until the next damage/resize occurs
tl;dr: your menus show up again
2014-02-03 14:00:12 -05:00
Mike Blumenkrantz
20c09a3891
don't check client zone during idler
...
this happens on every move and resize, no need to check it a third time
2014-02-03 13:58:57 -05:00
Mike Blumenkrantz
f4de16df08
don't change zone after moving client
...
this happens automatically, and with more accuracy, later on
2014-02-03 13:57:45 -05:00
Mike Blumenkrantz
7efa7b3f27
don't overwrite existing coords on creation of override client
...
overrides come with their own placement for zones
2014-02-03 13:55:38 -05:00
Mike Blumenkrantz
3c436b5c09
bugfix: initial client positioning with multiple monitors improved
...
this was added a while ago to fix positioning of windows that wanted to start centered but couldn't accurately calculate xinerama screen sizes, resulting in windows getting centered across the screen split. it ended up being a bit too aggressive, however.
2014-02-03 13:03:01 -05:00
Mike Blumenkrantz
d293b368b8
bugfix: screen limits policy no longer breaks X client positioning
...
this has been broken since it was added, and I strongly regret allowing it to be added.
2014-02-03 12:52:35 -05:00
Mike Blumenkrantz
ad8b4e6d4d
track main loop edje freeze state
2014-02-03 11:58:02 -05:00
Mike Blumenkrantz
ebeffa1a91
bugfix: hide drag icons after dnd operation ends
...
T797
2014-02-03 11:14:04 -05:00
Mike Blumenkrantz
21019e952f
Revert "add default comp match for geany autocompete window"
...
This reverts commit 5c5a89bfec
.
2014-01-30 19:15:47 -05:00
Carsten Haitzler
2de63a2f0b
comp matches - add menu and dnd types in list
2014-01-31 08:50:37 +09:00
Mike Blumenkrantz
9409f435a3
e_util_glob functions now automatch when pointers are the same
2014-01-30 13:11:00 -05:00
Mike Blumenkrantz
d3468dd920
feature: ACTIVATE_EXCLUDE window active hint policy
...
this option causes window activation requests to only activate a window if it is on a currently visible virtual desktop, otherwise it will be set as urgent. I recall that things may have worked this way long ago...
2014-01-30 12:45:49 -05:00
Mike Blumenkrantz
3125c3a674
fix more misuses of comp animating flag
...
this should even things out permanently here and ensure things get deleted when they should
related: T879
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
4bae09712d
internal windows are NOT re_manage
...
setting re_manage breaks visibility animations on first show
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
752c220482
redo X first_damage logic
...
the main idea here is to not DRAW at the time of the first damage to avoid overdraw, but ignoring the fact that the region is ready to be drawn can be problematic when the drawing eventually occurs. best choice here is to keep the region but not the render update
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
340e02efb5
ignore non-internal override clients when stacking
...
this fixes the case where clients will briefly escape normal/expected stacking on startup if an override is visible
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
53e477a7d0
simplify layer marker stacking setup
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
b6cbacc77e
ignore re_manage clients for X object creation events
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
5c5a89bfec
add default comp match for geany autocompete window
...
given that we're compositing-only now, we should be adding more of these for common apps to improve the user experience on a base configuration
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
d1fb844db0
bugfix: comp matching correctly edits in place and doesn't crash
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
cd6fcead3e
add object configuration to comp matches
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz
1d22c527a3
force comp reshadow after pixmap fetch succeeds, not during setup
...
reshadowing earlier than this makes it very likely that client attributes have not been fetched, meaning that the match will fall through to a default type match instead of using the correct one
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz
49cfe28719
use object list for comp matching internal objects
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz
2ef7f0f760
rename tabs in comp match dialog to be more descriptive
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz
628696f2af
use E_Window_Type for comp match dialog instead of Ecore_X_Window_Type
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz
4bcc43282e
use E_Window_Type for comp matches instead of Ecore_X_Window_Type
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz
f14aa06c7c
remove default comp match for Background_Window
...
this no longer exists
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz
37fd470632
remove default comp match for Init_Window
...
this no longer exists
2014-01-30 12:12:00 -05:00
Daniel Kolesa
811c57cfaf
enlightenment: fix menu placement
2014-01-30 12:17:54 +00:00
Mike Blumenkrantz
8e6cd13766
fix some misuses of comp animating flag
...
T879
2014-01-30 06:59:11 -05:00
Mike Blumenkrantz
5a2aab8457
reject stopping comp object effect if wrong end_cb is passed
2014-01-30 06:55:14 -05:00
Mike Blumenkrantz
9d3f47f4f6
ignore deleted clients on comp object add event
2014-01-29 21:12:07 -05:00
Mike Blumenkrantz
db01319aee
ref client itself during comp object add event
2014-01-29 21:12:07 -05:00
Mike Blumenkrantz
7ef4340c3f
revert 83397e1bde
2014-01-29 21:12:07 -05:00
Mike Blumenkrantz
10ef8170d4
remove iconify files
2014-01-29 21:12:07 -05:00
Carsten Haitzler
b7515a0958
null out damage on free in _e_comp_x_hook_client_del
2014-01-30 11:02:44 +09:00
Carsten Haitzler
83397e1bde
fix segv where comp_data is null but still accessed
...
it seems i have an override-redirect window just off the bottom-right
of my screen - i think its the scim input panel status. what happens
is it is "managed" by comp but then deleted (_e_comp_x_hook_client_del
called), BUT _e_comp_x_object_add is called with a deferred event for
that client to add it again (likely this is a race) which finds he
client in a state of not having comp_data as the E_FREE in
_e_comp_x_hook_client_del() frees it and sets it to NULL. move the
comp_data free to the actual client free (which is the last time a
client is valid at all) solves this.
2014-01-30 08:55:28 +09:00
Mike Blumenkrantz
9b36b9b78c
remove comp iconify hacks (and e_iconify api), expand comp object effect api
...
instead of adding specific handling which will work (sometimes) in one specific case, expand already-existing api to provide the needed functionality for iconify animations. now on emitting any signal to a comp object, optional glob-able effect providers can be hooked and prioritized to add effect animations
also use animating flags now when applying an object effect
a base effect is provided in elementary, but now each module which wants to hook iconify animations (or other events) can do so in the theme and have different animations with their module
2014-01-29 13:36:42 -05:00
Mike Blumenkrantz
e5bbb98918
don't reset focus to iconified clients on autoclose delete
2014-01-29 13:36:42 -05:00
Mike Blumenkrantz
c4afece1a3
revert 8b62039e6a
, use existing layer_block flag
2014-01-29 13:36:41 -05:00
Carsten Haitzler
5bfbc3f5f9
iconify - fix priority handling for iconify provider
2014-01-29 23:09:19 +09:00
Carsten Haitzler
8b62039e6a
support temporary layer changes for iconify anim purposes
2014-01-29 22:42:54 +09:00
Carsten Haitzler
1ede2a5632
iconify provider - the ability to provide geometry for src/dst of iconify
...
ibox now uses this as an initial test. there are teething problems:
1. unknown location for new icon (guess that its on right)
2. stacking - the animation is at the stacking layer of the comp obj
... this probably needs a way for the comp shobj to request a
temporary stacking change until anim done
2014-01-29 22:42:54 +09:00
Mike Blumenkrantz
1efb80bddb
set manual render and increase ecore frametime during screensaver
2014-01-28 21:13:55 -05:00
Mike Blumenkrantz
82dd3443ea
always thaw edje when freezing main idlers
...
this prevents edje from being stuck in the frozen state upon wakeup
2014-01-28 20:45:43 -05:00
Mike Blumenkrantz
0ff2a408d3
force stacking for all new X clients during add event
...
this fixes a race condition when windows open simultaneously and then are stacked under each other: the previous result was that they would end up hanging out at the top of the window stack (above all windows) until another window was raised above them. now they stack as expected
2014-01-28 20:43:19 -05:00
Mike Blumenkrantz
576f0bab2d
reject successive attempts to add evas callbacks in X compositor
2014-01-28 20:43:03 -05:00
Mike Blumenkrantz
49d6de3316
send X flush/dump to client window, not parent window
2014-01-28 15:38:40 -05:00
Mike Blumenkrantz
2c41e314d0
check sticky flag when setting comp hidden on desk set
...
seriously guys, I fixed sticky windows this time. seriously.
2014-01-27 21:49:34 -05:00
Mike Blumenkrantz
55bc44c9b8
feature: main idlers now freeze during screensaver to conserve power
2014-01-27 21:44:51 -05:00
Mike Blumenkrantz
cf267da573
also fix unsticking clients
...
e_client_desk_set() will sort out the hidden flag here automatically, so unsetting it is always the better choice
2014-01-27 21:44:05 -05:00
Mike Blumenkrantz
35aaabc491
fix toggling sticky state on clients
...
previously this would break windows if it was set based on persisting X hints
2014-01-27 21:35:39 -05:00
Mike Blumenkrantz
3dd0ea5189
break out client urgency setting into separate api function
...
this unclutters the client idler a little and also makes it easier to correctly set the urgency hint for clients
2014-01-27 21:35:39 -05:00
Mike Blumenkrantz
f54d669f43
add forgotten proto for e_widget_filepreview_clamp_video_set
2014-01-27 21:35:39 -05:00
Mike Blumenkrantz
7e0efcc508
remove e_main idler api
...
this was pretty old/legacy and looked like it would fall over pretty easily. there's no users and I see no use for it, so it goes bye bye
removals: e_main_idler_before* api
2014-01-27 16:15:07 -05:00
Mike Blumenkrantz
927300053d
feature: show video resolution in filepreview widget
2014-01-27 12:29:15 -05:00
Mike Blumenkrantz
bc3e1fd94f
feature: add fileman option to clamp video size for video previews
...
T102
2014-01-27 12:28:35 -05:00
Mike Blumenkrantz
6c79b3ea87
only change to image cursor if not using e cursor
...
T851
2014-01-27 11:18:03 -05:00
Mike Blumenkrantz
8aafbfe6ce
X cursor color support doesn't depend on config values
2014-01-27 11:12:56 -05:00
Mike Blumenkrantz
9b2372a798
ignore X configure events where override is not set
...
this handler is only for dealing with overrides, so if this flag isn't set we're not interested
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz
7a8a06ec7e
set all clients to NORMAL layer by default
...
I added a workaround for overrides a while ago when things were less good and then didn't take it out again when things became more good
T718
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz
cd2cde6477
clean up client delete+unfocus
...
previously there were cases where client focus was not explicitly unset on delete, which resulted in expected client hooks not being called and minor inconveniences to occur
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz
a466b92c8d
make client util functions take NULL more gracefully
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz
b6f46fb622
ungrab comp input if either keyboard or mouse is set, not both
...
T858
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz
de58ff7ecd
only hide/delete comp util objs if hiding flag is set
...
if an object is shown during the hide animation, this flag gets unset
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz
6effdae157
fix comp util adding of already-visible objects
...
this fixes pager popups which don't use the new style of popup adding
2014-01-27 10:58:40 -05:00
Daniel Juyung Seo
bbe9868c49
bugfix: fix up/down key directory of slider.
2014-01-27 13:18:04 +09:00
Carsten Haitzler
04265d3b9f
bugfix: potential/maybe fix of e checking for itself on startup
...
unknown if this fixes the issue as i can't reproduce it.
2014-01-27 08:21:28 +09:00
Mike Blumenkrantz
fa33846fe4
force show of X layer markers on startup
...
this is cosmetic and only quiets some console errors on startup
2014-01-24 18:42:52 -05:00
Mike Blumenkrantz
99dca3c944
set first_damage flag on overrides
...
some overrides, in very rare cases, seem to only send a single damage. rendering at this point doesn't seem to hurt anything, so I'll give it a shot
2014-01-24 17:44:19 -05:00
Mike Blumenkrantz
db31ccc5de
unset new_client flag for override windows
...
this flag is used to block most cwm actions until after the client is past its first loop iteration. overrides, however, don't need to be blocked and will in fact break sometimes (fuck you gtk) as a result
it's worth noting that showing/hiding overrides extremely fast will still break the compositor a little in that I'm not going to render a single frame while constantly playing edje hide/show animations which are longer than the actual render. with animations disabled, however, rendering occurs as expected.
T831
2014-01-24 17:38:27 -05:00
Mike Blumenkrantz
6044fd8a78
force pixmap refresh for overrides, also automatically set pixmap size
...
override windows don't get PRESENT notifications, apparently, but this can be shortcut anyway by just setting the size from the configure event
2014-01-24 17:36:47 -05:00
Mike Blumenkrantz
09e15c49ac
only clear comp updates on resize if it isn't the first resize
2014-01-24 17:33:37 -05:00
Mike Blumenkrantz
03accb7525
return 0 for client util window_get inlines if no pixmap available
2014-01-24 17:28:32 -05:00
Mike Blumenkrantz
57903b7aa3
only send ICCCM move/resize if it isn't already going to be sent
2014-01-24 16:20:21 -05:00
Mike Blumenkrantz
d48f386c23
add define for making render debug messages easier to enable
2014-01-24 16:07:33 -05:00
Mike Blumenkrantz
c06eca070d
send ICCCM move/resize for configure requests on X windows
...
somehow this got left out of the E19 handler, which broke apps that relied upon such notifications, most notably gnome-terminal
2014-01-24 16:01:01 -05:00
Mike Blumenkrantz
a4c5629e7a
check for comp data deletion and block X calls
...
these are all invalid if client's comp data has already been cleared, so just let the compositor manipulate stuff without touching protolol
2014-01-24 13:13:07 -05:00
Mike Blumenkrantz
d4abb904ad
fix cursor visibility when working with canvas cursors
...
wayland cursors no longer override E cursors depending on config, and they also no longer randomly delete your cursor entirely
T851
2014-01-23 17:06:27 -05:00
Mike Blumenkrantz
99a4e5bd27
remove e_pointer_block api
...
this was a failure idea for a way to block X cursor changes using an api, which turned out to be overengineered
2014-01-23 17:04:41 -05:00
Mike Blumenkrantz
1f25710907
reset pointer type from config when updating size
...
this fixes switching between X/E cursors without restarting
2014-01-23 17:03:56 -05:00
Mike Blumenkrantz
e9c0e2c829
set X cursor color availability based on current compositor's root cursor
...
internal window cursors now display normally
T785
2014-01-23 16:17:34 -05:00
Mike Blumenkrantz
e54434e2db
set X root pointer after determining color availability
...
E cursor now shows normally on startup
2014-01-23 16:16:58 -05:00
Mike Blumenkrantz
ba82fb221d
set only one client, the top client, as the focused client on restarts
...
with this, stacking and focus should be perfectly preserved across e restarts
2014-01-23 13:26:35 -05:00
Mike Blumenkrantz
00c4873d06
force X stacking for re-managed clients on startup
...
this ensures that X stacking is the same as canvas stacking
2014-01-23 13:26:00 -05:00
Mike Blumenkrantz
6a80d19cd7
restack windows after unreparenting on shutdown
...
this preserves stacking order across restarts
2014-01-23 13:25:25 -05:00
Mike Blumenkrantz
c73aed330b
only set take_focus for X clients after main loop has been reached
2014-01-23 13:24:46 -05:00
Mike Blumenkrantz
a38d8828e9
don't bother with client hide animations on shutdown/restart
2014-01-23 13:23:41 -05:00
Mike Blumenkrantz
f0bb277632
don't free client list on comp shutdown
...
clients remove themselves from the client list, so this makes us fail at freeing all the clients
2014-01-23 13:20:40 -05:00
Mike Blumenkrantz
aba8a6fe32
create clients for stacking windows immediately, don't check for them later
2014-01-23 12:01:31 -05:00
Mike Blumenkrantz
40a3950855
trivial use local window variable instead of helper function
2014-01-23 11:48:18 -05:00
Mike Blumenkrantz
525a342b2e
suuuuuper don't restack layer markers
2014-01-23 11:42:22 -05:00
Mike Blumenkrantz
b10f81de08
clean up shape input rect setting code
2014-01-23 10:34:17 -05:00
Mike Blumenkrantz
5707e8ceb8
I was right the first time...disable shape events on internal wins not input_only
2014-01-23 10:34:17 -05:00
Mike Blumenkrantz
4614d8b0fb
and fix window_move action by putting this line back
2014-01-23 09:12:10 -05:00
Mike Blumenkrantz
292e8fd4b3
Revert "comp: fix self feeding event loop with shape input events on override wins"
...
This reverts commit 05a7087c84
.
2014-01-23 09:02:33 -05:00
Mike Blumenkrantz
b1fd48af59
don't double grab compositor input during client actions
...
T844
2014-01-23 08:52:45 -05:00
Mike Blumenkrantz
006c09621b
revert 0f3e3ae5da
, 14207e9770
...
shape modification on overrides
T847
2014-01-23 08:52:45 -05:00
Carsten Haitzler
05a7087c84
comp: fix self feeding event loop with shape input events on override wins
...
so comp would call ecore_x_composite_window_events_enable in
_e_comp_x_client_shape_input_rectangle_set()
_e_comp_x_hook_client_post_new_client() all the time.. because
ec->need_shape_merge was always set.. why was it always set.. because
ecore_x_composite_window_events_enable woudl set shape rectangles to
make the window visible to input events... so e would feed itsefl with
events all day long via x. this shortcuts that to check if event rects
are the SAME then don't set them as the ones that are stored.
2014-01-23 19:58:59 +09:00
Mike Blumenkrantz
0f3e3ae5da
ignore only non-override non-reparented clients when disabling composite events
2014-01-22 22:34:55 -05:00
Mike Blumenkrantz
7f72d160af
don't select shape events for input_only clients, do set for internal clients
2014-01-22 22:34:01 -05:00
Mike Blumenkrantz
e115cbc906
reset focus to last focused client upon closing an autoclose object
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
5549c1b530
handle shaped overrides more accurately for theme and rendering
...
overrides don't get to do shape exports for rendering, so this needs to be done during the initial shape check
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
c24d3c60aa
break out X shape rect check loop into helper function
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
ae4e98b856
only set shape export flag during shape update event for non-overrides
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
14207e9770
allow toggling composite window events for override windows
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
2d29661541
select shape events for override clients
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
d5ce4e0517
more commented out debug lines for comp object
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
9201ac12d4
resize pending update tiler during size update
...
another tiler gets merged a few lines down and clipping is bad
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
2943d88042
only set shape merge/export flags for non-override clients on resize
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
199882ea25
disable shadows for override clients with alpha
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
6b246c7c8a
clean up comp object autoclosing when overwriting existing autoclose object
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
9a3ea2d1bb
use regular comp grabs for menu
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
aad88716a4
fix compositor grab tracking
...
it's possible to have multiple/recursive grabs, so the number of grabs active needs to be tracked
T820
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
b363dc802d
use client fullscreen flag to determine current fullscreen state
...
T834
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
fdc3d29899
bugfix: remove drop handlers from responsive hash on deletion
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
3e0cbdc441
bugfix: efm dnd to external windows
...
deleting the drag at this point deletes the window which owns the current selection, guaranteeing that the operation will fail
T797
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
d86051ff82
bugfix: multiple drop handlers using same window no longer overwrite each other
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
2dac967604
shadow checks for overrides only need to check for shaped and comp match
...
T833
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz
db7a1f6df3
force prerendering for internal clients
...
we can assume that these are always going to be ready for drawing immediately, and sometimes X fucks up the damages so it's best to go with the full frame from the beginning
2014-01-22 22:14:33 -05:00
Carsten Haitzler
15abb86bea
efm - emit signal to icon when rename starts/ends
...
this, along with theme updates in elm should fix T799
2014-01-22 18:31:49 +09:00
Mike Blumenkrantz
a8d3a0e57f
emit backlight changed event for X backlight events
2014-01-21 17:26:21 -05:00
Mike Blumenkrantz
3ccdd6ab32
bugfix: backlight double comparison now less likely to fail
2014-01-21 17:08:49 -05:00
Mike Blumenkrantz
0f938c9b78
do Xrandr backlight updates in place upon recieving events instead of looping all outputs
2014-01-21 17:07:21 -05:00
Mike Blumenkrantz
84a3eb7af0
make current backlight value internally exported
...
display system backends should be handling this in the event of changes, and being able to set it directly makes that easier
2014-01-21 17:06:27 -05:00
Mike Blumenkrantz
215c0409e0
feature: handle xrandr backlight using a single, accurate handler
...
there's an event from ecore-x which tells us when this property has changed, which means we no longer have to be constantly checking to see if other apps have changed it
2014-01-21 16:48:09 -05:00
Mike Blumenkrantz
d2f9a2efbf
cleanup frame icon upon failing to use it
2014-01-21 09:32:02 -05:00
Carsten Haitzler
9b4b003c40
make example/syntac for app action useful.
2014-01-21 21:30:17 +09:00
Mike Blumenkrantz
bec5d1fe51
backlight update loop cleanups
...
* do null check before adding to device list
* use name length from ecore_x_randr_output_name_get()
2014-01-20 22:21:40 -05:00
Mike Blumenkrantz
3addb45e79
fix fullscreen client place/adjust
2014-01-20 21:33:11 -05:00
Mike Blumenkrantz
0be9442140
only call ecore_x_randr_output_backlight_available() once in backlight
2014-01-20 21:30:38 -05:00
Mike Blumenkrantz
a310de50c8
block backlight updating during animation
...
updating backlight in this context causes my backlight to never return to normal levels, and blocking it doesn't seem to be unreasonable here
2014-01-20 21:05:51 -05:00
Mike Blumenkrantz
3ae9e394ec
add back first_draw_delay timer for X clients
...
this is a safety timer to handle the case of "what happens if a new client only ever sends one damage during its startup"
2014-01-20 19:03:50 -05:00
Mike Blumenkrantz
69d3e02638
ignore first damage for X clients
...
when not dealing with a re_manage client (persisting from previous E instance), we're almost definitely going to get multiple full-window damages as a new client starts up. the first damage USUALLY results in a garbage render, so ignoring it makes the first frame become actual window content (good!) or a transparent rect until the client finishes drawing (not good!), which is at least an improvement over showing random pixels
2014-01-20 19:01:04 -05:00
Mike Blumenkrantz
30d6b2e196
remove the black frame render fallback
...
I think the timing on resizes is perfect now, so we should never need to see this
2014-01-20 18:58:53 -05:00
Mike Blumenkrantz
097331864a
clear non-pending updates on resize
...
this smooths out resizes a barely noticeable amount since these updates (the pending-pending updates) are no longer relevant
2014-01-20 18:58:26 -05:00
Mike Blumenkrantz
4615db497c
remove damage from show interceptor
...
this is a bit broken since an actual damage might not have occurred yet. moderately sure I added it for testing at one point and then never removed it
2014-01-20 18:56:37 -05:00
Mike Blumenkrantz
e148451d4f
check for pending render updates before doing a black frame
2014-01-20 17:34:12 -05:00
Mike Blumenkrantz
36edca0773
remove unnecessary damage from resize
2014-01-20 17:28:16 -05:00
Mike Blumenkrantz
d0713cddb4
fix shading animations
...
yeeeep it's that simple. should probably move these to edje at some point
2014-01-20 17:27:31 -05:00
Mike Blumenkrantz
b4a9c55115
attempt to revert focus when iconifying a client
2014-01-20 16:43:47 -05:00
Mike Blumenkrantz
6ef655d2dd
feature: blanking options for wakeup on events (urgent + notify)
2014-01-20 16:08:14 -05:00
Mike Blumenkrantz
aefaaea57b
unify client borderless checks to use util function
2014-01-20 15:12:40 -05:00
Mike Blumenkrantz
8fe70c3d2a
fix client geometry when toggling borderless state
2014-01-20 15:12:23 -05:00
Mike Blumenkrantz
ed51fa2b96
add client util function for detecting borderless state
2014-01-20 15:11:53 -05:00
Carsten Haitzler
cd431350a5
e sys - if logout has trouble - resume so user can see dialog
2014-01-20 15:23:30 +09:00
Mike Blumenkrantz
d42b24632e
also update frame immediately during unmaximize
2014-01-20 00:08:25 -05:00
Mike Blumenkrantz
ef2a96eb82
apply frame changes before entering/exiting fullscreen
...
T816
2014-01-20 00:03:51 -05:00
Mike Blumenkrantz
bcee2e34aa
break out client frame setting into helper function
2014-01-20 00:00:45 -05:00
Carsten Haitzler
b48dc88f94
modules - add packagekit to the whitelist of ok modules
2014-01-20 12:04:19 +09:00
Mike Blumenkrantz
ec8424fb16
remove duplicate shaped client handling
2014-01-19 03:33:40 -05:00
Mike Blumenkrantz
8ce457889e
ensure withdrawn state is always set
...
this is what was breaking shows on things like yakuake
2014-01-19 03:33:39 -05:00
Mike Blumenkrantz
32d4c2f2b9
fix X shape exporting when bounding box changes
...
this fixes rendering on shaped clients like yakuake and makes them render even more accurately than E18
PS. I hate shape extension.
2014-01-19 03:33:30 -05:00
Mike Blumenkrantz
cbfee4f53e
uncomment debug function
2014-01-19 00:45:41 -05:00
ChunEon Park
7474036140
enlightenment - removed warnings.
2014-01-18 19:37:02 +09:00
Mike Blumenkrantz
d65ef1412f
try grouping phony execs together
...
this saves a little memory and also makes related eventing more useful
2014-01-17 19:02:56 -05:00
Mike Blumenkrantz
c66cdc1416
only add client to raise stack if focus tracking is enabled
...
focus tracking only gets frozen by winlist, at which point it's most likely that users also don't want the raise stack to be altered
2014-01-17 17:49:10 -05:00
Mike Blumenkrantz
eee5bfea9c
force X client adjust on frame change
2014-01-17 17:42:12 -05:00
Mike Blumenkrantz
4bebbf08d9
use right object to do frame unadjust when setting theme
2014-01-17 17:41:50 -05:00
Mike Blumenkrantz
43a8bbcc30
don't always raise clients on maximize
2014-01-17 17:41:30 -05:00
Mike Blumenkrantz
999f217f8b
set pass events on deleted clients
2014-01-17 11:36:35 -05:00
Mike Blumenkrantz
dd34319a19
only deactivate all menus on mouse down if active menu is present
...
T798
2014-01-17 11:21:20 -05:00
Mike Blumenkrantz
41429d188b
fix fullscreen client crash
...
T796
2014-01-17 10:55:06 -05:00
Mike Blumenkrantz
fda2442fe5
enforce correct geometry for client->saved.{x,y}
...
this is for CLIENT geometry and does NOT include the zone x/y
2014-01-16 20:27:07 -05:00
Mike Blumenkrantz
ddc89ad46b
reorder some startup stuff to not fail when ecore events haven't been initialized
...
eta until wayland-fb bug reports start rolling in: -5 minutes
2014-01-16 20:09:45 -05:00
Mike Blumenkrantz
a12768c465
quick screensaver blocking hack for non-X instances
2014-01-16 20:09:12 -05:00
Mike Blumenkrantz
ab2e108e54
allow client movement on one axis when vertical/horizontal maximized
...
T741
2014-01-16 15:47:35 -05:00
Mike Blumenkrantz
1ad30b0705
show the compositor overlay window when nocomp mode ends
2014-01-16 12:09:51 -05:00
Mike Blumenkrantz
0c441dfa79
block shape cutting during nocomp
2014-01-16 12:09:29 -05:00
Mike Blumenkrantz
171ad26858
silence some gadcon popup error messages from ibar menu
2014-01-16 11:36:16 -05:00
Mike Blumenkrantz
c50eeab227
don't do client stacking remember/event if not redirected
2014-01-16 11:36:16 -05:00
Mike Blumenkrantz
a1cfeaf988
s/e_theme_comp_border/e_theme_comp_frame/g
2014-01-16 11:15:08 -05:00
Mike Blumenkrantz
84b9e9f3ec
fix comp style selector signals
2014-01-16 10:53:44 -05:00
Mike Blumenkrantz
68201a8d99
remove old hacks to work around back efm icon eventarea
2014-01-16 10:37:32 -05:00
Carsten Haitzler
00cb30ac6e
window icon dnd - make sure icon is properly positioned under mouse
2014-01-16 21:05:57 +09:00
Mike Blumenkrantz
f12cdee3ca
adjust frame icon drag geometry
...
T776
2014-01-15 23:11:12 -05:00
Mike Blumenkrantz
18c74cb382
add e_comp_object_frame_icon_geometry_get
2014-01-15 23:11:07 -05:00
Mike Blumenkrantz
b0d53be21d
fix remember geometry updating
...
T791
2014-01-15 22:54:08 -05:00
Mike Blumenkrantz
2410660dd1
use current client position for post frame set any time changes.pos is set
...
T790
2014-01-15 21:14:38 -05:00
Mike Blumenkrantz
17291018db
override/placed gets set on compositor side
2014-01-15 21:04:10 -05:00
Mike Blumenkrantz
37b6238d33
fix comp style display
2014-01-15 20:39:51 -05:00
Mike Blumenkrantz
25e39aaa2b
block deskmirror client visibility changes during drags
2014-01-15 18:52:57 -05:00
Mike Blumenkrantz
a658e4c198
add e_drag_current_get
2014-01-15 18:52:57 -05:00
Mike Blumenkrantz
fb18230b27
block comp queues during hide on shutdown
2014-01-15 18:52:57 -05:00
Mike Blumenkrantz
32fd2f1776
fix keyboard move/resize info display
2014-01-15 17:01:44 -05:00
Mike Blumenkrantz
30ef7b217a
add e_deskmirror_mirror_copy
2014-01-15 17:01:41 -05:00
Mike Blumenkrantz
a33fa26847
only set shape mask if client has been reparented
2014-01-15 14:03:50 -05:00
Mike Blumenkrantz
36e2b03376
X override clients are already placed
2014-01-15 13:51:54 -05:00
Mike Blumenkrantz
047bcd7818
fix netwm sync resizing to account for frame geometry
...
T778
2014-01-15 12:13:05 -05:00
Mike Blumenkrantz
d095b392e9
set netwm sync alarm to right struct member
...
T778
2014-01-15 12:13:05 -05:00
Mike Blumenkrantz
a084217ba9
don't hints on override clients
...
T772
2014-01-15 12:13:04 -05:00
Mike Blumenkrantz
e8e2002804
always set icccm wm state when calling related hints function
...
T773
2014-01-15 12:13:04 -05:00
Mike Blumenkrantz
51bcc9ad0f
remove shadow from client icon drags
...
T776
2014-01-15 12:13:04 -05:00
Mike Blumenkrantz
bd83ae044f
add comp settings to configure registry
...
it's always been in the settings menu, but I forgot to put it into the registry.
T779
2014-01-15 12:13:04 -05:00
Carsten Haitzler
9fbb5def7f
deskmirror - set scale factor nicely.
2014-01-15 20:13:47 +09:00
Sebastian Dransfeld
227072c553
randr: remove debug output
2014-01-15 07:06:14 +01:00
Sebastian Dransfeld
93cf4d877d
randr: remove unused variable
2014-01-15 07:06:13 +01:00
Sebastian Dransfeld
e215a3951e
randr: Enable output from settings
2014-01-15 07:06:13 +01:00
Sebastian Dransfeld
b140a13314
e_randr: rework
2014-01-15 07:06:13 +01:00
Sebastian Dransfeld
ed520d31a1
e_acpi: Add function to get lid status
...
So we can know lid status without waiting for a lid event.
2014-01-15 07:06:13 +01:00
Mike Blumenkrantz
8491ceebc0
try locking new desklock interfaces on append if state == locked
2014-01-15 01:01:41 -05:00
Mike Blumenkrantz
51d111b3ee
fix restacking on client lower
2014-01-15 00:09:33 -05:00
Mike Blumenkrantz
cd4ed6f4e8
fix bgpreview dynamic updating
...
T771
2014-01-14 22:50:28 -05:00
Mike Blumenkrantz
9c65093cb4
unblock client lowering
...
T770
2014-01-14 22:40:18 -05:00
Mike Blumenkrantz
390b8a5bf5
feature: selective redirection toggling
...
this toggles redirection on compatible (X) clients while still mostly preserving window frame functionality
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
70d65978c7
add "Enable advanced compositing features" option
...
this is what I'll be using to conceal various features in the future which should not be used without some understanding of what they do (OR FACE THE CONSEQUENCES)
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
df0173d24c
feature: support XPRESENT extension to reduce compositing overhead
...
xorg 1.15 introduces this extension which has a magical event to notify when a pixmap's size changes, which means that the size never needs to be manually fetched
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
2ee8262ea5
block rendering while screensaver is active
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
9c5509b236
add versioning to remembers to prevent badness when new properties are added
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
56ae997976
deduplicate E_Remember edd
...
what if we weren't insane and didn't have the same exact code in 2 places?
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
e54815a29f
e menus no longer use comp shadows
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
0943d9f7cc
remove resize callback on gadcon parent
...
this sometimes gets called after the gadcon is deleted which leads to a crash
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
6aedd4760d
improve bgpreview widget to use livethumb with auto vsizing
...
this widget gets used in permanent locations now, so it needs to use less memory when possible
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz
166ed0d234
feature: new focus option "raise on revert focus"
...
this option provides the functionality which was intended by the old and broken "raise on focus" option. it raises windows ONLY when reverting focus in cases not directly triggered by the user or any application
2014-01-14 20:28:59 -05:00
Mike Blumenkrantz
c081cee34d
remove e-specific theme config members
2014-01-14 20:28:59 -05:00
discomfitor
3b15315764
feature: add PIN-style desklock for lokker module
...
accessible from the normal screen lock dialog
2014-01-14 20:28:59 -05:00
Mike Blumenkrantz
235c369adf
feature: make desklock hookable, break out current desklock into module, move pam stuff to separate file
...
after this commit, the new-but-invisible module "lokker" (or other custom loaded module) is in charge of creating all graphics for the lock screen, and it will be added to the user's config. failure to load a lockscreen module will just result in a black screen
desklock subsystem now handles all the pre/post lock stuff while the modules themselves are responsible for creating visuals and calling auth functions to determine whether to unlock the screen
2014-01-14 20:28:59 -05:00
discomfitor
cb956069d5
feature: revive personal desklock passwords
...
these were previously disabled because hashing a password was too much work (I guess?), but now they're back. config dialog has changed accordingly
2014-01-14 20:28:59 -05:00
discomfitor
bf7a2e8c47
add blocker rects for desklock
...
add a black rect to cover the screen during desklock
2014-01-14 20:28:59 -05:00
discomfitor
a31e8a70fb
break out desklock into display server-able hooks
...
if we're running in a non-X environment, we can't very well expect that using X calls to hide/show windows for desklock is going to work as expected. now a compositor backend can add a pre or post desklock hook to hide/show its clients as necessary
2014-01-14 20:28:59 -05:00
discomfitor
a6a93c05b4
feature: function for getting top visible client on current desk
...
this is a pretty useful function overall, and I found that I was duplicating its functionality in a number of places, so I broke it out
2014-01-14 20:28:59 -05:00
discomfitor
3047ce85b8
not sure if keep... add retries for failure x clients
...
if a client's X attributes fail to be fetched on the first attempt, it's possible that we might succeed on a second attempt, which would prevent us from losing a client
2014-01-14 20:28:59 -05:00
Mike Blumenkrantz
ed4c98f9f5
feature: e_comp_shape_queue_block for blocking shape changes
...
in some cases, it may be desirable to block shape cutting for an amount of time to reduce cpu calculations. this should be set when performing any non-interactive compositor effects
2014-01-14 20:28:59 -05:00
Mike Blumenkrantz
b3ea9e9e9d
feature: break out e_moveresize_client_extents for calculating client step sizes
...
if using an external moveresize implementation, this function is very handy
2014-01-14 20:28:59 -05:00
discomfitor
b67d94210a
feature: add layer_block client flag to bypass any layer/stacking checks and "just do it" for cool effects
...
this flag allows a client's layer to be changed instantly with no protocol-level checks or work, allowing compositor effects to do their work more easily
2014-01-14 20:28:59 -05:00
discomfitor
9150cf6812
feature: allow moveresize visuals to be replaced
...
the existing moveresize popup infrastructure is very limiting in that it requires you to create a popup. if you don't want to create a popup, now you don't have to.
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
b0c6366203
feature: allow desk flip animations to be handled completely externally
...
by exposing desk flip as a hookable api, it becomes easy to write custom flip effects such as in the external "desksanity" module
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
bac43480ff
move deskmirror test over a little
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
c667f7612f
feature: E16-style live pager returns! window-only drags currently a little broken
...
p16 is a pager replacement module which uses deskmirror to show you live views of each desktop. it has a separate theme and reuses a lot of pager code.
not sure if original pager should be kept, but it's still around for now.
pager and pager16 both provide the same gadget and cannot be loaded simultaneously
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
b6e94d02ed
don't recalc a gadcon on unpack if we're stopping, also don't recalc gadcons during stop when unpopulating
...
this caused a lot of slowdown, and even possible crashes, during restarts
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
a5e52cbc2d
add E_Win_Cb typedef
...
this is mostly cosmetic, but I thought it might be a little more descriptive?
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
f637cbf08e
deskmirror is now a fully-functional E api
...
* finish updating for E19 api
* fix visibility changing on sources
** use that shelf data item added in previous commit to detect shelf visibility
* fix sizing (but not scaling :() and positioning of sources
* also fix stacking
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
d307214c8d
check for efreet desktop if EITHER icccm name/class is set
...
allows wayland clients, which only set class here, to find their desktop
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
6bc7662459
add e_exec instances for wl clients if they set surface class: works for terminology
...
creating phony e_exec instances based on name/class allows wayland clients to show up normally in ibar
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz
dcdf4bb9f9
don't delete pointers when changing settings, just update size
...
this fixes a case where cursors would be permanently broken (along with the world) when changing cursor settings
2014-01-14 20:28:58 -05:00