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:
Carsten Haitzler 2005-05-17 08:30:26 +00:00
parent 4e687c0dc8
commit 1112210137
3 changed files with 14 additions and 4 deletions

2
TODO
View File

@ -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)

View File

@ -148,6 +148,7 @@ struct _E_Border
struct {
pid_t pid;
unsigned int desktop;
unsigned char use_desktop : 1;
/* NetWM Window state */
struct {

View File

@ -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)