removed unnecessary sel stuff
This commit is contained in:
		
							parent
							
								
									586f66331d
								
							
						
					
					
						commit
						b1669b5c48
					
				
							
								
								
									
										10
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								Makefile
									
									
									
									
									
								
							| @ -7,12 +7,10 @@ WMSRC = bar.c client.c cmd.c draw.c event.c key.c util.c wm.c | |||||||
| WMOBJ = ${WMSRC:.c=.o} | WMOBJ = ${WMSRC:.c=.o} | ||||||
| MENSRC = menu.c draw.c util.c | MENSRC = menu.c draw.c util.c | ||||||
| MENOBJ = ${MENSRC:.c=.o} | MENOBJ = ${MENSRC:.c=.o} | ||||||
| SELSRC = gridsel.c util.c |  | ||||||
| SELOBJ = ${SELSRC:.c=.o} |  | ||||||
| MAN1 = gridwm.1 gridmenu.1 | MAN1 = gridwm.1 gridmenu.1 | ||||||
| BIN = gridwm gridmenu gridsel  | BIN = gridwm gridmenu | ||||||
| 
 | 
 | ||||||
| all: config gridwm gridmenu gridsel | all: config gridwm gridmenu | ||||||
| 	@echo finished | 	@echo finished | ||||||
| 
 | 
 | ||||||
| config: | config: | ||||||
| @ -36,10 +34,6 @@ gridwm: ${WMOBJ} | |||||||
| 	@echo LD $@ | 	@echo LD $@ | ||||||
| 	@${CC} -o $@ ${WMOBJ} ${LDFLAGS} | 	@${CC} -o $@ ${WMOBJ} ${LDFLAGS} | ||||||
| 
 | 
 | ||||||
| gridsel: ${SELOBJ} |  | ||||||
| 	@echo LD $@ |  | ||||||
| 	@${CC} -o $@ ${SELOBJ} ${LDFLAGS} |  | ||||||
| 
 |  | ||||||
| clean: | clean: | ||||||
| 	rm -f gridwm gridmenu *.o core | 	rm -f gridwm gridmenu *.o core | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										47
									
								
								gridsel.c
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								gridsel.c
									
									
									
									
									
								
							| @ -1,47 +0,0 @@ | |||||||
| /*
 |  | ||||||
|  * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |  | ||||||
|  * See LICENSE file for license details. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #include <stdlib.h> |  | ||||||
| #include <stdio.h> |  | ||||||
| #include <string.h> |  | ||||||
| 
 |  | ||||||
| #include <util.h> |  | ||||||
| 
 |  | ||||||
| static char version[] = "gridsel - " VERSION ", (C)opyright MMVI Anselm R. Garbe\n"; |  | ||||||
| 
 |  | ||||||
| static void |  | ||||||
| usage() |  | ||||||
| { |  | ||||||
| 	fprintf(stderr, "%s\n", "usage: gridsel [-v]\n"); |  | ||||||
| 	exit(1); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| int |  | ||||||
| main(int argc, char **argv) |  | ||||||
| { |  | ||||||
| 	unsigned char *data; |  | ||||||
| 	unsigned long i, offset, len, remain; |  | ||||||
| 
 |  | ||||||
| 	/* command line args */ |  | ||||||
| 	if(argc > 1) { |  | ||||||
| 		if(!strncmp(argv[1], "-v", 3)) { |  | ||||||
| 			fprintf(stdout, "%s", version); |  | ||||||
| 			exit(0); |  | ||||||
| 		} else |  | ||||||
| 			usage(); |  | ||||||
| 	} |  | ||||||
| 	len = offset = remain = 0; |  | ||||||
| 	do { |  | ||||||
| 		data = getselection(offset, &len, &remain); |  | ||||||
| 		for(i = 0; i < len; i++) |  | ||||||
| 			putchar(data[i]); |  | ||||||
| 		offset += len; |  | ||||||
| 		free(data); |  | ||||||
| 	} |  | ||||||
| 	while(remain); |  | ||||||
| 	if(offset) |  | ||||||
| 		putchar('\n'); |  | ||||||
| 	return 0; |  | ||||||
| } |  | ||||||
							
								
								
									
										38
									
								
								util.c
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								util.c
									
									
									
									
									
								
							| @ -10,7 +10,6 @@ | |||||||
| #include <sys/types.h> | #include <sys/types.h> | ||||||
| #include <sys/wait.h> | #include <sys/wait.h> | ||||||
| #include <unistd.h> | #include <unistd.h> | ||||||
| #include <X11/Xatom.h> |  | ||||||
| 
 | 
 | ||||||
| #include "util.h" | #include "util.h" | ||||||
| 
 | 
 | ||||||
| @ -139,40 +138,3 @@ pipe_spawn(char *buf, unsigned int len, Display *dpy, char *argv[]) | |||||||
| 	} | 	} | ||||||
| 	wait(0); | 	wait(0); | ||||||
| } | } | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| unsigned char * |  | ||||||
| getselection(unsigned long offset, unsigned long *len, unsigned long *remain) |  | ||||||
| { |  | ||||||
| 	Display *dpy; |  | ||||||
| 	Atom xa_clip_string; |  | ||||||
| 	Window w; |  | ||||||
| 	XEvent ev; |  | ||||||
| 	Atom typeret; |  | ||||||
| 	int format; |  | ||||||
| 	unsigned char *data; |  | ||||||
| 	unsigned char *result = NULL; |  | ||||||
| 
 |  | ||||||
| 	dpy = XOpenDisplay(0); |  | ||||||
| 	if(!dpy) |  | ||||||
| 		return NULL; |  | ||||||
| 	xa_clip_string = XInternAtom(dpy, "_SEL_STRING", False); |  | ||||||
| 	w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 200, 200, |  | ||||||
| 			1, CopyFromParent, CopyFromParent); |  | ||||||
| 	XConvertSelection(dpy, XA_PRIMARY, XA_STRING, xa_clip_string, |  | ||||||
| 			w, CurrentTime); |  | ||||||
| 	XFlush(dpy); |  | ||||||
| 	XNextEvent(dpy, &ev); |  | ||||||
| 	if(ev.type == SelectionNotify && ev.xselection.property != None) { |  | ||||||
| 		XGetWindowProperty(dpy, w, ev.xselection.property, offset, 4096L, False, |  | ||||||
| 				AnyPropertyType, &typeret, &format, len, remain, &data); |  | ||||||
| 		if(*len) { |  | ||||||
| 			result = emalloc(sizeof(unsigned char) * *len); |  | ||||||
| 			memcpy(result, data, *len); |  | ||||||
| 		} |  | ||||||
| 		XDeleteProperty(dpy, w, ev.xselection.property); |  | ||||||
| 	} |  | ||||||
| 	XDestroyWindow(dpy, w); |  | ||||||
| 	XCloseDisplay(dpy); |  | ||||||
| 	return result; |  | ||||||
| } |  | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								util.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								util.h
									
									
									
									
									
								
							| @ -18,7 +18,5 @@ extern void failed_assert(char *a, char *file, int line); | |||||||
| extern void pipe_spawn(char *buf, unsigned int len, Display *dpy, char *argv[]); | extern void pipe_spawn(char *buf, unsigned int len, Display *dpy, char *argv[]); | ||||||
| extern void spawn(Display *dpy, char *argv[]); | extern void spawn(Display *dpy, char *argv[]); | ||||||
| extern void swap(void **p1, void **p2); | extern void swap(void **p1, void **p2); | ||||||
| extern unsigned char *getselection(unsigned long offset, unsigned long *len, |  | ||||||
| 		unsigned long *remain); |  | ||||||
| extern unsigned int tokenize(char **result, unsigned int reslen, | extern unsigned int tokenize(char **result, unsigned int reslen, | ||||||
| 		char *str, char delim); | 		char *str, char delim); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anselm R. Garbe
						Anselm R. Garbe