Toan Pham
1469e9b973
Center a dialog window when it is displaying off-screen
...
Summary: Center a newly created dialog window when it is displaying off-screen. Fixes T2419
Reviewers: zmike
Subscribers: cedric
Maniphest Tasks: T2419
Differential Revision: https://phab.enlightenment.org/D2646
2015-06-16 14:28:54 -04:00
Carsten Haitzler
6b64e40122
e - e client, comp win etc. reffing fix ... part 2
...
this follows 56cabf59c6
then
4e5521b4d8
where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
2015-06-15 20:27:25 +09:00
Carsten Haitzler
f1bd800037
e - fix crash in desktop lookup+fixup where exe_inst is null
2015-06-14 17:50:14 +09:00
Mike Blumenkrantz
e70fcc565d
fix focusing client on mouse events which trigger actions (with exceptions)
...
block focus events only if focus has changed to another client or the current
client's layer-actual has been lowered
regression from 719b2baeba
2015-05-21 12:32:26 -04:00
Mike Blumenkrantz
83eebacb5d
allow new fullscreening clients to replace current nocomp where applicable
2015-05-18 13:20:35 -04:00
Mike Blumenkrantz
205d8b0b74
reject client fullscreening based on config and desk visibility
2015-05-18 13:20:35 -04:00
Chris Michael
0a94e8ba71
enlightenment: Make E build again with EFL from git
...
sed -i 's/EAPI/E_API/g'
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz
719b2baeba
only apply mouse down focus events if a binding did not run on the same event
...
fixes the case of enabling "raise on click" and also having a mouse binding
for "lower on click" active
fix T2364
2015-04-29 17:15:43 -04:00
Mike Blumenkrantz
cb9ab4e1f4
freeze evas events on clients during keyboard move/resize actions
...
fix T2112
2015-04-29 17:02:36 -04:00
Mike Blumenkrantz
ee44d29ebc
ensure client max w/h props are set before applying them to client geom
2015-04-27 12:30:29 -04:00
Carsten Haitzler
9eaac75ae2
e - e_client - fix added printf
...
665caad451
fix added a printf i didn't
notice - fix.
2015-04-21 11:00:24 +09:00
Carsten Haitzler
665caad451
e client - desk wait - ref it properly and clean up delfn
...
delfn's on desks being referred to as profile.wait_desk were never
cleared when client was freed. als the desk itself never got an obj
reference - fix that and ref/unref it.
2015-04-21 09:36:33 +09:00
Mike Blumenkrantz
934d541795
use client geometry for starting unmaximize calculations
...
the resize operations in this function operate off client geometry, so
stop using frame geometry
fix T2170
2015-04-20 14:32:21 -04:00
Stefan Schmidt
83572a3edb
e_client: Remove self assignment from e_comp
...
Hopefully the last one of these self assignments.
CID 1291840
2015-04-16 17:00:08 +02:00
Mike Blumenkrantz
785cb47b89
set E_Exec_Instance desktop during client idler if none present
...
ref T2284
2015-04-13 16:16:37 -04:00
Mike Blumenkrantz
3498c6caf8
add colorclass editor to app menu
2015-04-05 16:27:18 -04:00
Mike Blumenkrantz
da149ba021
block ignored clients from lost client list
2015-04-03 20:57:52 -04:00
Mike Blumenkrantz
58447e9508
completely remove E_Manager
...
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -04:00
Mike Blumenkrantz
75c9d9babd
remove E_Comp from e_resist apis
2015-03-18 16:28:24 -04:00
Mike Blumenkrantz
2cb00285fd
remove E_Comp from E_Client_Layout_Cb
2015-03-18 11:37:27 -04:00
Mike Blumenkrantz
f9f7f001c9
use correct wayland ifdef for E_Client uuid generation
2015-03-13 17:29:34 -04:00
Mike Blumenkrantz
34d906fa42
e_zone functions no longer require E_Comp param
2015-03-13 17:28:49 -04:00
Mike Blumenkrantz
1736d1ecb9
e_client functions no longer require E_Comp param
2015-03-13 16:53:19 -04:00
Mike Blumenkrantz
d00127c2f5
e_comp functions no longer require E_Comp param
2015-03-13 16:48:41 -04:00
Mike Blumenkrantz
bacf638d73
remove E_Drag->comp and E_Comp param from e_drag_new()
2015-03-13 16:21:15 -04:00
Mike Blumenkrantz
1fe1c94245
comp canvas functions no longer require an E_Comp param
2015-03-13 16:07:08 -04:00
Mike Blumenkrantz
91edd1ce2f
E_CLIENT_*FOREACH() macros no longer take a E_Comp param
2015-03-13 15:45:07 -04:00
Mike Blumenkrantz
091142b032
remove E_Client->comp
2015-03-13 15:41:21 -04:00
Carsten Haitzler
03f05d16e5
e clients - make sure we handle client with a NULL zone
2015-03-11 18:34:38 +09:00
Mike Blumenkrantz
143c0a9292
fix horizontal/vertical smart maximize
...
fix T2170
2015-03-06 17:16:24 -05:00
Mike Blumenkrantz
a38a34d599
set ec->fullscreen before applying fullscreen geometry
2015-03-04 15:52:16 -05:00
Mike Blumenkrantz
b06111b00e
reject ignored clients from client mouse event functions
2015-02-26 16:17:10 -05:00
Mike Blumenkrantz
23c4d42e4c
rename extremely frustratingly-named E_Screen_Limits enum and members
...
this came in a patch that I take full responsibility for not adequately reviewing at the time.
the names are confusing and counterintuitive, and it does not properly include the client namespace.
2015-02-18 18:34:29 -05:00
Mike Blumenkrantz
1f21efd911
clamp client size to screen when client limit policy does not allow offscreen
...
fix T1779
2015-02-18 18:26:16 -05:00
Mike Blumenkrantz
1301453fa4
only reject client mouse out for X clients
...
not sure this is still applicable since systray xembeds are gone
2015-02-13 16:24:24 -05:00
Mike Blumenkrantz
e2b02d07d5
add first YOLO: e_client_focus_stack_set()
...
to quote ecore docs:
DO NOT use this function unless you are the person God comes to ask for
advice when He has trouble managing the Universe.
2015-02-13 15:46:52 -05:00
Mike Blumenkrantz
fdeedef7fe
add E_Client->mouse.in for determining mouse-in status
2015-02-12 16:18:46 -05:00
Mike Blumenkrantz
e34548db01
remove unused E_Client->input_object
...
this is a relic from E18
2015-02-12 16:17:50 -05:00
Carsten Haitzler
5d2426cdda
e - client list update after adding to client list - fix netwm bug
...
this fixes T2029
2015-02-06 17:58:08 +09:00
Mike Blumenkrantz
1f608490c8
make comp param in e_client_new unused
2015-02-02 12:42:43 -05:00
Mike Blumenkrantz
30f17c5680
remove no longer necessary setting of changes.size on client resize
...
this is unnecessary since we resize on every necessary frame anyway
2015-01-22 23:03:38 -05:00
Mike Blumenkrantz
0bac875290
remove some e_comp_get() usage in core comp/client files
2015-01-05 15:39:34 -05:00
Mike Blumenkrantz
922af2c52f
remove e_comp_list(), deprecate all related functions for pending removal
...
there is only one E_Comp which can now be accessed by the e_comp global.
if you're editing a file with some uses of these deprecated functions, replace their usages with appropriate references to this variable
pass -Wno-deprecated-declarations to ignore these warnings during build
2015-01-05 15:39:15 -05:00
Mike Blumenkrantz
9ff9de799a
completely block border changes on MWM borderless windows
...
ref T1963
seriously.
2015-01-03 00:07:48 -05:00
Mike Blumenkrantz
f4b8e9563c
apply pointer warp effects immediately when instant warping
...
fix T1462
2014-11-28 15:06:47 -05:00
Mike Blumenkrantz
034c05bc0d
remove unnecessary unfocused signal emit on clients
2014-11-22 08:31:59 -05:00
Mike Blumenkrantz
ce8a4a2b78
remove ec->changes.internal_props
...
this should be set directly on the win using evas/elm apis
2014-11-20 15:26:22 -05:00
Mike Blumenkrantz
99589eb5af
remove E_Win+e_canvas, convert all internal wins to use elm_win
...
known issues:
* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Mike Blumenkrantz
a9495340f6
fix internal window border changing
2014-11-03 14:10:17 -05:00
Chris Michael
81dcfd5f55
declare drag finished callback event if building for wayland-only
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-03 13:43:21 -04:00
Chris Michael
8889a0fc1c
remove ifdef's for compiling out e_dnd support in wayland-only mode
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-03 13:28:58 -04:00
Mike Blumenkrantz
8814d3ad28
client hooks should not continue to be called if the client has been deleted
2014-09-23 13:17:45 -04:00
Mike Blumenkrantz
3aaa843a4f
comp render queue on every client resize instead of on unmaximize
2014-09-23 10:31:04 -04:00
Stefan Schmidt
90daba7645
e_client: _e_client_cb_drag_finished is not used in wayland only mode
...
Mostly cosmetic as it avoid a warning of an unused function when compiling
for wayland only.
2014-09-19 09:56:10 +02:00
Mike Blumenkrantz
a0179c8c59
force render queue on unmaximize if client was fullscreen
...
fix T1665
2014-09-18 11:52:30 -04:00
Mike Blumenkrantz
0028c7aea3
fix client positioning when initial position is offscreen or size is huge
...
ref T1571
2014-09-07 12:35:45 -04:00
Seunghun Lee
e3f4f0f976
set the maximized valuable of E_Client before calling _e_client_frame_update when unmaximize the client.
...
Summary: since maximized valuable is used in _e_client_frame_update, so the valuable should be updated.
Test Plan:
(1) run any application.
(2) Maximize the app by key binding.
(3) Change the border type.
(4) Unmaximize the it by key binding.
(5) try to maximize it again, but couldn't
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1357
2014-08-29 13:46:25 -04:00
Chris Michael
c308904e9b
fix formatting
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Carsten Haitzler
525b963133
transient client windows - improve behavior
...
* if unplaced, place centered on transient-for on initial placement
rather that screen centered
* if transient.move and transient.resize options follow options are on
make transients floow as intended
2014-08-25 20:56:08 +09:00
Mike Blumenkrantz
ef97ac2ff4
don't set frames on override clients
2014-07-29 23:47:53 -04:00
Mike Blumenkrantz
291c1f7cc5
break out client border setting into separate function
2014-07-28 08:42:24 -04:00
Mike Blumenkrantz
0c191c0a47
add missing client type checks
2014-07-14 13:12:32 -04:00
Mike Blumenkrantz
3c7fab995c
+e_client_layout_cb_set()
...
let's keep client hooks for clients.
2014-07-07 13:42:47 -04:00
Mike Blumenkrantz
db49d8cc75
Revert "bring back client hook that breaks illume2 + contact"
...
This reverts commit 36c3d15c0b
.
2014-07-07 13:29:59 -04:00
Carsten Haitzler
36c3d15c0b
bring back client hook that breaks illume2 + contact
...
i know it's not that pretty, but this brings back the
E_CLIENT_HOOK_CANVAS_LAYOUT as there just is no viable replacement and
thus breaks 2 modules. this fixes T1402 - we chances are just that
this needs a separate hook point as it isnt a per-client but a
per-comp hook.
2014-07-07 15:11:56 +09:00
Mike Blumenkrantz
a5c098ebc5
reenable edges after signal move ends
...
probably fix T1363 since it is not reproducible
2014-06-25 16:05:26 -04:00
Mike Blumenkrantz
ace4a32553
add desk_change client smart callback
2014-06-16 13:35:57 -04:00
Gwanglim Lee
571a696ab8
fix visibility issues related to desktop window profile
...
Summary:
1. fix window profile change request with wrong x window id
2. refactoring desktop window profile codes to handle e_client_desk_set correctly
Test Plan:
1. enlightenment: Settings Panel -> Screen -> Virtual Desktops -> Check "Use desktop window profile" -> Apply
2. open an efl app on 1st desktop (0-0)
3. set a window remember on efl app window
4. go to 2nd desktop (1-0)
5. open an efl app again. it should be positioned on the previous desktop (0-0)
Reviewers: zmike, raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D926
2014-06-09 13:30:04 -04:00
Mike Blumenkrantz
5ad876ccad
block mouse actions on frame for iconic clients
...
fix T1069
2014-06-08 12:13:02 -04:00
Mike Blumenkrantz
d8aa488096
completely revert all eo/eolian usage
...
this was a neat experiment, but apparently it's not going to be usable for a long time in anything outside efl/elm
This reverts commits f87b9900fa
, a49cede790
, 81038f8d02
, 47cfb31752
.
2014-06-04 07:27:50 -04:00
Mike Blumenkrantz
3033c550d1
set resize mode for keyboard resizes
...
fix T1297
2014-05-30 11:02:04 -04:00
Mike Blumenkrantz
483023051e
completely redo window profiles
...
when this feature was added, its behavior was naively set to ignore repeated desk changes. it also was not adequately tested, resulting in a frustratingly large number of bugs.
with these changes, window profiles should no longer be the cause of client visibility being broken as caused by a failure to change desk.
fix TChutney
2014-05-29 16:57:54 -04:00
Mike Blumenkrantz
8f9a07fe3a
Revert "stacking - fix stacking after/before fullscreening"
...
This reverts commit 1f8975d546
.
totally wrong. do not externally set this.
this issue, which I cannot reproduce, is almost definitely caused due to the fact that _evas_object_layer_set() effectively calls evas_object_raise() without triggering intercept callbacks
2014-05-29 10:25:30 -04:00
Carsten Haitzler
1f8975d546
stacking - fix stacking after/before fullscreening
...
input events were broken due to stacking not being maintained for the
actual windows going to/from fullscreen
2014-05-29 21:45:48 +09:00
Mike Blumenkrantz
7bfeef352c
block desktop instance matching for clients which have a different pid from the startup id
...
these should get set more accurately in a followup test
fix T1237
2014-05-09 22:53:53 -04:00
Mike Blumenkrantz
adcf979e5c
always unset need_unmaximize after maximize
...
fix T1203
2014-05-07 12:43:29 -04:00
Mike Blumenkrantz
58d8243457
force geometry setting during maximize
...
fixes adding maximize states
2014-05-07 12:42:41 -04:00
Stefan Schmidt
cc23186dbd
e_uuid_store: Use libuuid for UUID generation and handling
...
Instead of rolling our own we go with a known working UUID implementation
here. Dependency should be easy enough as more or less every Linux system
is shipping it anyway.
2014-04-24 11:03:52 +02:00
Carsten Haitzler
8e49b69796
re-order icon finding for border to use the most reliable source first
2014-04-19 09:08:37 +09:00
Mike Blumenkrantz
47cfb31752
comp_object now uses eo, e_comp_object_signal* -> edje_object_signal*
...
also cw->clip is gone
2014-04-10 19:01:47 -04:00
Tom Hacohen
dc05d96659
Fix client border changing issues
...
The code was zeroing the flag that tells e to change the border after
the callbacks about frame changes. This means that one couldn't change
the border from within those callbacks. This commit fixes this issue.
2014-03-31 15:24:12 +01:00
Mike Blumenkrantz
da5bd16e12
greatly improve child dialog placement, FIXME--
...
fix T980
2014-03-27 19:47:31 -04:00
Mike Blumenkrantz
50a37adb6e
ignore mouse movements on client during keyboard actions
...
fix T1097
2014-03-27 16:47:19 -04:00
Mike Blumenkrantz
110f62ca61
always unclip/uneffect clients when changing desks
...
probably fix T1126
2014-03-27 16:47:18 -04:00
Carsten Haitzler
1e50cb1dc6
don't delete client objects when _e_client_hook_call returns false.
...
_e_client_hook_call() returns false when object refcount hit 0... ie..
it's been deleted. it's simply invalid memory access to then del the
object thats already gone to 0 refcount and been deleted/freed.
2014-03-26 15:32:53 +09:00
Mike Blumenkrantz
c47bf94cdf
hook sticky smart callbacks properly inside comp object
2014-03-20 11:38:58 -04:00
Mike Blumenkrantz
b5a04496b7
add stick/unstick client smart callbacks
2014-03-20 11:31:32 -04:00
Chris Michael
52532f9a32
Don't leak the allocated client object if we are returning null from
...
e_client_new
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 10:18:44 +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
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
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
3583d76839
trivial dead code--
...
CID 1187923
2014-03-13 11:42:49 -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
Mike Blumenkrantz
3f5ac7d9ab
use static array of inlists for client hooks to reduce overhead
2014-03-13 09:35:06 -04: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
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
c720451933
force client urgency unsetting on focus
...
fix T1016
2014-02-27 21:05:33 -05:00
Daniel Kolesa
6085d79df8
e_client: build fix
2014-02-25 19:40:37 +00:00
Mike Blumenkrantz
c4a9adebc8
bugfix: don't use raise stack for iterating clients
...
T914
2014-02-21 17:53:14 -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
0e66cdda82
only move/resize non-override internal clients during eval
...
T1007
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
88831252c8
use current desk when unsetting client sticky property
...
T989
2014-02-21 16:44:12 -05: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
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
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
aa37188e02
add maximize_pre and unmaximize_pre smart callbacks
2014-02-12 20:37:39 -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
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
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
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
ea7c0c3dcd
improve stringshare use in e_client_desk_set
2014-02-06 12:52:48 -05: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
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
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
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
7ef4340c3f
revert 83397e1bde
2014-01-29 21:12:07 -05: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
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
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
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
4614d8b0fb
and fix window_move action by putting this line back
2014-01-23 09:12:10 -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
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
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
Mike Blumenkrantz
ec8424fb16
remove duplicate shaped client handling
2014-01-19 03:33:40 -05:00