}
}
- count = 0;
- for (l = launcher->list_icons; l ; l = l->next) {
- count++;
- }
+ count = g_slist_length(launcher->list_icons);
if (panel_horizontal) {
if (!count) launcher->area.width = 0;
}
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) {
posy = start;
posx = launcher->area.bg->border.width + launcher->area.paddingxlr;
launcherIcon->y = posy;
launcherIcon->x = posx;
+ //printf("launcher %d : %d,%d\n", i, posx, posy);
if (panel_horizontal) {
if (i % icons_per_column)
posy += icon_size + launcher->area.paddingx;
client->manager_window = None;
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)
client->watch (RootWindow (display, screen), True, StructureNotifyMask, client->cb_data);
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;
}
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;
- Panel *panel = sysbar->area.panel;
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) {
posy = start;
posx = systray.area.posx + systray.area.bg->border.width + systray.area.paddingxlr;
traywin->y = posy;
traywin->x = posx;
+ //printf("systray %d : %d,%d\n", i, posx, posy);
traywin->width = sysbar->icon_size;
traywin->height = sysbar->icon_size;
if (panel_horizontal) {