aboutsummaryrefslogtreecommitdiffstats
path: root/README.org
blob: a53d9f571937fb611a7fb2ce7cfd171cbb2399b2 (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
* Joe's dwm (the dynamic window manager) build
The original [[https://dwm.suckless.org/][dwm]] desktop manager build I used to run.
Based on version 6.2.

As I am not using dwm anymore, developpement on my build might be stuck on this version.

** Dependencies
**** Required:
	 - ~gcc~
	 - ~make~
	 - ~xorg~
	 - ~libX11~
	 - ~libXft~

**** Optional:
	 - ~st~ find my custom improved build [[https://github.com/JozanLeClerc/st][here]]
	 - ~slock~
	 - ~dmenu~

** Installation
To install this open a terminal and run these commands:
#+BEGIN_SRC shell
git clone https://github.com/JozanLeClerc/dwm-laptop.git
cd dwm-laptop
sudo make clean install
#+END_SRC
To use it as a default WM, if you are using xinit, add this to your ~.xinitrc~:
#+BEGIN_SRC shell
exec dwm
#+END_SRC
I am not shure about how to set it up on regular desktop managers like ~gdm~ or ~lightdm~.

** Bindings
*Window* or *tile* is being called *stack* in this segment as it an apropriate name.

Some of the main key bindings:
- *switch* to workspace 1-10 with ~super+{F1-F10}~
- *show all workspaces* at once with ~super+F12~
- *move* selected stack to workspace 1-10 with ~super+shift+{F1-F10}~
- *fire up* ~st~ terminal with ~super+return~. See how to set it to another terminal emulator in [[#optional-config][optional config]] 
- *kill* selected stack with ~super+q~
- *cycle through* stacks down/up with ~super+j/k~
- *move* selected stack down/up with ~super+shift+j/k~
- *resize* master stack to left/right with ~super+h/l~
- *invoke* ~dmenu_run~ application launcher with ~super+p~. Get it [[https://tools.suckless.org/dmenu/][here]]
- *invoke* ~slock~ screen locker with ~super+shift+l~. Get it [[https://tools.suckless.org/slock/][here]]
- *invoke* ~QuteBrowser~ if installed with ~super+3~. See how to set it up to your favorite web browser in [[#optional-config][optional config]]
- toggle *normal tiled mode* with ~super+s~
- toggle *alternative tiled mode* with ~super+shift+s~
- toggle *maximized mode* (monocle) on selected stack with ~super+f~
- toggle *floating mode* on selected stack with ~super+space~
- toggle *top bar* with ~super+escape~. Hidden by default
- *exit* dwm with ~super+shift+e~

** Optional config
You might want to change my ~st~ invocation to your terminal emulator of choice.  
To do exactly this change:  
#+BEGIN_SRC c
static const char *termcmd[] = { "st", NULL };
#+END_SRC
to:  
#+BEGIN_SRC c
static const char *termcmd[] = { "your-beloved-terminal-emulator", NULL };
#+END_SRC
in ~config.h~ on *line 80*.

To change web browser:
#+BEGIN_SRC c
static const char *qbcmd[]  = { "qutebrowser", NULL };
#+END_SRC
to:  
#+BEGIN_SRC c
static const char *qbcmd[]  = { "your-favorite-web-browser", NULL };
#+END_SRC
in ~config.h~ on *line 81*.

** Patches
List of patches in use:
- ~singularborders~
- ~alwaysfullscreen~
- ~autostart~
- ~bottmstack~
- ~fakefullscreen~
- ~fibonacci~
- ~focusurgent~
- ~movestack~
- ~noborder~
- ~pertag~
- ~systray~

** More
Thanks for checking my custom ~dwm~ build.

My own autostart script can be found under my [[https://github.com/JozanLeClerc/dotfiles][dotfiles]] repository. It should be placed in =~/.dwm= directory.