StumpWM

Last updated
StumpWM
Developer(s) Shawn Betts
Stable release
22.11 [1]   OOjs UI icon edit-ltr-progressive.svg / 27 November 2022
Repository
Written in Common Lisp
Operating system Unix-like
Type Window manager
License GPL-2.0-or-later [2]
Website stumpwm.github.io

StumpWM is a tiling window manager that was created when developer Shawn Betts found ratpoison growing increasingly large and "lispy". Intended as a successor to ratpoison, StumpWM is released under the terms of the GPL-2.0-or-later license. [2]

Contents

As explained on the StumpWM wiki, the developers decided to largely re-implement ratpoison in Common Lisp using CLX: [3]

StumpWM grew out of the authors' frustration with writing ratpoison in C. Very quickly we realized we were building into ratpoison lispy-emacs style paradigms. We had a REPL hanging off 'C-t :', hooks, and a growing subset of Common Lisp in the implementation... It was clear what we really wanted was a window manager written in Lisp from the ground up with lots of room for customizing and real-time hacking.

The authors describe StumpWM in the following terms: [4]

StumpWM attempts to be customizable yet visually minimal. There are no window decorations, no icons, and no buttons. It does have various hooks to attach your personal customizations, and variables to tweak.

A rewrite of StumpWM under the name Paulownia was being undertaken but has since be abandoned [5] .

Lisp and customization

StumpWM can be run in both Steel Bank Common Lisp (SBCL) and GNU CLISP, with SBCL generally being preferred for better performance. [4] The SLIME environment is commonly used for applying real-time updates and customizations to StumpWM. There is also another program called stumpish ("StumpWM Interactive Shell") that provides a standard way to interface with the window manager from a terminal. [4]

Window manager customizations are stored in a .stumpwmrc file that is found in the home directory of each user. This file contains Lisp code for configuring StumpWM. [4]

Features

StumpWM is a tiling window manager which has basic support for floating windows. [6]

Development

StumpWM source code is hosted on GitHub and the version control system used is Git. [7] A mailing list is also available for StumpWM related issues. [8]

See also

Related Research Articles

<span class="mw-page-title-main">Emacs Lisp</span> Dialect of Lisp used as an Emacs scripting language

Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs. It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C, as is the Lisp interpreter. Emacs Lisp is also termed Elisp, although there are also older, unrelated Lisp dialects with that name.

<span class="mw-page-title-main">X window manager</span> Type of window manager

An X window manager is a window manager that runs on top of the X Window System, a windowing system mainly used on Unix-like systems.

<span class="mw-page-title-main">Sawfish (window manager)</span>

Sawfish is a window manager for the X Window System. It aims to manage windows in the most flexible and attractive manner possible. It is able to match a window by multiple criteria such as application, size or role, and based on this, can change the window's position, appearance, or behavior. This allows for highly customized window handling such as web browser windows opening full-screen without borders on a secondary monitor, a default terminal emulator window displaying full-screen at the desktop level, and all dialog box windows under a certain size opening on the lower right corner of the main monitor while larger ones are centered.

ratpoison

ratpoison is a tiling window manager for the X Window System primarily developed by Shawn Betts. The user interface and much of their functionality are inspired by the GNU Screen terminal multiplexer. While ratpoison is written in C, Betts' StumpWM re-implements a similar window manager in Common Lisp.

CLiki is an open source wiki application written in Common Lisp, that was under development from 2002 to 2005.

<span class="mw-page-title-main">AutoHotkey</span> Automation-focused scripting language for Windows

AutoHotkey is a free and open-source custom scripting language for Microsoft Windows, initially aimed at providing easy keyboard shortcuts or hotkeys, fast macro-creation and software automation that allows users of most levels of computer skill to automate repetitive tasks in any Windows application. User interfaces can easily be extended or modified by AutoHotkey. The AutoHotkey installation includes its own extensive help file, and web-based documentation is also available.

<span class="mw-page-title-main">Git</span> Software for version control of files

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

<span class="mw-page-title-main">Tiling window manager</span> Window manager with non-overlapping frames

In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more common approach of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop metaphor.

<span class="mw-page-title-main">Steel Bank Common Lisp</span> Free Common Lisp implementation

Steel Bank Common Lisp (SBCL) is a free Common Lisp implementation that features a high-performance native compiler, Unicode support and threading.

<span class="mw-page-title-main">TextMate</span> GUI text editor for macOS

TextMate is a general-purpose GUI text editor for macOS created by Allan Odgaard. TextMate features declarative customizations, tabs for open documents, recordable macros, folding sections, snippets, shell integration, and an extensible bundle system.

<span class="mw-page-title-main">SageMath</span> Computer algebra system

SageMath is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, group theory, differentiable manifolds, numerical analysis, number theory, calculus and statistics.

ISLISP is a programming language in the Lisp family standardized by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) joint working group ISO/IEC JTC 1/SC 22/WG 16. The primary output of this working group was an international standard, published by ISO. The standard was updated in 2007 and republished as ISO/IEC 13816:2007(E). Although official publication was through ISO, versions of the ISLISP language specification are available that are believed to be in the public domain.

Chez Scheme is a programming language, a dialect and implementation of the language Scheme which is a type of Lisp. It uses an incremental native-code compiler to produce native binary files for the x86, PowerPC, and SPARC processor architectures. It has supported the R6RS standard since version 7.9.1. It is free and open-source software released under an Apache License, version 2.0. It was first released in 1985, by R. Kent Dybvig, originally licensed as proprietary software, and then released as open-source software on GitHub on 2016-05-13 with version 9.4.

xmonad Dynamic window manager for X Window System

xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

<span class="mw-page-title-main">GitHub</span> Hosting service for software projects

GitHub, Inc. is a platform and cloud-based service for software development and version control, allowing developers to store and manage their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on its direct descendant, GNU Emacs, is ongoing; its latest version is 29.1, released July 2023.

awesome (window manager) Window manager for X Window System

awesome is a dynamic window manager for the X Window System developed in the C and Lua programming languages. Lua is also used for configuring and extending the window manager. Its development began as a fork of dwm. It aims to be extremely small and fast, yet extensively customizable. It makes it possible for the user to manage windows with the use of keyboard.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

References

  1. "Release 22.11". 27 November 2022. Retrieved 26 December 2022.
  2. 1 2 StumpWM COPYING file .
  3. "Background". The StumpWM wiki. 2006-10-05. Retrieved 2014-12-01.
  4. 1 2 3 4 "Stumpwm - ArchWiki".
  5. Codename: Paulownia, Stump Window Manager, 2023-09-26, retrieved 2023-12-06
  6. "Stump Window Manager". GitHub. Retrieved 2023-12-06.
  7. "The Stump Window Manager: Downloads".
  8. "Stump-devel".