Merge pull request #8 from XeCycle/master

Two new features
This commit is contained in:
Christopher Jeffrey 2012-02-26 19:11:02 -08:00
commit 1591d8b4ce
2 changed files with 30 additions and 1 deletions

View File

@ -48,10 +48,21 @@ menus, and for all windows on hide and restore events.
.BI \-C .BI \-C
When \-c is specified, attempts to avoid painting shadows on panels and docks. When \-c is specified, attempts to avoid painting shadows on panels and docks.
.TP .TP
.BI \-G
When \-c is specified, attempts to avoid painting shadows on
drag-and-drop windows.
.TP
.BI \-F .BI \-F
When \-f is specified, also enables the fade effect when windows change their When \-f is specified, also enables the fade effect when windows change their
opacity, as with transset(1). opacity, as with transset(1).
.TP .TP
.BI \-b
Attempts to fork to background after registered composition
manager. Still sits in foreground if fork failed. Maybe useful
if you computer is too fast, in which case some programs
requiring a composite manager may have started before composite
manager is ready.
.TP
.BI \-i\ opacity .BI \-i\ opacity
Specifies inactive window transparency. (0.1 - 1.0) Specifies inactive window transparency. (0.1 - 1.0)
.TP .TP

View File

@ -2422,6 +2422,8 @@ main(int argc, char **argv) {
char *display = 0; char *display = 0;
int o; int o;
Bool no_dock_shadow = False; Bool no_dock_shadow = False;
Bool no_dnd_shadow = False;
Bool fork_after_register = False;
for (i = 0; i < NUM_WINTYPES; ++i) { for (i = 0; i < NUM_WINTYPES; ++i) {
win_type_fade[i] = False; win_type_fade[i] = False;
@ -2429,7 +2431,7 @@ main(int argc, char **argv) {
win_type_opacity[i] = 1.0; win_type_opacity[i] = 1.0;
} }
while ((o = getopt(argc, argv, "D:I:O:d:r:o:m:l:t:i:e:scnfFCaSz")) != -1) { while ((o = getopt(argc, argv, "D:I:O:d:r:o:m:l:t:i:e:scnfFCaSzGb")) != -1) {
switch (o) { switch (o) {
case 'd': case 'd':
display = optarg; display = optarg;
@ -2503,6 +2505,12 @@ main(int argc, char **argv) {
fprintf(stderr, "Warning: " fprintf(stderr, "Warning: "
"-n, -a, and -s have been removed.\n"); "-n, -a, and -s have been removed.\n");
break; break;
case 'G':
no_dnd_shadow = True;
break;
case 'b':
fork_after_register = True;
break;
default: default:
usage(argv[0]); usage(argv[0]);
break; break;
@ -2513,6 +2521,9 @@ main(int argc, char **argv) {
win_type_shadow[WINTYPE_DOCK] = False; win_type_shadow[WINTYPE_DOCK] = False;
} }
if (no_dnd_shadow)
win_type_shadow[WINTYPE_DND] = False;
dpy = XOpenDisplay(display); dpy = XOpenDisplay(display);
if (!dpy) { if (!dpy) {
fprintf(stderr, "Can't open display\n"); fprintf(stderr, "Can't open display\n");
@ -2557,6 +2568,13 @@ main(int argc, char **argv) {
} }
register_cm(scr); register_cm(scr);
if (fork_after_register) {
int pid = fork();
if (pid < 0)
fprintf(stderr, "Fork failed\n");
else if (pid > 0)
exit(0);
}
get_atoms(); get_atoms();
pa.subwindow_mode = IncludeInferiors; pa.subwindow_mode = IncludeInferiors;