Introduction
Introduction Statistics Contact Development Disclaimer Help
tadd -w option to embed st. (thx nodus cursorius) - st - [fork] customized buil…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 3959a99293785e603270d8798fbe0cb2ba0ae0ee
parent 4736edd469d07685f6ceeb4bfe438ba48335bd81
Author: AurĂ©lien Aptel <[email protected]>
Date: Wed, 8 Jun 2011 21:35:58 +0200
add -w option to embed st. (thx nodus cursorius)
Diffstat:
M st.1 | 6 ++++++
M st.c | 10 ++++++++--
2 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/st.1 b/st.1
t@@ -7,6 +7,8 @@ st \- simple terminal
.IR class ]
.RB [ \-t
.IR title ]
+.RB [ \-w
+.IR windowid ]
.RB [ \-v ]
.RB [ \-e
.IR command ...]
t@@ -21,6 +23,10 @@ defines the window title (default 'st').
.BI \-c " class"
defines the window class (default $TERM).
.TP
+.BI \-w " windowid"
+embeds st within the window identified by
+.I windowid
+.TP
.B \-v
prints version information to stderr, then exits.
.TP
diff --git a/st.c b/st.c
t@@ -35,7 +35,7 @@
#define USAGE \
"st-" VERSION ", (c) 2010-2011 st engineers\n" \
- "usage: st [-t title] [-c class] [-v] [-e command...]\n"
+ "usage: st [-t title] [-c class] [-w windowid] [-v] [-e command...]\n"
/* Arbitrary sizes */
#define ESC_TITLE_SIZ 256
t@@ -260,6 +260,7 @@ static pid_t pid;
static Selection sel;
static char **opt_cmd = NULL;
static char *opt_title = NULL;
+static char *opt_embed = NULL;
static char *opt_class = NULL;
int
t@@ -1606,6 +1607,7 @@ void
xinit(void) {
XSetWindowAttributes attrs;
Cursor cursor;
+ Window parent;
if(!(xw.dpy = XOpenDisplay(NULL)))
die("Can't open display\n");
t@@ -1636,7 +1638,8 @@ xinit(void) {
| ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
attrs.colormap = xw.cmap;
- xw.win = XCreateWindow(xw.dpy, XRootWindow(xw.dpy, xw.scr), 0, 0,
+ parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, …
+ xw.win = XCreateWindow(xw.dpy, parent, 0, 0,
xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOut…
XDefaultVisual(xw.dpy, xw.scr),
CWBackPixel | CWBorderPixel | CWBitGravity | CWEventMa…
t@@ -1943,6 +1946,9 @@ main(int argc, char *argv[]) {
case 'c':
if(++i < argc) opt_class = argv[i];
break;
+ case 'w':
+ if(++i < argc) opt_embed = argv[i];
+ break;
case 'e':
/* eat every remaining arguments */
if(++i < argc) opt_cmd = &argv[i];
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.