Xinqi Bao's Git
projects
/
st.git
/ commitdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
722688d
)
move code into new xresize func, add early exit to resize
author
Devin J. Pohly <
[email protected]
>
Mon, 25 Oct 2010 19:10:41 +0000
(15:10 -0400)
committer
Devin J. Pohly <
[email protected]
>
Mon, 25 Oct 2010 19:10:41 +0000
(15:10 -0400)
st.c
patch
|
blob
|
history
diff --git
a/st.c
b/st.c
index
147a6fa
..
594b0d3
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-190,6
+190,7
@@
static void xdrawcursor(void);
static void xinit(void);
static void xloadcols(void);
static void xseturgency(int);
static void xinit(void);
static void xloadcols(void);
static void xseturgency(int);
+static void xresize(int, int);
static void expose(XEvent *);
static void visibility(XEvent *);
static void expose(XEvent *);
static void visibility(XEvent *);
@@
-1257,6
+1258,14
@@
tresize(int col, int row) {
tsetscroll(0, row-1);
}
tsetscroll(0, row-1);
}
+void
+xresize(int col, int row) {
+ xw.bufw = MAX(1, col * xw.cw);
+ xw.bufh = MAX(1, row * xw.ch);
+ XFreePixmap(xw.dis, xw.buf);
+ xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr));
+}
+
void
xloadcols(void) {
int i, r, g, b;
void
xloadcols(void) {
int i, r, g, b;
@@
-1615,16
+1624,13
@@
resize(XEvent *e) {
xw.w = e->xconfigure.width;
xw.h = e->xconfigure.height;
xw.w = e->xconfigure.width;
xw.h = e->xconfigure.height;
-
xw.bufw = xw.w - 2*BORDER
;
-
xw.bufh = xw.h - 2*BORDER
;
- col = xw.bufw / xw.cw;
-
row = xw.bufh / xw.ch
;
+
col = (xw.w - 2*BORDER) / xw.cw
;
+
row = (xw.h - 2*BORDER) / xw.ch
;
+ if(col == term.col && row == term.row)
+
return
;
tresize(col, row);
ttyresize(col, row);
tresize(col, row);
ttyresize(col, row);
- xw.bufh = MAX(1, xw.bufh);
- xw.bufw = MAX(1, xw.bufw);
- XFreePixmap(xw.dis, xw.buf);
- xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr));
+ xresize(col, row);
}
void
}
void