Dwm: Difference between revisions

From Alpine Linux
No edit summary
No edit summary
Line 9: Line 9:
* Configuring the new profile to run dwm at login.
* Configuring the new profile to run dwm at login.


<br>


== Configure the community repositories ==
= Prerequisites =
This is needed so you can install Firefox. See: [https://wiki.alpinelinux.org/wiki/Post_installation#Repositories Post installation] for information on how to enable the community repository.
* [[Installation|Install]] Alpine Linux
* [https://wiki.alpinelinux.org/wiki/Post_installation#Creating_a_new_user_account Create a user account] (optional but recommended)
* Enable the [[Enable_Community_Repository|Community Repository]]


<br>


== Installing dependencies ==
== Installing dependencies ==
Line 23: Line 27:


The command to install the dependencies:
The command to install the dependencies:
{{cmd|# doas apk add git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses dbus-x11 firefox-esr adwaita-gtk2-theme adwaita-icon-theme ttf-dejavu}}
{{cmd|# apk add git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses dbus-x11 firefox-esr adwaita-gtk2-theme adwaita-icon-theme ttf-dejavu}}


== Installing suckless tools dwm, dmenu, and st from source ==
== Installing suckless tools dwm, dmenu, and st from source ==
Change to the /tmp directory. {{cmd| # cd /tmp}} then execute:
Change to the /tmp directory. {{cmd|$ cd /tmp}} then execute:
{{cmd|# git clone https://git.suckless.org/dwm}}
{{cmd|# git clone https://git.suckless.org/dwm}}
Once downloaded, go to the dwm directory {{cmd|# cd dwm}}
Once downloaded, go to the dwm directory {{cmd|# cd dwm}}
To install, run:
To install, run:
{{cmd|# doas make clean install}}
{{cmd|# make clean install}}
Next, go up one directory level {{cmd|# cd ..}} to install dmenu:
Next, go up one directory level {{cmd|# cd ..}} to install dmenu:
{{cmd|# git clone https://git.suckless.org/dmenu}}
{{cmd|# git clone https://git.suckless.org/dmenu}}
{{cmd|# cd dmenu}}
{{cmd|# cd dmenu}}
{{cmd|# doas make clean install}}
{{cmd|# make clean install}}
Finally, go up one more directory level {{cmd|# cd ..}} to install st:
Finally, go up one more directory level {{cmd|# cd ..}} to install st:
{{cmd|# git clone https://git.suckless.org/st}}
{{cmd|# git clone https://git.suckless.org/st}}
{{cmd|# cd st}}
{{cmd|# cd st}}
{{cmd|# doas make clean install}}
{{cmd|# make clean install}}


== Setting up your profile ==
== Setting up your profile ==
Change to your home directory:
Change to your home directory:
{{cmd|# cd /home/myname}} Where '''myname''' is your username.
{{cmd|$ cd /home/<yourusername>}}
Create .xinitrc:
Create .xinitrc:
{{cmd|# vi .xinitrc}}
{{cmd|$ vi .xinitrc}}
Add this line:
Add this line:
{{cat|~/.xinitrc|
{{cat|~/.xinitrc|
Line 51: Line 55:


Next, create .profile.:
Next, create .profile.:
{{cmd|# vi .profile}}
{{cmd|$ vi .profile}}
Add this line:
Add this line:
{{cat|~/.profile|
{{cat|~/.profile|
Line 67: Line 71:
Press alt+p to launch dmenu. Type firefox then press enter. Firefox will load and run in tile 9.
Press alt+p to launch dmenu. Type firefox then press enter. Firefox will load and run in tile 9.


= =
= See Also =
* https://pkgs.alpinelinux.org/contents?file=dwm
* https://pkgs.alpinelinux.org/contents?file=dwm
* [https://wiki.gentoo.org/wiki/Dwm "dwm is only a single binary, and its source code is intended to never exceed 2000 SLOC. dwm is customized through editing its source code"]
* [https://wiki.gentoo.org/wiki/Dwm "dwm is only a single binary, and its source code is intended to never exceed 2000 SLOC. dwm is customized through editing its source code"]
* [[Awesome]]
* [[Awesome Window Manager|AwesomeWM]]
* [[Raspberry Pi 3 - Browser Client]] - A guide which omits dwm, but uses similar steps to install firefox in a diskless install on ARM. dwm is not used on the RPI3, due to tmpfs limitations.
* [[Raspberry Pi 3 - Browser Client]] - A guide which omits dwm, but uses similar steps to install firefox in a diskless install on ARM. dwm is not used on the RPI3, due to tmpfs limitations.


[[category:Desktop]]
[[Category:Desktop]]

Revision as of 20:49, 29 December 2021

dwm is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts.

This guide covers:

  • Installing dependencies for the suckless tools and installing firefox
  • Installing from source dwm (dynamic window manager), dmenu (dynamic menu), st (simple terminal)
  • Configuring the new profile to run dwm at login.


Prerequisites


Installing dependencies

Note:

git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses is needed to install suckless tools from source.

dbus-x11 is needed for the dbus system (enables firefox running in dwm to open in a tile)

The last three adwaita-gtk2-theme adwaita-icon-theme ttf-dejavu are optional, but recommended for a nicer looking firefox.

The command to install the dependencies:

# apk add git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses dbus-x11 firefox-esr adwaita-gtk2-theme adwaita-icon-theme ttf-dejavu

Installing suckless tools dwm, dmenu, and st from source

Change to the /tmp directory.

$ cd /tmp

then execute:

# git clone https://git.suckless.org/dwm

Once downloaded, go to the dwm directory

# cd dwm

To install, run:

# make clean install

Next, go up one directory level

# cd ..

to install dmenu:

# git clone https://git.suckless.org/dmenu

# cd dmenu

# make clean install

Finally, go up one more directory level

# cd ..

to install st:

# git clone https://git.suckless.org/st

# cd st

# make clean install

Setting up your profile

Change to your home directory:

$ cd /home/<yourusername>

Create .xinitrc:

$ vi .xinitrc

Add this line:

Contents of ~/.xinitrc

exec dwm

Save the file and exit vi.

Next, create .profile.:

$ vi .profile

Add this line:

Contents of ~/.profile

startx
Note: If you install additional programs that call your `$SHELL` with the POSIX `-l` login flag, you'll need to make launching `startx` conditional, otherwise X will attempt to launch every time your shell is called with the login flag.

Contents of ~/.profile

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then startx fi

Log out or reboot. dwm will run the next time you log in. Press alt+p to launch dmenu. Type firefox then press enter. Firefox will load and run in tile 9.

See Also