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
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
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
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
c50eeab227
don't do client stacking remember/event if not redirected
2014-01-16 11:36:16 -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
b0d53be21d
fix remember geometry updating
...
T791
2014-01-15 22:54:08 -05:00
Mike Blumenkrantz
17291018db
override/placed gets set on compositor side
2014-01-15 21:04:10 -05:00
Mike Blumenkrantz
32fd2f1776
fix keyboard move/resize info display
2014-01-15 17:01:44 -05:00
Mike Blumenkrantz
a084217ba9
don't hints on override clients
...
T772
2014-01-15 12:13:04 -05:00