dwm

suckless dynamic window manager
git clone https://git.beauhilton.com/dwm.git
Log | Files | Refs | README | LICENSE

help.mom (12289B)


      1 .de LI
      2 .LIST
      3 .SHIFT_LIST 10p
      4 ..
      5 .PARA_SPACE 1m
      6 .TITLE "\s+(10System Guide\s0"
      7 .AUTHOR "\s+5cbh\s0"
      8 .DOCTYPE    DEFAULT
      9 .COPYSTYLE  FINAL
     10 .PRINTSTYLE TYPESET
     11 .PT_SIZE 12
     12 .START
     13 Pressing \f(CWs\fP will fit it to window width (\f(CWa\fP to revert).
     14 \f(CWK\fP and \f(CWJ\fP zoom in and out.
     15 \f(CWSuper+f\fP to toggle fullscreen.
     16 \f(CWq\fP to quit.
     17 (These are general binds set for \fBzathura\fP, the pdf reader.)
     18 .LI
     19 .ITEM
     20 \f(CWMod+F1\fP will show this document at any time.
     21 .ITEM
     22 By \f(CWMod\fP, I mean the Super Key, usually known as "the Windows Key."
     23 .LIST OFF
     24 .PP
     25 FAQs are at the end of this document.
     26 .HEADING 1 "Welcome!"
     27 .HEADING 2 "Basic goals and principles"
     28 .LI
     29 .ITEM
     30 \fBNaturalness\fP \(en
     31 Remove the border between mind and matter:
     32 everything important should be as few keypresses as possible away from you,
     33 and you shouldn't have to think about what you're doing.
     34 Immersion.
     35 .ITEM
     36 \fBEconomy\fP \(en
     37 Programs should be simple and light on system resources and highly extensible.
     38 Because of this, many are terminal or small ncurses programs that have all the magic inside of them.
     39 .ITEM
     40 \fBKeyboard/vim-centrality\fP \(en
     41 All terminal programs (and other programs) use vim keys when possible.
     42 Your hands never need leave the home row or thereabout.
     43 .ITEM
     44 \fBDecentralization\fP \(en
     45 This system is a web of small, modifiable, and replaceable programs that users can easily customize.
     46 .LIST OFF
     47 .HEADING 2 "General keyboard changes"
     48 .LI
     49 .ITEM
     50 Capslock is a useless key in high quality space.
     51 It's now remapped.
     52 If you press it alone, it will function as escape, making vimcraft much more natural,
     53 but you can also hold it down and it will act as another Windows/super/mod key.
     54 .ITEM
     55 The menu button (usually between the right Alt and Ctrl) is an alternative Super/Mod button.
     56 .LIST OFF
     57 .PP
     58 If you'd like to change any of these keyboard changes, you need only open and change the \f(CWremaps\fP script.
     59 Actually, this should go without saying, but \fIeverything\fP here can easily be changed.
     60 Below in this document, there is information about where to change programs/components.
     61 .HEADING 2 "The Status Bar"
     62 .PP
     63 To the left, you'll see the numbers of your current workspace/tag(s).
     64 On the right, you'll see various system status notifiers.
     65 .HEADING 1 "Key Bindings"
     66 .PP
     67 The window manager dwm abstractly orders all of your windows into a stack from most important to least based on when you last manipulated it.
     68 dwm is an easy to use window manager, but you should understand that it makes use of that stack layout.
     69 If you're not familiar, I recommend you press \f(CWMod+Shift+E\fP and select the "dwm" option to watch my brief tutorial (note that the bindings I discuss in the video are the default dwm binds, which are different (inferior) to those here).
     70 .PP
     71 Notice also the case sensitivity of the shortcuts\c
     72 .FOOTNOTE
     73 To type capital letters, hold down the \f(CWShift\fP key\(emthat might sound like an obvious and condescending thing to tell you, but there have literally been multiple people (Boomers) who have emailed me asking how to type a capital letter since caps lock isn't enabled.
     74 .FOOTNOTE OFF
     75  , Be sure you play around with these. Be flexible with the basic commands and the system will grow on you quick.
     76 .LI
     77 .ITEM
     78 \f(CWMod+Enter\fP \(en Spawn terminal (the default terminal is \f(CWst\fP; run \f(CWman st\fP for more.)
     79 .ITEM
     80 \f(CWMod+q\fP \(en Close window
     81 .ITEM
     82 \f(CWMod+d\fP \(en dmenu (For running commands or programs without shortcuts)
     83 .ITEM
     84 \f(CWMod+j/k\fP \(en Cycle thru windows by their stack order
     85 .ITEM
     86 \f(CWMod+Space\fP \(en Make selected window the master (or switch master with 2nd)
     87 .ITEM
     88 \f(CWMod+h/l\fP \(en Change width of master window
     89 .ITEM
     90 \f(CWMod+z/Z\fP \(en Increase/decrease gaps
     91 .ITEM
     92 \f(CWMod+D\fP \(en Toggle gaps
     93 .ITEM
     94 \f(CWMod+Shift+Space\fP \(en Make a window float (move and resize with \f(CWMod+\fPleft/right click).
     95 .ITEM
     96 \f(CWMod+b\fP \(en Toggle status bar
     97 .LIST OFF
     98 .HEADING 2 "Window layouts"
     99 .LI
    100 .ITEM
    101 \f(CWMod+t\fP \(en Tiling mode (active by default)
    102 .ITEM
    103 \f(CWMod+T\fP \(en Bottom stack mode (just like tiling, but master is on top)
    104 .ITEM
    105 \f(CWMod+f\fP \(en Fullscreen mode
    106 .ITEM
    107 \f(CWMod+F\fP \(en Floating (AKA normie) mode
    108 .ITEM
    109 \f(CWMod+y\fP \(en Fibbonacci spiral mode
    110 .ITEM
    111 \f(CWMod+Y\fP \(en Dwindle mode (similar to Fibonacci)
    112 .ITEM
    113 \f(CWMod+u\fP \(en Master on left, other windows in monocle mode
    114 .ITEM
    115 \f(CWMod+U\fP \(en Monocle mode (all windows fullscreen and cycle through)
    116 .ITEM
    117 \f(CWMod+i\fP \(en Center the master window
    118 .ITEM
    119 \f(CWMod+I\fP \(en Center and float the master window
    120 .ITEM
    121 \f(CWMod+o/O\fP \(en Increase/decrease the number of master windows
    122 .LIST OFF
    123 .HEADING 2 "Basic Programs"
    124 .LI
    125 .ITEM
    126 \f(CWMod+r\fP \(en lf (file browser/manager)
    127 .ITEM
    128 \f(CWMod+e\fP \(en neomutt (email) \(en Must be first configured by running \f(CWmw add\fP.
    129 .ITEM
    130 \f(CWMod+m\fP \(en ncmpcpp (music player)
    131 .ITEM
    132 \f(CWMod+w\fP \(en Web browser (Chrome)
    133 .ITEM
    134 \f(CWMod+n\fP \(en newsboat (RSS feed reader)
    135 .ITEM
    136 \f(CWMod+a\fP \(en pulsemixer (audio system control)
    137 .ITEM
    138 \f(CWMod+v\fP \(en vimwiki (for notes)
    139 .ITEM
    140 \f(CWMod+Shift+Enter\fP \(en Show/hide dropdown terminal
    141 .LIST OFF
    142 .HEADING 2 "System"
    143 .LI
    144 .ITEM
    145 \f(CWMod+BackSpace\fP \(enChoose to lock screen, logout, shutdown, reboot, etc.
    146 .ITEM
    147 \f(CWMod+V\fP \(en Toggle xcompmgr (to remove transparency and window effects)
    148 .ITEM
    149 \f(CWMod+F1\fP \(en Show this document
    150 .ITEM
    151 \f(CWMod+F3\fP \(en Select screen/display to use
    152 .ITEM
    153 \f(CWMod+F5\fP \(en Update dwm's colorscheme if you have changed Xresources
    154 .ITEM
    155 \f(CWMod+F6\fP \(en Transmission torrent client (not installed by default)
    156 .ITEM
    157 \f(CWMod+F7\fP \(en Toggle on/off transmission client via dmenu
    158 .ITEM
    159 \f(CWMod+F8\fP \(en Check mail, if mutt-wizard is configured. (Run \f(CWmw add\fP to set up.)
    160 .ITEM
    161 \f(CWMod+F9\fP \(en Mount a USB drive/hard drive or Android
    162 .ITEM
    163 \f(CWMod+F10\fP \(en Unmount a non-essential drive or Android
    164 .ITEM
    165 \f(CWMod+`\fP \(en Select an emoji to copy to clipboard
    166 .ITEM
    167 \f(CWMod+Insert\fP \(en Show contents of clipboard/primary selection
    168 .LIST OFF
    169 .HEADING 2 "Audio"
    170 .PP
    171 I use ncmpcpp as a music player, which is a front end for mpd.
    172 .LI
    173 .ITEM
    174 \f(CWMod+m\fP \(en ncmpcpp, the music player
    175 .ITEM
    176 \f(CWMod+.\fP \(en Next track
    177 .ITEM
    178 \f(CWMod+,\fP \(en Previous track
    179 .ITEM
    180 \f(CWMod+<\fP \(en Restart track
    181 .ITEM
    182 \f(CWMod+>\fP \(en Toggle playlist looping
    183 .ITEM
    184 \f(CWMod+p\fP \(en Pause
    185 .ITEM
    186 \f(CWMod+M\fP \(en Mute all audio
    187 .ITEM
    188 \f(CWMod+-\fP \(en Decrease volume (holding shift increases amount)
    189 .ITEM
    190 \f(CWMod++\fP \(en Increase volume (holding shift increases amount)
    191 .ITEM
    192 \f(CWMod+[\fP \(en Back 10 seconds (holding shift increases amount)
    193 .ITEM
    194 \f(CWMod+]\fP \(en Forward 10 seconds (holding shift increases amount)
    195 .ITEM
    196 \f(CWMod+a\fP \(en pulsemixer (general volume sink/source control)
    197 .LIST OFF
    198 .HEADING 2 "Tags/Workspaces"
    199 .PP
    200 There are nine tags, active tags are highlighted in the top left.
    201 .LI
    202 .ITEM
    203 \f(CWMod+(Number)\fP \(en Go to that number tag
    204 .ITEM
    205 \f(CWMod+Shift+(Number)\fP \(en Send window to that tag
    206 .ITEM
    207 \f(CWMod+Tab\fP \(en Go to previous tag (may also use \f(CW\\\fP for Tab)
    208 .ITEM
    209 \f(CWMod+g\fP \(en Go to left tag
    210 .ITEM
    211 \f(CWMod+;\fP \(en Go to right tag
    212 .ITEM
    213 \f(CWMod+Left\fP \(en Move to workspace to the left
    214 .ITEM
    215 \f(CWMod+Right\fP \(en Move to workspace to the right
    216 .LIST OFF
    217 .HEADING 2 "Recording"
    218 .PP
    219 I use maim and ffmpeg to make different recordings of the desktop and audio.
    220 All of these recording shortcuts will output into \f(CW~\fP, and will not overwrite
    221 previous recordings as their names are based on their exact times.
    222 .LI
    223 .ITEM
    224 \f(CWPrintScreen\fP \(en Take a screenshot
    225 .ITEM
    226 \f(CWShift+PrintScreen\fP \(en Select area to screenshot
    227 .ITEM
    228 \f(CWMod+PrintScreen\fP \(en Opens dmenu menu to select kind of audio/video recording
    229 .ITEM
    230 \f(CWMod+Delete\fP \(en Kills any recording started in the above way.
    231 .ITEM
    232 \f(CWMod+Shift+c\fP \(en Toggles a webcam in the bottom right for screencasting.
    233 .ITEM
    234 \f(CWMod+ScrollLock\fP \(en Toggle screenkey (if installed) to show keypresses
    235 .LIST OFF
    236 .HEADING 2 "Other buttons"
    237 .PP
    238 I've mapped those extra buttons that some keyboards have (play and pause
    239 buttons, screen brightness, email, web browsing buttons, etc.) to what you
    240 would expect.
    241 .HEADING 1 "Configuration"
    242 .PP
    243 Dotfiles/settings files are located in \f(CW~/.config/\fP, note that dotfiles to programs not included in LARBS are there as well by requests of users. I do not necessarily maintain all these dotfiles, but they remain as legacy.
    244 .PP
    245 Suckless programs, dwm (the window manager), st (the terminal) and dmenu among others do not have traditional config files, but have their source code location in \f(CW~/.local/src/\fP.
    246 There you can modify their \f(CWconfig.h\fP files, then \f(CWsudo make install\fP to reinstall.
    247 (You'll have to restart the program to see its effects obviously.)
    248 .HEADING 1 "Frequently Asked Questions (FAQs)"
    249 .HEADING 2 "My keyboard isn't working as expected!"
    250 .PP
    251 As mentioned above, LARBS makes some keyboard changes with the \f(CWremaps\fP script.
    252 These settings may override your preferred settings, so you should open this file and comment out troublesome lines if you have issues.
    253 .HEADING 2 "My audio isn't working!"
    254 .PP
    255 On fresh install, the Linux audio system often mutes outputs.
    256 You may also need to set your preferred default output sink which you can do by the command line, or by selecting one with \f(CWpulsemixer\fP (\f(CWmod+a\fP).
    257 .HEADING 2 "How do I copy and paste?"
    258 .PP
    259 Copying and pasting is always program-specific on any system.
    260 In most graphical programs, copy and paste will be the same as they are on Windows: \f(CWctrl-c\fP and \f(CWctrl-v\fP.
    261 In the Linux terminal, those binds have other more important purposes, so you can run \f(CWman st\fP to see how to copy and paste in my terminal build.
    262 .PP
    263 Additionally, I've set vim to use the clipboard as the default buffer, which means when you yank or delete something in vim, it will be in your system clipboard as well, so you can \f(CWctrl-v\fP it into your browser instance, etc. You can also paste material copied from other programs into vim with the typical vim bindings.
    264 .HEADING 2 "How do I change the background/wallpaper?"
    265 .PP
    266 The system will always read the file \f(CW~/.config/wall.png\fP as the wallpaper.
    267 The script \f(CWsetbg\fP, if run on an image will set it as the persistent background.
    268 When using the file manager, you can simply hover over an image name and type \f(CWbg\fP and this will run \f(CWsetbg\fP.
    269 .HEADING 2 "How I change the colorscheme?"
    270 .PP
    271 LARBS no longer deploys Xresource by default, but check \f(CW~/.config/Xresources\fP for a list of color schemes you can activate or add your own. When you save the file, vim will automatically update the colorscheme. If you'd like these colors activated by default on login, there is a line in \f(CW~/.config/xprofile\fP you can uncomment to allow that.
    272 .PP
    273 Or, if you want to use \f(CWwal\fP to automatically generate colorschemes from your wallpapers, just install it and \f(CWsetbg\fP will automatically detect and run it on startup and wallpaper change.
    274 .HEADING 2 "How do I set up my email?"
    275 .PP
    276 LARBS comes with mutt-wizard, which gives the ability to receive and send all your email and keep an offline store of it all in your terminal, without the need for browser.
    277 You can add email accounts by running \f(CWmw add\fP.
    278 .PP
    279 Once you have successfully added your email address(es), you can open your mail with \f(CWneomutt\fP which is also bound to \f(CWMod+e\fP.
    280 You can sync your mail by pressing \f(CWMod+F8\fP and you can set a cronjob to sync mail every several minutes by running \f(CWmw cron\fP.
    281 .PP
    282 You may also want to install \f(CWpam-gnupg-git\fP, which can be set up to automatically unlock your GPG key on login, which will allow you avoid having put in a password to sync and send, all while keeping your password safe and encypted on your machine.
    283 .HEADING 2 "How do I set up my music?"
    284 .PP
    285 By default, mpd, the music daemon assumes that \f(CW~/Music\fP is your music directory.
    286 This can be changed in \f(CW~/.config/mpd/mpd.conf\fP.
    287 When you add music to your music folder, you may have to run \f(CWmpc up\fP in the terminal to update the database.
    288 mpd is controlled by ncmpcpp, which is accessible by \f(CWMod+m\fP.