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:
|
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
|
* 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
|
per zone - right now there is a signle global (use this later as the default
|
||||||
for new/unconfigured zones)
|
for new/unconfigured zones)
|
||||||
|
|
|
@ -148,6 +148,7 @@ struct _E_Border
|
||||||
struct {
|
struct {
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
unsigned int desktop;
|
unsigned int desktop;
|
||||||
|
unsigned char use_desktop : 1;
|
||||||
|
|
||||||
/* NetWM Window state */
|
/* NetWM Window state */
|
||||||
struct {
|
struct {
|
||||||
|
|
|
@ -289,14 +289,20 @@ e_hints_window_init(E_Border *bd)
|
||||||
e_border_raise(bd);
|
e_border_raise(bd);
|
||||||
|
|
||||||
if (!ecore_x_netwm_desktop_get(bd->client.win, &bd->client.netwm.desktop))
|
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))
|
if (!ecore_x_netwm_pid_get(bd->client.win, &bd->client.netwm.pid))
|
||||||
bd->client.netwm.pid = -1;
|
bd->client.netwm.pid = -1;
|
||||||
|
|
||||||
if (bd->client.netwm.desktop == 0xffffffff)
|
if (bd->client.netwm.desktop == 0xffffffff)
|
||||||
e_border_stick(bd);
|
e_border_stick(bd);
|
||||||
else if ((bd->client.netwm.desktop >= 0)
|
else if ((bd->client.netwm.use_desktop) &&
|
||||||
&& (bd->client.netwm.desktop < (bd->zone->desk_x_count * bd->zone->desk_y_count)))
|
(bd->client.netwm.desktop >= 0) &&
|
||||||
|
(bd->client.netwm.desktop < (bd->zone->desk_x_count * bd->zone->desk_y_count)))
|
||||||
{
|
{
|
||||||
E_Desk *desk;
|
E_Desk *desk;
|
||||||
int x, y;
|
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);
|
x = bd->client.netwm.desktop - (y * bd->zone->desk_x_count);
|
||||||
|
|
||||||
desk = e_desk_at_xy_get(bd->zone, x, y);
|
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)
|
if (bd->client.netwm.state.sticky)
|
||||||
|
|
Loading…
Reference in New Issue