GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - openSUSE-Python/somewm: Not quite awesome...just some.

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

650 Commits
650 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
common
common
 
 
contrib/systemd
contrib/systemd
 
 
docs
docs
 
 
icons
icons
 
 
licenses
licenses
 
 
lua
lua
 
 
objects
objects
 
 
protocols
protocols
 
 
screenshots
screenshots
 
 
spec
spec
 
 
subprojects
subprojects
 
 
tests
tests
 
 
themes
themes
 
 
.busted
.busted
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
.stylua.toml
.stylua.toml
 
 
AI_POLICY.md
AI_POLICY.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
DEVIATIONS.md
DEVIATIONS.md
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
UPSTREAM_PORTS.md
UPSTREAM_PORTS.md
 
 
animation.c
animation.c
 
 
animation.h
animation.h
 
 
banning.c
banning.c
 
 
banning.h
banning.h
 
 
bench.c
bench.c
 
 
bench.h
bench.h
 
 
client.h
client.h
 
 
color.c
color.c
 
 
color.h
color.h
 
 
dbus.c
dbus.c
 
 
dbus.h
dbus.h
 
 
default.nix
default.nix
 
 
draw.c
draw.c
 
 
draw.h
draw.h
 
 
event.c
event.c
 
 
event.h
event.h
 
 
event_queue.c
event_queue.c
 
 
event_queue.h
event_queue.h
 
 
ewmh.c
ewmh.c
 
 
ewmh.h
ewmh.h
 
 
flake.lock
flake.lock
 
 
flake.nix
flake.nix
 
 
focus.c
focus.c
 
 
focus.h
focus.h
 
 
gesture.c
gesture.c
 
 
globalconf.h
globalconf.h
 
 
input.c
input.c
 
 
input.h
input.h
 
 
ipc.c
ipc.c
 
 
ipc.h
ipc.h
 
 
keygrabber.c
keygrabber.c
 
 
lgi-check.c
lgi-check.c
 
 
lgi_closure_guard.c
lgi_closure_guard.c
 
 
lgi_closure_guard.map
lgi_closure_guard.map
 
 
luaa.c
luaa.c
 
 
luaa.h
luaa.h
 
 
meson.build
meson.build
 
 
meson_options.txt
meson_options.txt
 
 
monitor.c
monitor.c
 
 
monitor.h
monitor.h
 
 
mouse.c
mouse.c
 
 
mousegrabber.c
mousegrabber.c
 
 
nested_inhibitor.c
nested_inhibitor.c
 
 
nested_inhibitor.h
nested_inhibitor.h
 
 
package.nix
package.nix
 
 
pam_auth.c
pam_auth.c
 
 
pam_auth.h
pam_auth.h
 
 
property.c
property.c
 
 
property.h
property.h
 
 
protocols.c
protocols.c
 
 
protocols.h
protocols.h
 
 
root.c
root.c
 
 
screenshot_compose.h
screenshot_compose.h
 
 
selection.c
selection.c
 
 
selection.h
selection.h
 
 
shadow.c
shadow.c
 
 
shadow.h
shadow.h
 
 
somewm-client.c
somewm-client.c
 
 
somewm.1
somewm.1
 
 
somewm.c
somewm.c
 
 
somewm.desktop.in
somewm.desktop.in
 
 
somewm.h
somewm.h
 
 
somewm.portal
somewm.portal
 
 
somewm_api.c
somewm_api.c
 
 
somewm_api.h
somewm_api.h
 
 
somewm_internal.h
somewm_internal.h
 
 
somewm_types.h
somewm_types.h
 
 
somewmrc.lua
somewmrc.lua
 
 
spawn.c
spawn.c
 
 
stack.c
stack.c
 
 
stack.h
stack.h
 
 
strut.c
strut.c
 
 
strut.h
strut.h
 
 
systray.c
systray.c
 
 

Repository files navigation

somewm

A Lua framework for building your Wayland desktop. Layouts, widgets, keybindings, window rules, notifications, status bars, etc.

SomeWM has a complete widget system, a signal-driven object model, and a compositor runtime, all wired together so every piece can talk to every other piece. Write a widget that reacts to window focus changes. Build a layout that adapts to screen geometry. Script your entire workflow from rc.lua or from the command line.

Built on wlroots 0.19 or 0.20. Compatible with AwesomeWM's Lua API - existing configs, widgets, and themes carry over.

This branch (main) is 2.0-dev. If you want 100% AwesomeWM parity, use the release/1.4 branch or install somewm from the AUR.

Default configuration Styled configuration

Default config (left) and a styled config (right)

Install

Arch Linux (AUR):

yay -S somewm      # Stable 1.4
yay -S somewm-git  # Development (this branch)

From source:

git clone https://github.com/trip-zip/somewm
cd somewm
make
sudo make install

For Debian, Fedora, NixOS, and detailed instructions, see the Installation Guide.

wlroots version. The build uses wlroots 0.20 if you already have it installed. If not, it picks 0.20 when your wayland-server, libdrm, xkbcommon, wayland-protocols and pixman are new enough to build it, and 0.19 otherwise. Older stable distributions (Debian 13, Ubuntu 24.04) fall into the 0.19 case. meson setup prints which version it chose, and when it falls back to 0.19 it names the dependencies that came up short.

Override the choice with meson setup build -Dwlroots_version=0.19 (or 0.20). If wlroots is not installed, the matching version is built from subprojects/.

The 0.19 path exists for these older distributions and will be dropped once they ship wlroots 0.20 or the dependency versions it needs.

Run

From a TTY:

dbus-run-session somewm

From a display manager, select "somewm" as your session.

Systemd units are also included for session management.

Validate your config before switching:

somewm --check

See First Launch for configuration and migrating from AwesomeWM.

Documentation

Full documentation at somewm.org:

  • Getting Started - Installation, first launch, migration
  • Tutorials - Keybindings, widgets, themes
  • Wayland Protocols - Protocols somewm advertises to clients
  • Troubleshooting - Common issues and solutions

Contributing

Contributions welcome! Please read the Contributing Guide first.

  • Report bugs or request features via Issues
  • Questions and discussion at Discussions

Acknowledgements

  • AwesomeWM - The GOAT window manager
  • wlroots - The Wayland compositor library
  • dwl - Initial reference for wlroots integration

License

GPLv3. See LICENSE for details.

About

Not quite awesome...just some.

Resources

Readme
License

Contributing

Contributing
Activity
Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.