Explorar el Código

Use watch-cursor while loading thumbnails

master
Bert hace 14 años
padre
commit
783213c0bb
Se han modificado 3 ficheros con 20 adiciones y 10 borrados
  1. +4
    -1
      main.c
  2. +14
    -8
      window.c
  3. +2
    -1
      window.h

+ 4
- 1
main.c Ver fichero

@@ -476,9 +476,12 @@ void run() {

while (1) {
if (mode == MODE_THUMBS && tns_loaded < filecnt) {
win_set_cursor(&win, CURSOR_WATCH);
tns_load(&tns, &win, filenames[tns_loaded++]);
tns_render(&tns, &win);
if (!XPending(win.env.dpy))
if (tns_loaded == filecnt)
win_set_cursor(&win, CURSOR_ARROW);
else if (!XPending(win.env.dpy))
continue;
} else if (timeout) {
t.tv_sec = 0;


+ 14
- 8
window.c Ver fichero

@@ -26,8 +26,9 @@
#include "util.h"
#include "window.h"

static Cursor arrow;
static Cursor hand;
static Cursor carrow;
static Cursor chand;
static Cursor cwatch;
static GC bgc;

Atom wm_delete_win;
@@ -107,8 +108,9 @@ void win_open(win_t *win) {
XSelectInput(e->dpy, win->xwin, StructureNotifyMask | KeyPressMask |
ButtonPressMask | ButtonReleaseMask | Button2MotionMask);

arrow = XCreateFontCursor(e->dpy, XC_left_ptr);
hand = XCreateFontCursor(e->dpy, XC_fleur);
carrow = XCreateFontCursor(e->dpy, XC_left_ptr);
chand = XCreateFontCursor(e->dpy, XC_fleur);
cwatch = XCreateFontCursor(e->dpy, XC_watch);

bgc = XCreateGC(e->dpy, win->xwin, 0, None);

@@ -135,8 +137,9 @@ void win_close(win_t *win) {
if (!win)
return;

XFreeCursor(win->env.dpy, arrow);
XFreeCursor(win->env.dpy, hand);
XFreeCursor(win->env.dpy, carrow);
XFreeCursor(win->env.dpy, chand);
XFreeCursor(win->env.dpy, cwatch);

XFreeGC(win->env.dpy, bgc);

@@ -281,11 +284,14 @@ void win_set_cursor(win_t *win, win_cur_t cursor) {

switch (cursor) {
case CURSOR_HAND:
XDefineCursor(win->env.dpy, win->xwin, hand);
XDefineCursor(win->env.dpy, win->xwin, chand);
break;
case CURSOR_WATCH:
XDefineCursor(win->env.dpy, win->xwin, cwatch);
break;
case CURSOR_ARROW:
default:
XDefineCursor(win->env.dpy, win->xwin, arrow);
XDefineCursor(win->env.dpy, win->xwin, carrow);
break;
}
}

+ 2
- 1
window.h Ver fichero

@@ -25,7 +25,8 @@

typedef enum win_cur_e {
CURSOR_ARROW = 0,
CURSOR_HAND
CURSOR_HAND,
CURSOR_WATCH
} win_cur_t;

typedef struct win_env_s {


||||||
x
 
000:0
Cargando…
Cancelar
Guardar