Skip to content
This repository has been archived by the owner on Jun 6, 2023. It is now read-only.

Add force desktop window type flag #4

Merged
merged 3 commits into from
Nov 28, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,12 @@ make clean
### Usage

```
Usage: xwinwrap [-g {w}x{h}+{x}+{y}] [-ni] [-argb] [-fs] [-s] [-st] [-sp] [-a] [-b] [-nf] [-o OPACITY] [-sh SHAPE] [-ov]-- COMMAND ARG1...
Usage: xwinwrap [-g {w}x{h}+{x}+{y}] [-ni] [-argb] [-fdt] [-fs] [-s] [-st] [-sp] [-a] [-d] [-b] [-nf] [-o OPACITY] [-sh SHAPE] [-ov]-- COMMAND ARG1...
Options:
-g - Specify Geometry (w=width, h=height, x=x-coord, y=y-coord. ex: -g 640x480+100+100)
-ni - Ignore Input
-argb - RGB
-fdt - force WID window a desktop type window
-fs - Full Screen
-un - Undecorated
-s - Sticky
Expand All @@ -36,6 +37,7 @@ Options:
-o - Opacity value between 0 to 1 (ex: -o 0.20)
-sh - Shape of window (choose between rectangle, circle or triangle. Default is rectangle)
-ov - Set override_redirect flag (For seamless desktop background integration in non-fullscreenmode)
-d - Daemonize
-debug - Enable debug messages
```
Example
Expand Down
15 changes: 13 additions & 2 deletions xwinwrap.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,12 +133,13 @@ static void sigHandler (int sig)
static void usage (void)
{
fprintf(stderr, "%s \n", NAME);
fprintf (stderr, "\nUsage: %s [-g {w}x{h}+{x}+{y}] [-ni] [-argb] [-fs] [-s] [-st] [-sp] [-a] "
fprintf (stderr, "\nUsage: %s [-g {w}x{h}+{x}+{y}] [-ni] [-argb] [-fdt] [-fs] [-s] [-st] [-sp] [-a] [-d] "
"[-b] [-nf] [-o OPACITY] [-sh SHAPE] [-ov]-- COMMAND ARG1...\n", NAME);
fprintf (stderr, "Options:\n \
-g - Specify Geometry (w=width, h=height, x=x-coord, y=y-coord. ex: -g 640x480+100+100)\n \
-ni - Ignore Input\n \
-argb - RGB\n \
-fdt - force WID window a desktop type window\n \
-fs - Full Screen\n \
-un - Undecorated\n \
-s - Sticky\n \
Expand Down Expand Up @@ -275,6 +276,7 @@ int main(int argc, char **argv)
bool have_argb_visual = false;
bool noInput = false;
bool argb = false;
bool set_desktop_type = false;
bool fullscreen = false;
bool noFocus = false;
bool override = false;
Expand Down Expand Up @@ -309,6 +311,10 @@ int main(int argc, char **argv)
{
argb = true;
}
else if (strcmp (argv[i], "-fdt") == 0)
{
set_desktop_type = true;
}
else if (strcmp (argv[i], "-fs") == 0)
{
fullscreen = 1;
Expand Down Expand Up @@ -526,7 +532,12 @@ int main(int argc, char **argv)
xa = ATOM(_NET_WM_WINDOW_TYPE);

Atom prop;
prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);
if (set_desktop_type)
{
prop = ATOM(_NET_WM_WINDOW_TYPE_DESKTOP);
} else {
prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);
}

XChangeProperty(display, window.window, xa, XA_ATOM, 32,
PropModeReplace, (unsigned char *) &prop, 1);
Expand Down