|
@ -314,6 +314,7 @@ static void clippaste(const Arg *); |
|
|
static void numlock(const Arg *); |
|
|
static void numlock(const Arg *); |
|
|
static void selpaste(const Arg *); |
|
|
static void selpaste(const Arg *); |
|
|
static void xzoom(const Arg *); |
|
|
static void xzoom(const Arg *); |
|
|
|
|
|
static void printsel(const Arg *); |
|
|
static void printscreen(const Arg *) ; |
|
|
static void printscreen(const Arg *) ; |
|
|
static void toggleprinter(const Arg *); |
|
|
static void toggleprinter(const Arg *); |
|
|
|
|
|
|
|
@ -359,6 +360,7 @@ static void strreset(void); |
|
|
|
|
|
|
|
|
static int tattrset(int); |
|
|
static int tattrset(int); |
|
|
static void tprinter(char *s, size_t len); |
|
|
static void tprinter(char *s, size_t len); |
|
|
|
|
|
static void tdumpsel(void); |
|
|
static void tdumpline(int); |
|
|
static void tdumpline(int); |
|
|
static void tdump(void); |
|
|
static void tdump(void); |
|
|
static void tclearregion(int, int, int, int); |
|
|
static void tclearregion(int, int, int, int); |
|
@ -435,6 +437,7 @@ static void selrequest(XEvent *); |
|
|
static void selinit(void); |
|
|
static void selinit(void); |
|
|
static void selsort(void); |
|
|
static void selsort(void); |
|
|
static inline bool selected(int, int); |
|
|
static inline bool selected(int, int); |
|
|
|
|
|
static char *getsel(void); |
|
|
static void selcopy(void); |
|
|
static void selcopy(void); |
|
|
static void selscroll(int, int); |
|
|
static void selscroll(int, int); |
|
|
static void selsnap(int, int *, int *, int); |
|
|
static void selsnap(int, int *, int *, int); |
|
@ -955,8 +958,8 @@ bpress(XEvent *e) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void |
|
|
|
|
|
selcopy(void) { |
|
|
|
|
|
|
|
|
char * |
|
|
|
|
|
getsel(void) { |
|
|
char *str, *ptr; |
|
|
char *str, *ptr; |
|
|
int x, y, bufsize, size, i, ex; |
|
|
int x, y, bufsize, size, i, ex; |
|
|
Glyph *gp, *last; |
|
|
Glyph *gp, *last; |
|
@ -1015,7 +1018,12 @@ selcopy(void) { |
|
|
} |
|
|
} |
|
|
*ptr = 0; |
|
|
*ptr = 0; |
|
|
} |
|
|
} |
|
|
xsetsel(str); |
|
|
|
|
|
|
|
|
return str; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
|
selcopy(void) { |
|
|
|
|
|
xsetsel(getsel()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void |
|
|
void |
|
@ -1994,6 +2002,9 @@ csihandle(void) { |
|
|
case 1: |
|
|
case 1: |
|
|
tdumpline(term.c.y); |
|
|
tdumpline(term.c.y); |
|
|
break; |
|
|
break; |
|
|
|
|
|
case 2: |
|
|
|
|
|
tdumpsel(); |
|
|
|
|
|
break; |
|
|
case 4: |
|
|
case 4: |
|
|
term.mode &= ~MODE_PRINT; |
|
|
term.mode &= ~MODE_PRINT; |
|
|
break; |
|
|
break; |
|
@ -2294,6 +2305,21 @@ printscreen(const Arg *arg) { |
|
|
tdump(); |
|
|
tdump(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
|
printsel(const Arg *arg) { |
|
|
|
|
|
tdumpsel(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
|
tdumpsel(void) |
|
|
|
|
|
{ |
|
|
|
|
|
char *ptr; |
|
|
|
|
|
|
|
|
|
|
|
ptr = getsel(); |
|
|
|
|
|
tprinter(ptr, strlen(ptr)); |
|
|
|
|
|
free(ptr); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void |
|
|
void |
|
|
tdumpline(int n) { |
|
|
tdumpline(int n) { |
|
|
Glyph *bp, *end; |
|
|
Glyph *bp, *end; |
|
|