Use watch-cursor while loading thumbnails
This commit is contained in:
		
							parent
							
								
									bcc70bd7cb
								
							
						
					
					
						commit
						783213c0bb
					
				
							
								
								
									
										5
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								main.c
									
									
									
									
									
								
							| @ -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; | ||||
|  | ||||
							
								
								
									
										22
									
								
								window.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								window.c
									
									
									
									
									
								
							| @ -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; | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Bert
						Bert