forked from enlightenment/enlightenment
1. TODO item
2. netwm stuff broke e17 - it was setting all windwos to want to go to desk 0 as if it didnt find netwm hints - netwm.desk was 0 anyway - and thus bordfers got instantly re-attached to deskt 0... and thus if u flipped desktops, things got weird (new windwos all jumped to desk 0) SVN revision: 14812
This commit is contained in:
parent
4e687c0dc8
commit
1112210137
2
TODO
2
TODO
|
@ -55,6 +55,8 @@ Also look at all the .c files - they have their own localized TODO lists
|
|||
|
||||
These are in no particular order:
|
||||
|
||||
* drop on ibar for re-ordering, removal seems broken (drop location is the
|
||||
wrong spot)
|
||||
* break out desks x/y size config so you can have a different desktop size
|
||||
per zone - right now there is a signle global (use this later as the default
|
||||
for new/unconfigured zones)
|
||||
|
|
|
@ -148,6 +148,7 @@ struct _E_Border
|
|||
struct {
|
||||
pid_t pid;
|
||||
unsigned int desktop;
|
||||
unsigned char use_desktop : 1;
|
||||
|
||||
/* NetWM Window state */
|
||||
struct {
|
||||
|
|
|
@ -289,14 +289,20 @@ e_hints_window_init(E_Border *bd)
|
|||
e_border_raise(bd);
|
||||
|
||||
if (!ecore_x_netwm_desktop_get(bd->client.win, &bd->client.netwm.desktop))
|
||||
bd->client.netwm.desktop = 0;
|
||||
{
|
||||
bd->client.netwm.use_desktop = 0;
|
||||
bd->client.netwm.desktop = 0;
|
||||
}
|
||||
else
|
||||
bd->client.netwm.use_desktop = 1;
|
||||
if (!ecore_x_netwm_pid_get(bd->client.win, &bd->client.netwm.pid))
|
||||
bd->client.netwm.pid = -1;
|
||||
|
||||
if (bd->client.netwm.desktop == 0xffffffff)
|
||||
e_border_stick(bd);
|
||||
else if ((bd->client.netwm.desktop >= 0)
|
||||
&& (bd->client.netwm.desktop < (bd->zone->desk_x_count * bd->zone->desk_y_count)))
|
||||
else if ((bd->client.netwm.use_desktop) &&
|
||||
(bd->client.netwm.desktop >= 0) &&
|
||||
(bd->client.netwm.desktop < (bd->zone->desk_x_count * bd->zone->desk_y_count)))
|
||||
{
|
||||
E_Desk *desk;
|
||||
int x, y;
|
||||
|
@ -305,7 +311,8 @@ e_hints_window_init(E_Border *bd)
|
|||
x = bd->client.netwm.desktop - (y * bd->zone->desk_x_count);
|
||||
|
||||
desk = e_desk_at_xy_get(bd->zone, x, y);
|
||||
e_border_desk_set(bd, desk);
|
||||
if (desk)
|
||||
e_border_desk_set(bd, desk);
|
||||
}
|
||||
|
||||
if (bd->client.netwm.state.sticky)
|
||||
|
|
Loading…
Reference in New Issue