diff --git a/INSTALL.md b/INSTALL.md index a412484..35a1521 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -5,13 +5,15 @@ - Xlib - Xt - Motif +- MWM - A C compiler - brightnessctl (for xmbrightness) +- xwallpaper Installing via APK: ``` -# apk add libx11 libx11-dev libxt libxt-dev motif motif-dev clang +# apk add libx11 libx11-dev libxt libxt-dev motif motif-dev mwm xwallpaper clang ``` ## libXmd @@ -33,3 +35,20 @@ subdirectories: # cd # ./build.sh install ``` + +## Replicants + +Xmd provides something called replicants, which are dynamically loaded widgets +that can be placed inside of xmpanel. They can be installed using `./build.sh` +in their respective subdirectories: + +``` +# cd replicants/ +# ./build.sh install +``` + +## Session + +Xmd includes a startup script and assorted "glue code" to facilitate using it as +a desktop environment. It can be installed using `./install.sh` in the `session` +directory. diff --git a/README.md b/README.md index ef07731..c64997e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # Xmd -A collection of X11 Motif desktop utilities written in C99. +An X11/Motif desktop environment written in C99. diff --git a/libXmd/README.md b/libXmd/README.md new file mode 100644 index 0000000..18691e5 --- /dev/null +++ b/libXmd/README.md @@ -0,0 +1,5 @@ +# libXmd + +This library contains code that is common to Xmd applications. The interface to +its functionality is divided among several header files which also contain +documentation comments. diff --git a/libXmd/include/Xmd/Exec.h b/libXmd/include/Xmd/Exec.h index 4c50ecf..bd85833 100644 --- a/libXmd/include/Xmd/Exec.h +++ b/libXmd/include/Xmd/Exec.h @@ -5,8 +5,18 @@ #include #include +/* XmdVaPipedExecPath is like XmdPipedExecPath, but it takes in a vararg list to + use as the "args" array. The vararg list must be terminated by NULL. */ FILE *XmdVaPipedExecPath (const String file, pid_t *child, String mode, ...); +/* XmdPipedExecPath is like popen(), but takes in an explicit command name and + argument list instead of a shell command. The argument list must be + terminated by NULL. "file" is searched for in PATH, and it is executed as a + child process with the specified args. The PID of the child is stored at the + location of "child". + + To correctly close the connection to the child process, first fclose() the + returned file, and then call waitpid() on the child PID. */ FILE *XmdPipedExecPath (const String file, pid_t *child, String mode, String const argv[]); #endif