I've been doing some investigating and maybe you already know this but in libwnck in screen.c the function update_workspace_list this always sets n_space to 1 without printing my warning. From my understanding this goes all the way to compiz land which hacks the workspaces to always be set to one.
n_spaces = 0;
if (!_wnck_get_cardinal (screen->priv->xroot, _wnck_atom_get ("_NET_NUMBER_OF_DESKTOPS"), &n_spaces)) {
fprintf(stderr, "WARNING WARNING could not get Atom _NET_NUMBER_OF_DESKTOPS, setting n_spaces to 1\n");
n_spaces = 1;
}
Because of this the method wnck_screen_get_workspace_count will always return 1 and therefore also workspace_at_point will return 1 and the move will then fail because we're moving from workspace 1 to workspace 1.
What I can understand this is the same reason bug #150443 fails.
The strange thing is that the drawer somehow can figure out how many workspaces there really is - why this is so I couldn't find but I suspect that it checks some gconf values because of the rows thing.
Maybe someone who knows a little bit more about compiz internal can explain why _NET_NUMBER_OF_DESKTOPS is set to 1?
Hi folks,
I've been doing some investigating and maybe you already know this but in libwnck in screen.c the function update_ workspace_ list this always sets n_space to 1 without printing my warning. From my understanding this goes all the way to compiz land which hacks the workspaces to always be set to one.
n_spaces = 0; get_cardinal (screen- >priv-> xroot,
_ wnck_atom_ get ("_NET_ NUMBER_ OF_DESKTOPS" ),
& n_spaces) ) { OF_DESKTOPS, setting n_spaces to 1\n");
if (!_wnck_
fprintf(stderr, "WARNING WARNING could not get Atom _NET_NUMBER_
n_spaces = 1;
}
Because of this the method wnck_screen_ get_workspace_ count will always return 1 and therefore also workspace_at_point will return 1 and the move will then fail because we're moving from workspace 1 to workspace 1.
What I can understand this is the same reason bug #150443 fails.
The strange thing is that the drawer somehow can figure out how many workspaces there really is - why this is so I couldn't find but I suspect that it checks some gconf values because of the rows thing.
Maybe someone who knows a little bit more about compiz internal can explain why _NET_NUMBER_ OF_DESKTOPS is set to 1?