launcher : fixed icon position

git-svn-id: http://tint2.googlecode.com/svn/trunk@591 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
thilor77
2010-11-07 17:43:14 +00:00
parent fc5269d610
commit 5d7e211537
3 changed files with 13 additions and 22 deletions

View File

@@ -199,10 +199,7 @@ int resize_launcher(void *obj)
} }
} }
count = 0; count = g_slist_length(launcher->list_icons);
for (l = launcher->list_icons; l ; l = l->next) {
count++;
}
if (panel_horizontal) { if (panel_horizontal) {
if (!count) launcher->area.width = 0; if (!count) launcher->area.width = 0;
@@ -228,7 +225,7 @@ int resize_launcher(void *obj)
} }
int i, posx, posy; int i, posx, posy;
int start = launcher->area.bg->border.width + launcher->area.paddingy;// +marging/2; int start = launcher->area.bg->border.width + launcher->area.paddingy + marging/2;
if (panel_horizontal) { if (panel_horizontal) {
posy = start; posy = start;
posx = launcher->area.bg->border.width + launcher->area.paddingxlr; posx = launcher->area.bg->border.width + launcher->area.paddingxlr;
@@ -243,6 +240,7 @@ int resize_launcher(void *obj)
launcherIcon->y = posy; launcherIcon->y = posy;
launcherIcon->x = posx; launcherIcon->x = posx;
//printf("launcher %d : %d,%d\n", i, posx, posy);
if (panel_horizontal) { if (panel_horizontal) {
if (i % icons_per_column) if (i % icons_per_column)
posy += icon_size + launcher->area.paddingx; posy += icon_size + launcher->area.paddingx;

View File

@@ -412,25 +412,18 @@ XSettingsClient *xsettings_client_new (Display *display, int screen, XSettingsNo
client->manager_window = None; client->manager_window = None;
client->settings = NULL; client->settings = NULL;
XGrabServer (server.dsp);
client->manager_window = XGetSelectionOwner (server.dsp, server.atom._XSETTINGS_SCREEN);
if (client->manager_window != None)
XSelectInput (server.dsp, client->manager_window, PropertyChangeMask | StructureNotifyMask);
XUngrabServer (client->display);
XFlush (client->display);
if (client->manager_window == None) {
printf("NO XSETTINGS manager, tint2 use config 'launcher_icon_theme'.\n");
free (client);
return NULL;
}
if (client->watch) if (client->watch)
client->watch (RootWindow (display, screen), True, StructureNotifyMask, client->cb_data); client->watch (RootWindow (display, screen), True, StructureNotifyMask, client->cb_data);
check_manager_window (client); check_manager_window (client);
return client; if (client->manager_window == None) {
printf("NO XSETTINGS manager, tint2 use config 'launcher_icon_theme'.\n");
free (client);
return NULL;
}
else
return client;
} }

View File

@@ -167,11 +167,10 @@ int resize_systray(void *obj)
void on_change_systray (void *obj) void on_change_systray (void *obj)
{ {
// here, sysbar's position is defined. so we can calculate position of tray icon. // here, systray.area.posx/posy are defined by rendering engine. so we can calculate position of tray icon.
Systraybar *sysbar = obj; Systraybar *sysbar = obj;
Panel *panel = sysbar->area.panel;
int i, posx, posy; int i, posx, posy;
int start = panel->area.bg->border.width + panel->area.paddingy + systray.area.bg->border.width + systray.area.paddingy +sysbar->marging/2; int start = systray.area.posy + systray.area.bg->border.width + systray.area.paddingy + sysbar->marging/2;
if (panel_horizontal) { if (panel_horizontal) {
posy = start; posy = start;
posx = systray.area.posx + systray.area.bg->border.width + systray.area.paddingxlr; posx = systray.area.posx + systray.area.bg->border.width + systray.area.paddingxlr;
@@ -189,6 +188,7 @@ void on_change_systray (void *obj)
traywin->y = posy; traywin->y = posy;
traywin->x = posx; traywin->x = posx;
//printf("systray %d : %d,%d\n", i, posx, posy);
traywin->width = sysbar->icon_size; traywin->width = sysbar->icon_size;
traywin->height = sysbar->icon_size; traywin->height = sysbar->icon_size;
if (panel_horizontal) { if (panel_horizontal) {