mirror of
https://github.com/LukeSmithxyz/st.git
synced 2024-11-21 23:05:59 +01:00
Merge branch 'master' of https://github.com/lukesmithxyz/st
This commit is contained in:
commit
6bf7545fc9
7 changed files with 34 additions and 6 deletions
|
@ -43,7 +43,7 @@ Obviously, `make` is required to build. `fontconfig` is required for the default
|
||||||
|
|
||||||
On OpenBSD, be sure to edit `config.mk` first and remove `-lrt` from the `$LIBS` before compiling.
|
On OpenBSD, be sure to edit `config.mk` first and remove `-lrt` from the `$LIBS` before compiling.
|
||||||
|
|
||||||
Be sure to have a composite manager (`xcompmgr`, `compton`, etc.) running if you want transparency.
|
Be sure to have a composite manager (`xcompmgr`, `picom`, etc.) running if you want transparency.
|
||||||
|
|
||||||
## How to configure dynamically with Xresources
|
## How to configure dynamically with Xresources
|
||||||
|
|
||||||
|
|
4
config.h
4
config.h
|
@ -143,8 +143,8 @@ static const char *colorname[] = {
|
||||||
*/
|
*/
|
||||||
unsigned int defaultfg = 259;
|
unsigned int defaultfg = 259;
|
||||||
unsigned int defaultbg = 258;
|
unsigned int defaultbg = 258;
|
||||||
static unsigned int defaultcs = 256;
|
unsigned int defaultcs = 256;
|
||||||
static unsigned int defaultrcs = 257;
|
unsigned int defaultrcs = 257;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default shape of cursor
|
* Default shape of cursor
|
||||||
|
|
|
@ -10,6 +10,10 @@ MANPREFIX = $(PREFIX)/share/man
|
||||||
X11INC = /usr/X11R6/include
|
X11INC = /usr/X11R6/include
|
||||||
X11LIB = /usr/X11R6/lib
|
X11LIB = /usr/X11R6/lib
|
||||||
|
|
||||||
|
# include X11 in Ubuntu
|
||||||
|
# X11INC = /usr/include/X11R6
|
||||||
|
# X11LIB = /usr/lib/X11R6
|
||||||
|
|
||||||
PKG_CONFIG = pkg-config
|
PKG_CONFIG = pkg-config
|
||||||
|
|
||||||
# includes and libs
|
# includes and libs
|
||||||
|
|
19
st.c
19
st.c
|
@ -1943,12 +1943,23 @@ strhandle(void)
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
case 4: /* color set */
|
case 4: /* color set */
|
||||||
if (narg < 3)
|
case 10: /* foreground set */
|
||||||
|
case 11: /* background set */
|
||||||
|
case 12: /* cursor color */
|
||||||
|
if ((par == 4 && narg < 3) || narg < 2)
|
||||||
break;
|
break;
|
||||||
p = strescseq.args[2];
|
p = strescseq.args[((par == 4) ? 2 : 1)];
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
case 104: /* color reset, here p = NULL */
|
case 104: /* color reset, here p = NULL */
|
||||||
j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
|
if (par == 10)
|
||||||
|
j = defaultfg;
|
||||||
|
else if (par == 11)
|
||||||
|
j = defaultbg;
|
||||||
|
else if (par == 12)
|
||||||
|
j = defaultcs;
|
||||||
|
else
|
||||||
|
j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
|
||||||
|
|
||||||
if (xsetcolorname(j, p)) {
|
if (xsetcolorname(j, p)) {
|
||||||
if (par == 104 && narg <= 1)
|
if (par == 104 && narg <= 1)
|
||||||
return; /* color reset without parameter */
|
return; /* color reset without parameter */
|
||||||
|
@ -1959,6 +1970,8 @@ strhandle(void)
|
||||||
* TODO if defaultbg color is changed, borders
|
* TODO if defaultbg color is changed, borders
|
||||||
* are dirty
|
* are dirty
|
||||||
*/
|
*/
|
||||||
|
if (j == defaultbg)
|
||||||
|
xclearwin();
|
||||||
redraw();
|
redraw();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|
1
st.h
1
st.h
|
@ -142,6 +142,7 @@ extern char *termname;
|
||||||
extern unsigned int tabspaces;
|
extern unsigned int tabspaces;
|
||||||
extern unsigned int defaultfg;
|
extern unsigned int defaultfg;
|
||||||
extern unsigned int defaultbg;
|
extern unsigned int defaultbg;
|
||||||
|
extern unsigned int defaultcs;
|
||||||
extern const int boxdraw, boxdraw_bold, boxdraw_braille;
|
extern const int boxdraw, boxdraw_bold, boxdraw_braille;
|
||||||
extern float alpha;
|
extern float alpha;
|
||||||
extern MouseKey mkeys[];
|
extern MouseKey mkeys[];
|
||||||
|
|
1
win.h
1
win.h
|
@ -37,3 +37,4 @@ void xsetpointermotion(int);
|
||||||
void xsetsel(char *);
|
void xsetsel(char *);
|
||||||
int xstartdraw(void);
|
int xstartdraw(void);
|
||||||
void xximspot(int, int);
|
void xximspot(int, int);
|
||||||
|
void xclearwin(void);
|
||||||
|
|
9
x.c
9
x.c
|
@ -815,6 +815,8 @@ xsetcolorname(int x, const char *name)
|
||||||
|
|
||||||
XftColorFree(xw.dpy, xw.vis, xw.cmap, &dc.col[x]);
|
XftColorFree(xw.dpy, xw.vis, xw.cmap, &dc.col[x]);
|
||||||
dc.col[x] = ncolor;
|
dc.col[x] = ncolor;
|
||||||
|
if (x == defaultbg)
|
||||||
|
dc.col[defaultbg].color.alpha = (unsigned short)(0xffff * alpha);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -830,6 +832,13 @@ xclear(int x1, int y1, int x2, int y2)
|
||||||
x1, y1, x2-x1, y2-y1);
|
x1, y1, x2-x1, y2-y1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
xclearwin(void)
|
||||||
|
{
|
||||||
|
xclear(0, 0, win.w, win.h);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
xhints(void)
|
xhints(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue