From b8a6896498bc0e4286dbc8e4adda29fded798eaa Mon Sep 17 00:00:00 2001 From: speedie Date: Thu, 26 Jan 2023 19:42:40 +0100 Subject: [PATCH] add WIP wiki articles and stuff --- index.css | 70 +++++++++------ index.css.orig | 164 ++++++++++++++++++++++++++++++++++ mktree.sh | 3 + pages/Getting Started.txt | 183 ++++++++++++++++++++++++++++++++++++++ pages/Home.txt | 2 +- pages/Wayland support.txt | 2 + 6 files changed, 398 insertions(+), 26 deletions(-) create mode 100644 index.css.orig create mode 100755 mktree.sh create mode 100644 pages/Getting Started.txt create mode 100644 pages/Wayland support.txt diff --git a/index.css b/index.css index 3225c4d..4a4b886 100644 --- a/index.css +++ b/index.css @@ -9,16 +9,29 @@ * Written with Coda: * */ - + +.main { + background-color: #000000; + color: #ffffff; +} + +body { + background-color: #222222; +} + * { - font-family: Helvetica, sans-serif; - font-size: 13px; + font-family: Monospace; + font-size: 11px; margin: 0; padding: 0; } +a { + color: #6666ff; +} + blockquote { - background-color: #f0f8f0; + background-color: #0f070f; margin: 0px 0px 12px 20px; padding-top: 4px 10px 4px 10px; } @@ -50,7 +63,7 @@ h3 { } hr { - border-top: 1px solid #cccccc; + border-top: 1px solid #222222; border-bottom: 0; border-left: 0; border-right: 0; @@ -77,7 +90,7 @@ p { } pre { - font-family: Menlo, Courier, monospace; + font-family: Monospace, monospace; font-size: 11px; margin-left: 12px; margin-bottom: 12px; @@ -91,7 +104,7 @@ pre { } code { - font-family: Menlo, Courier, monospace; + font-family: Monospace, monospace; font-size: 11px; } @@ -100,47 +113,47 @@ table { } table, td { + background-color: #000000; padding: 2px; } textarea { - font-family: Menlo, Courier, monospace; + font-family: Monospace, Courier, monospace; font-size: 11px; width: 99%; - background-color: #ffffee; + background-color: #000011; + color: #ffffff; } -.main { +.main { padding: 8px; } .note { - background-color: #ffffcc; + background-color: #000011; padding: 4px; margin: 0 8px 8px 8px; - color: #666644; - border: solid 1px #666644; + color: #9999bb; + border: solid 1px #9999bb; } .titlebar { - background-color: #222222; - background: -webkit-gradient(linear, left top, left bottom, from(#555555), to(#000000)); + background-color: #111111; color: #ffffff; - font-size: 18px; + font-size: 10px; font-weight: bold; - padding: 4px 4px 4px 12px; } .titledate { font-size: 10px; - color: #999999; + color: #777777; } .toolbar { - background-color: #777777; - background: -webkit-gradient(linear, left top, left bottom, from(#666666), to(#444444)); - font-size: 12px; - padding: 4px 4px 4px 12px; + background-color: #222222; + position: sticky; + top: 0; + font-size: 8px; } a.tool { @@ -150,15 +163,22 @@ a.tool { } a.missing-link { - color: #ba0000; + color: #ed123e; +} + +input { + background-color: #111111; + color: #ffffff; + } input.tool { font-size: 11px; - color: #000000; + background-color: #222222; + color: #ffffff; } img { - max-width: 100%; + max-width: 50%; height: auto; } diff --git a/index.css.orig b/index.css.orig new file mode 100644 index 0000000..3225c4d --- /dev/null +++ b/index.css.orig @@ -0,0 +1,164 @@ +/* + * W2 + * + * Copyright (C) 2007-2011 Steven Frank + * + * Code may be re-used as long as the above copyright notice is retained. + * See README.txt for full details. + * + * Written with Coda: + * + */ + +* { + font-family: Helvetica, sans-serif; + font-size: 13px; + margin: 0; + padding: 0; +} + +blockquote { + background-color: #f0f8f0; + margin: 0px 0px 12px 20px; + padding-top: 4px 10px 4px 10px; +} + +form { + display: inline; +} + +li { + line-height: 1.5em; +} + +h1 { + font-size: 20px; + font-weight: bold; + margin-bottom: 8px; +} + +h2 { + font-size: 16px; + font-weight: bold; + margin-bottom: 8px; +} + +h3 { + font-size: 13px; + font-weight: bold; + margin-bottom: 8px; +} + +hr { + border-top: 1px solid #cccccc; + border-bottom: 0; + border-left: 0; + border-right: 0; + margin-top: 12px; + margin-bottom: 12px; +} + +ul { + padding-left: 12px; + margin-left: 12px; + margin-bottom: 12px; + list-style-position: inside; +} + +ol { + margin-left: 12px; + margin-bottom: 12px; + padding-left: 12px; + list-style-position: inside; +} + +p { + margin: 12px 12px 12px 12px; +} + +pre { + font-family: Menlo, Courier, monospace; + font-size: 11px; + margin-left: 12px; + margin-bottom: 12px; + + /* stroke each browser so that they wrap lines in the pre tag */ + white-space: pre-wrap; /* css-3 */ + white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* Internet Explorer 5.5+ */ +} + +code { + font-family: Menlo, Courier, monospace; + font-size: 11px; +} + +table { + border-collapse: collapse; +} + +table, td { + padding: 2px; +} + +textarea { + font-family: Menlo, Courier, monospace; + font-size: 11px; + width: 99%; + background-color: #ffffee; +} + +.main { + padding: 8px; +} + +.note { + background-color: #ffffcc; + padding: 4px; + margin: 0 8px 8px 8px; + color: #666644; + border: solid 1px #666644; +} + +.titlebar { + background-color: #222222; + background: -webkit-gradient(linear, left top, left bottom, from(#555555), to(#000000)); + color: #ffffff; + font-size: 18px; + font-weight: bold; + padding: 4px 4px 4px 12px; +} + +.titledate { + font-size: 10px; + color: #999999; +} + +.toolbar { + background-color: #777777; + background: -webkit-gradient(linear, left top, left bottom, from(#666666), to(#444444)); + font-size: 12px; + padding: 4px 4px 4px 12px; +} + +a.tool { + font-size: 11px; + margin-right: 8px; + color: #eeeeee; +} + +a.missing-link { + color: #ba0000; +} + +input.tool { + font-size: 11px; + color: #000000; +} + +img { + max-width: 100%; + height: auto; +} diff --git a/mktree.sh b/mktree.sh new file mode 100755 index 0000000..6700cc8 --- /dev/null +++ b/mktree.sh @@ -0,0 +1,3 @@ +#!/bin/sh +URL="https://codeberg.org/speedie/speedwm/raw/branch/master" +tree -I md5 -f --noreport --charset ascii | grep -vE "profiles|metadata|md5|Manifest|README|xml|repo_name|conf|directories|push|tree|LICENSE" | sed -e 's/| \+/ /g' -e 's/[|`]-\+/ */g' -e 's:\(* \)\(\(.*/\)\([^/]\+\)\):\1[\4](\2):g' | tail -n+2 | sed "s|]([.]|](${URL}|g" diff --git a/pages/Getting Started.txt b/pages/Getting Started.txt new file mode 100644 index 0000000..4f23a4d --- /dev/null +++ b/pages/Getting Started.txt @@ -0,0 +1,183 @@ +Getting Started +--------------- + +[speedwm](https://speedie.gq/projects/speedwm.php) is a window manager forked +from [dwm](https://dwm.suckless.org) (also known as dynamic window manager). +It manages the user's open windows and tiles them according to a set layout. +This is what makes it dynamic, unlike windows managers like i3 which you may +be used to. + +### This is an X11 window manager, you need to use X. + +Yes, this is an X11 window manager. I do not like Wayland and it's +philosophies, and I will not +support it for multiple reasons. See [[Wayland support]] for my reasoning +behind this. Hate me all you want for it! + +If it isn't clear, `xorg-server` as well as `xinit` or `sx` is pretty much +expected. You can also use display managers like `sddm` or `lightdm` although +it should be mentioned that `ly` is **known** to have issues with dwm and +therefore also +speedwm. Do note that setting up X11 is out of the scope of this wiki, and you +need to figure out how to do that yourself. + +### Supported operating systems + +This is not some arbitrary requirement. While it may run if it's not listed +here, I will not be providing support due to having a lack of experience with +said operating system. The main operating systems that **do not** support +speedwm are macOS and Microsoft Windows. UNIX like operating systems are the +most likely to run it. + +- Nearly all GNU/Linux distributions + - NixOS and GNU Guix may require separate instructions. I will not provide + support for these, use the existing documentation to set it up. +- FreeBSD, OpenBSD, NetBSD + - There are likely more BSDs that can run speedwm, but I cannot support all + of them. Try it and see if it works. + +### Installation on Gentoo GNU/Linux + +Gentoo has slightly different instructions for setting up speedwm. While you +can follow along with the generic installation instructions, I have a Gentoo +overlay with packages for all speedwm versions. + +To get started, add [my +overlay](https://codeberg.org/speedie/speedie-overlay). Then simply `emerge +x11-wm/speedwm x11-wm/libspeedwm x11-wm/speedwm-extras`. Optionally, you may +`emerge x11-misc/spde` instead, which is a metapackage for a lot of stuff +including fonts, and general programs that work well for me. + +If you want to install speedwm using Git, do this by adding the following +lines: + +`=x11-wm/speedwm-9999 **` + +`=x11-wm/libspeedwm-9999 **` + +`=x11-wm/speedwm-extras-9999 **` + +to `/etc/portage/package.accept_keywords` and then emerging the packages as +per the instructions above. + +### Installation on generic GNU/Linux distributions + +Installing speedwm on most GNU/Linux distributions is very simple. First, +determine if you want to install it using Git (the absolute latest version) or +using a stable tarball. + +As of 26/01/2023, 1.8 is the latest tarball release +which is not very stable. For this reason, it is recommended that you `git +clone` the repository. If you do not have `git`, install it using your +distribution's package manager. If you're (still) going to be using a 'stable' +tarball, you do not need to install `git`. + +While the list of dependencies will vary depending on the speedwm version +you're going to install (see docs/dependencies.md for your specific version), +below is a list for the latest release, 1.8 and soon to be 1.9. + +- libXft +- libXinerama + - Used for multi-monitor support. It can be disabled if you do not need it + by commenting the XINERAMA libraries in `toggle.mk`. +- imlib2 + - Used for tag previews and window icons. It can be disabled if you do not + need it. To do this, comment out `IMLIB2LIBS` in `toggle.mk` and set + `USEIMLIB2`, `USEWINICON` and `USETAGPREVIEW` to `0` in `toggle.h`. +- pango +- yajl + - Used for IPC support. It can be disabled if you do not need it. To do + this, comment out `YAJLINC` and `YAJLLIBS` in `toggle.mk` and set `USEIPC` + to `0` in `toggle.h`. +- tcc + - This is a compiler. It is used because it is much faster than `clang` or + `gcc` (although at the expense of debugging and compatibility). You can + swap it out by passing `CC=cc` to the `make` command later when we compile + speedwm. + +#### Installation using `git` + +This assumes you have `git` installed. + +`cd` into a location where your normal user (not root) has permission to both +read and write. Do not clone the speedwm repository in `~/.config` as speedwm +will write configuration files to that location. + +Note: Cloning the repository to `~/.config` is fine +if the speedwm source code directory is **not** `speedwm` but speedwm +will use the `~/.config/speedwm` directory to store configuration files (not +source code). + +From here on, we're going to assume you are in the location `~/Documents`! Run +`git clone https://codeberg.org/speedie/speedwm.git speedwm` to clone the +repository into a directory named `speedwm`. Provided the repository hasn't +moved and you have a working internet connection, you should have received a +copy of the speedwm source code. + +You can now `cd speedwm` into it so we can actually install it. If you need to +make changes to `toggle.h`, `toggle.mk`, `host.mk` or any other C source code, +now is the time to do it. + +Now, it's time to compile it! Provided you have all dependencies installed, +this should be very, very easy and quick. Run `make clean install` as root to install +speedwm. The binary will be in `/usr/bin/speedwm`. If you need to use a +different compiler (tcc in Arch repositories has a few issues), you can run +`make CC=cc clean install` to use the system default compiler. Alternatively +use `gcc` instead of `cc` or whatever you want. + +After installation, it is *highly* recommended that you move your source code +directory to a safe place. speedwm is a source based window manager and +**most** (but not all) changes you make to it are going to be done by +recompiling the window manager. This is, of course done with the same `make +clean install` command you used earlier. + +I recommend you do this by forking the speedwm repository, and putting it on a +Git repository somewhere. That way, you can always clone your specific +version. + +Warning: If you lose your source code, you will be +**unable** to make any further changes to speedwm. + +Now follow along with 'Using speedwm'. + +#### Installation using a tarball + +Installation using a tarball works pretty much the same. Visit [the releases +page](https://codeberg.org/speedie/speedwm/releases) and get the latest + (or an old if you want) tarball. Avoid the 'Source Code (ZIP)' and 'Source + Code (TAR.GZ)' options, get the 'speedwm-.tar.gz' file. + +`cd` into a location where your normal user (not root) has permission to both +read and write. Make sure `~/.config/speedwm` is not used by anything. + +Now we need to unpack the tarball and get our source code. To do this, you can +use the `tar` command. I will spare you the time reading the man page and the +command to unpack the tarball is `tar -xpvf +/path/to/the/speedwm/tarball.tar.gz`. The `-x` argument here means extract. +`-p` means preserve permissions. The `-v` means verbose, we want to see +what's going on. `-f` means file, we want to specify a file to unpack. + +After unpacking it, there should be one directory; `speedwm-`. Let's +`cd speedwm-` into it. Now it's time to compile speedwm! + +Provided you have all dependencies installed, this should be very, very easy +and quick. Run `make clean install` as root to install speedwm. The binary +will be in `/usr/bin/speedwm`. If you need to use a different compiler (tcc in +Arch repostories has a few issues), you can run `make CC=cc clean install` to +use the system default compiler. Alternatively use `gcc` instead of `cc` or +whatever you want. + +After installation, it is *highly* recommended that you move your source code +directory to a safe place. speedwm is a source based window manager and +**most** (but not all) changes you make to it are going to be done by +recompiling the window manager. This is, of course done with the same `make +clean install` command you used earlier. + +I recommend you do this by putting the source code on a +Git or subversion repository somewhere. That way, you can always clone your specific +version. + +Warning: If you lose your source code, you will be +**unable** to make any further changes to speedwm. + +Now follow along with 'Using speedwm'. diff --git a/pages/Home.txt b/pages/Home.txt index 4e6f258..849dc67 100644 --- a/pages/Home.txt +++ b/pages/Home.txt @@ -1,5 +1,5 @@ Welcome to the speedwm wiki! -------------- +---------------------------- ![image](https://codeberg.org/speedie/speedwm/raw/branch/master/docs/preview.png) diff --git a/pages/Wayland support.txt b/pages/Wayland support.txt new file mode 100644 index 0000000..98878ed --- /dev/null +++ b/pages/Wayland support.txt @@ -0,0 +1,2 @@ +Wayland, and why it sucks. +--------------------------