mirror of sx + changes
Go to file
Earnestly 24a0495086 sx: test -a may not be short-circuiting
I was under the false assumption that -a, like &&, was used
short-circuit semantics.  However the behaviour of -a is not specified
by POSIX.

At least on Linux using bash or dash the behaviour is not
short-circuiting.

As there's no reason to test the RHS if the LHS is false I've switched
back to [ ] && notation which is defined to be short-circuiting.
2017-12-07 15:38:44 +00:00
LICENSE introduce sx 2017-12-01 20:14:54 +00:00
Makefile introduce sx 2017-12-01 20:14:54 +00:00
README sx: drop dependency on openssl 2017-12-07 13:06:46 +00:00
sx sx: test -a may not be short-circuiting 2017-12-07 15:38:44 +00:00
sx.1 doc: clarify purpose and bump the manual date 2017-12-07 12:03:43 +00:00

README

sx <https://github.com/Earnestly/sx>

INTRODUCTION

  sx is a simple alternative to both xinit(1) and startx(1) for starting
  an Xorg server.

  It started life as a proof of concept while attempting to learn how both
  xinit(1) and startx(1) worked.

  It is not a direct replacement however as it provides a different, more
  limited, interface.

  Some of these differences are as follows:

    * The Xorg server's command-line is hard coded and not exposed to the
      user.
    * The first DISPLAY is 1 instead of 0 contrary to what X(7) suggests.
    * xauth entries are overwritten if the displayname is identical.
    * Corresponding xauth entries are unconditionally removed when the Xorg
      server is terminated.
    * The Xorg server uses the -noreset flag.
    * /usr/lib/xorg-server/Xorg is used directly, bypassing Xorg.wrap.
    * While XAUTHORITY is still honoured, $XDG_CONFIG_HOME/sx/xauthfile is
      used instead of $HOME/.Xauthority
    * Very little proxy error checking is used preferring instead to let each
      tool speak for itself.
    * None of the typical /etc/X11/xinit infrastructure is directly used.
    * Neither XINITRC is honoured nor .xinitrc used.
    * The XDG_CONFIG_HOME/sx/sxrc file is used instead of .xinitrc and is
      required to be executable.

  For a rational on why this exists, the author invites the reader to look
  over the source code for both xinit(1) and startx(1).

REQUIRES

  * Xorg
  * xauth
  * /dev/urandom

INSTALL

    make PREFIX=/usr DESTDIR=staged install