about summary refs log tree commit diff stats
path: root/README
blob: b4fde501384219f90bccb506287dbf4dfb7b8d68 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
dwm - dynamic window manager
============================
dwm is an extremely fast, small, and dynamic window manager for X.


Requirements
------------
In order to build dwm you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (dwm is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install dwm (if
necessary as root):

    make clean install


Running dwm
-----------
Add the following line to your .xinitrc to start dwm using startx:

    exec dwm

In order to connect dwm to a specific display, make sure that
the DISPLAY environment variable is set correctly, e.g.:

    DISPLAY=foo.bar:1 exec dwm

(This will start dwm on display :1 of the host foo.bar.)

In order to display status info in the bar, you can do something
like this in your .xinitrc:

    while true
    do
        echo `date` `uptime | sed 's/.*,//'`
        sleep 1
    done | dwm


Configuration
-------------
The configuration of dwm is done by creating a custom config.h
and (re)compiling the source code.
name string nick string uri string wantErr bool }{ { name: "Known Good User", nick: "soltempore", uri: "https://enotty.dk/soltempore.txt", wantErr: false, }, { name: "Missing URI", nick: "missinguri", uri: "", wantErr: true, }, { name: "Missing Nickname", nick: "", uri: "https://example.com/twtxt.txt", wantErr: true, }, { name: "Missing URI and Nickname", nick: "", uri: "", wantErr: true, }, } func Test_apiPostUser(t *testing.T) { initTestConf() for _, tt := range apiPostUserCases { t.Run(tt.name, func(t *testing.T) { params := url.Values{} params.Set("url", tt.uri) params.Set("nickname", tt.nick) req, err := http.NewRequest("POST", "http://localhost"+testport+"/api/plain/users", strings.NewReader(params.Encode())) if err != nil { t.Errorf("%v\n", err) } req.Header.Add("Content-Type", "application/x-www-form-urlencoded") rr := httptest.NewRecorder() handler := http.HandlerFunc(apiEndpointPOSTHandler) handler.ServeHTTP(rr, req) if !tt.wantErr { if rr.Code != http.StatusOK { t.Errorf("Received unexpected non-200 response: %v\n", rr.Code) } } else { if rr.Code != http.StatusBadRequest { t.Errorf("Expected 400 Bad Request, but received: %v\n", rr.Code) } } }) } }