GithubHelp home page GithubHelp logo

dswm's Introduction

The Deep Space Window Manager
------------------------

DSWM is a window manager written entirely in Common Lisp. It
attempts to be highly customizable while relying entirely on the
keyboard for input. You will not find buttons, icons, title bars, tool
bars, or any of the other conventional GUI widgets.

DSWM is a fork of StumpWM, so have most of all features, which have
StumpWM, but it designed for better usability and better integration with
emacs. It is an early release, so some of it`s own features may not work
or may work incorrect. In future releases we will fix it.

These design decisions reflect the growing popularity of productive,
customizable lisp based systems.

Build & Start DSWM
---------------------

Prerequisites
=============

* a common lisp distribution. CCL, CLISP, and SBCL all work.
* clx
* cl-ppcre

If you intend to use SBCL or CCL you need to install portable-clx. If
you're using clisp, make sure you use at least version 2.42 and that
clisp is compiled with new-clx. As of clisp 2.42, new-clx works fine
with dswm. Any version before that is too buggy to run dswm.

You can use asdf-install to install lisp libraries:
  $ sbcl
    * (require 'asdf)
    * (require 'asdf-install)
    * (asdf-install:install 'clx)
    * (asdf-install:install 'cl-ppcre)

If using clisp, you'll need to install asdf first to use asdf-install.
  $ mkdir -p ~/.cl/asdf && cd ~/.cl
  $ wget http://cclan.cvs.sourceforge.net/*checkout*/cclan/asdf/asdf.lisp -O ~/.cl/asdf/asdf.lisp
  $ echo "(load #p\"/home/USER/.cl/asdf/asdf\")" >> ~/.clisprc.lisp
  $ mkdir -p ~/.cl/systems
  $ echo "(push #p\"/home/USER/.cl/systems\" asdf:*central-registry*)" >> ~/.clisprc.lisp
  $ wget http://common-lisp.net/project/asdf-install/asdf-install_latest.tar.gz
  $ tar xf asdf-install_latest.tar.gz
  $ ln -s ~/.cl/asdf-install/asdf-install/asdf-install.asd ~/.cl/systems/
  $ clisp
    * (asdf:operate 'asdf:compile-op 'asdf-install)
    * (asdf:operate 'asdf:load-op 'asdf-install)
    * (asdf-install:install :cl-ppcre)

CCL has asdf built in, but you will need to get asdf-install like with clisp.

Your operating system distribution may also have these libraries
available.

Building
========

Building dswm from CVS requires that you build the configure script:

$ autoconf

If there's already a configure script then just run it.

$ ./configure

By default dswm elects sbcl. If you have both installed, you can
explicitly select clisp like so:

$ ./configure --with-lisp=clisp

If your lisps are in strange places you may need to tell the script where to find them:

$ configure --with-sbcl=/home/sabetts/opt/bin/sbcl --with-clisp=/usr/local/downstairs/to/the/left/clisp

Now build it:

$ make

If all goes well, you should have a dswm binary now. Sorry there's
no install yet. Just copy the binary wherever you want or run it out
of the dswm/ directory. If autoconf worked properly, you can
install the binary, along with the .info documentation with:

$ make install

Now that you have a binary, call it from your ~/.xinitrc file:

$ echo /path/to/dswm >> ~/.xinitrc
$ startx

Hopefully that will put you in X running dswm!

SBCL And Threads
----------------

SBCL compiled with threads causes problems with dswm. The most
common is sluggishness. It may also cause dswm to become
unresponsive. If you use SBCL, consider using a version built without
threads.

build.sh
--------
Also available script dswm-install.sh for building and installing dswm

CCL And Virtual Memory
----------------------

On 64bit platforms, CCL reserves a "very large" amount of virtual
memory. If this bothers you for some reason, you can pass the -R or
--heap-reserve option to the binary in your ~/.xinitrc file. See
http://ccl.clozure.com/manual/chapter15.1.html for an explanation.

Help
----

There's a texinfo manual, dswm.texi. the build scripts generate an
info file you can read in emacs or with the `info' program.

For other stuff visit the stumpwm wiki:

http://stump.antidesktop.net/ (dswm wiki is not prepared yet)

There's a 'dswm' room at jabber conference conference.work-space.org.ua

dswm's People

Contributors

shrdlu-et avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.