[layout] Stop starting a thread for layout freshing
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
8d0f2bcb07
commit
7cdba19a56
10
awesome.c
10
awesome.c
|
@ -294,7 +294,7 @@ main(int argc, char **argv)
|
|||
xcb_generic_event_t *ev;
|
||||
struct sockaddr_un *addr;
|
||||
client_t *c;
|
||||
pthread_t tid_layout, tid_statusbar;
|
||||
pthread_t tid_statusbar;
|
||||
static struct option long_options[] =
|
||||
{
|
||||
{"help", 0, NULL, 'h'},
|
||||
|
@ -484,7 +484,7 @@ main(int argc, char **argv)
|
|||
|
||||
/* refresh everything before waiting events */
|
||||
statusbar_refresh(NULL);
|
||||
layout_refresh(NULL);
|
||||
layout_refresh();
|
||||
|
||||
/* initialize Glib for thread safeness */
|
||||
g_thread_init(NULL);
|
||||
|
@ -541,17 +541,15 @@ main(int argc, char **argv)
|
|||
} while((ev = xcb_poll_for_event(globalconf.connection)));
|
||||
|
||||
a_thread_refresh(&tid_statusbar, &statusbar_refresh);
|
||||
a_thread_refresh(&tid_layout, &layout_refresh);
|
||||
layout_refresh();
|
||||
pthread_join(tid_statusbar, NULL);
|
||||
pthread_join(tid_layout, NULL);
|
||||
|
||||
/* need to resync */
|
||||
xcb_aux_sync(globalconf.connection);
|
||||
}
|
||||
a_thread_refresh(&tid_statusbar, &statusbar_refresh);
|
||||
a_thread_refresh(&tid_layout, &layout_refresh);
|
||||
layout_refresh();
|
||||
pthread_join(tid_statusbar, NULL);
|
||||
pthread_join(tid_layout, NULL);
|
||||
xcb_aux_sync(globalconf.connection);
|
||||
}
|
||||
|
||||
|
|
5
layout.c
5
layout.c
|
@ -101,15 +101,14 @@ arrange(int screen)
|
|||
/** Refresh the screen disposition
|
||||
* \return true if the screen was arranged, false otherwise
|
||||
*/
|
||||
void *
|
||||
layout_refresh(void *v __attribute__ ((unused)))
|
||||
void
|
||||
layout_refresh(void)
|
||||
{
|
||||
int screen;
|
||||
|
||||
for(screen = 0; screen < globalconf.screens_info->nscreen; screen++)
|
||||
if(globalconf.screens[screen].need_arrange)
|
||||
arrange(screen);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Get current layout used on screen.
|
||||
|
|
2
layout.h
2
layout.h
|
@ -28,7 +28,7 @@
|
|||
typedef void (layout_t)(int);
|
||||
|
||||
layout_t * layout_get_current(int);
|
||||
void * layout_refresh(void *);
|
||||
void layout_refresh(void);
|
||||
|
||||
#endif
|
||||
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
||||
|
|
6
mouse.c
6
mouse.c
|
@ -284,14 +284,14 @@ mouse_client_move(client_t *c, int snap)
|
|||
move_client_to_screen(c, newscreen, true);
|
||||
globalconf.screens[c->screen].need_arrange = true;
|
||||
globalconf.screens[newscreen].need_arrange = true;
|
||||
layout_refresh(NULL);
|
||||
layout_refresh();
|
||||
}
|
||||
if((target = client_get_bywin(globalconf.clients, mquery_pointer_r->child))
|
||||
&& target != c && !target->isfloating)
|
||||
{
|
||||
client_list_swap(&globalconf.clients, c, target);
|
||||
globalconf.screens[c->screen].need_arrange = true;
|
||||
layout_refresh(NULL);
|
||||
layout_refresh();
|
||||
}
|
||||
p_delete(&mquery_pointer_r);
|
||||
}
|
||||
|
@ -436,7 +436,7 @@ mouse_client_resize(client_t *c)
|
|||
{
|
||||
curtags[0]->mwfact = mwfact;
|
||||
globalconf.screens[c->screen].need_arrange = true;
|
||||
layout_refresh(NULL);
|
||||
layout_refresh();
|
||||
}
|
||||
}
|
||||
p_delete(&ev);
|
||||
|
|
Loading…
Reference in New Issue