Dwm: Difference between revisions
Guest09248 (talk | contribs) No edit summary |
m (Added missing package in dwm dependencies) |
||
(20 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{DISPLAYTITLE:dwm}}[https://dwm.suckless.org/ dwm] is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. | ||
[https://dwm.suckless.org/ dwm] is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. | |||
This guide covers: | This guide covers: | ||
* Installing dependencies for the [https://suckless.org suckless] tools and installing firefox | * Installing dependencies for the [https://suckless.org suckless] tools and installing firefox | ||
* Installing from source dwm (dynamic window manager), dmenu (dynamic menu), st (simple terminal) | * Installing from source or from repository dwm (dynamic window manager), dmenu (dynamic menu), st (simple terminal) | ||
* Configuring the new profile to run dwm at login. | * Configuring the new profile to run dwm at login. | ||
= Prerequisites = | |||
* [[Installation|Install]] AlpineLinux | |||
* [[Setting_up_a_new_user#Creating_a_new_user|Create a user account]] (optional but recommended) | |||
* [[Repositories#Enabling_the_community_repository|Enable the Community repository]] | |||
* [[Alpine_setup_scripts#setup-xorg-base|Install Xorg]] | |||
== Installing from binary repository == | |||
{{Cmd|# apk add dwm dmenu st}} | |||
This will install {{Pkg|dwm}}, {{Pkg|dmenu}} and {{Pkg|st}} | |||
== Installing from source == | |||
== Installing dependencies == | === Installing dependencies === | ||
{{Note| | {{Note|'''git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses''' are needed to install suckless tools from source. | ||
'''git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses''' | |||
'''dbus-x11''' is needed for the dbus system (enables firefox running in dwm to open in a tile) | '''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 | The last three '''adwaita-gtk2-theme adwaita-icon-theme font-dejavu''' are optional, but recommended for a nicer looking firefox.}} | ||
The command to install the dependencies: | The command to install the dependencies: | ||
{{cmd|# apk add git make gcc g++ libx11-dev libxft-dev libxinerama-dev ncurses dbus-x11 firefox-esr adwaita-gtk2-theme adwaita-icon-theme | {{cmd|# apk add {{pkg|git}} {{pkg|make}} {{pkg|gcc}} {{pkg|g++}} {{pkg|libx11-dev}} {{pkg|libxft-dev}} {{pkg|libxinerama-dev}} {{pkg|ncurses}} {{pkg|dbus-x11}} {{pkg|firefox-esr}} {{pkg|adwaita-gtk2-theme}} {{pkg|adwaita-icon-theme}} {{pkg|font-dejavu}} {{pkg|libxft-dev}}}} | ||
== 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 {{Path|/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|# 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|# git clone https://git.suckless.org/dmenu | {{cmd|# cd ..}} | ||
to install dmenu: | |||
{{cmd|# git clone https://git.suckless.org/dmenu | |||
Finally, go up one more directory level {{cmd|# cd ..}} to install st: | # cd dmenu | ||
{{cmd|# git clone https://git.suckless.org/st | # make clean install}} | ||
Finally, go up one more directory level | |||
{{cmd|# cd ..}} | |||
to install st: | |||
{{cmd|# git clone https://git.suckless.org/st | |||
# cd st | |||
# make clean install}} | |||
== Setting up your profile == | == Setting up your profile == | ||
Change to your home directory: | Change to your home directory: | ||
{{cmd|$ cd | {{cmd|$ cd ~}} | ||
Create | Create or edit {{Path|.xinitrc}} with at least the following: | ||
{{ | |||
{{cat|~/.xinitrc|exec dwm}} | {{cat|~/.xinitrc|exec dwm}} | ||
Save the file and exit vi. | Save the file and exit vi. | ||
Next, create | Next, create or edit {{Path|.profile}} with at least the following: | ||
{{ | |||
{{cat|~/.profile|startx}} | {{cat|~/.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. | {{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. | ||
{{cat|~/.profile|if | {{cat|~/.profile|if [ -z $DISPLAY ] && [ $(tty) {{=}} /dev/tty1 ]; then | ||
startx | startx | ||
fi | fi | ||
Line 68: | Line 70: | ||
Log out or reboot. dwm will run the next time you log in. | Log out or reboot. dwm will run the next time you log in. | ||
Press | Press {{Key|Alt}}+{{Key|p}} to launch dmenu. Type firefox then press {{key|enter}}. Firefox will load and run in tile 9. | ||
= See Also = | = See Also = | ||
Line 75: | Line 77: | ||
* [[AwesomeWM]] | * [[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. | ||
== See also == | |||
* [https://wiki.archlinux.org/title/Dwm Dwm - Archwiki] | |||
[[Category:Desktop]] | [[Category:Desktop]] | ||
[[Category:Window Managers]] |
Latest revision as of 17:12, 25 April 2024
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 or from repository dwm (dynamic window manager), dmenu (dynamic menu), st (simple terminal)
- Configuring the new profile to run dwm at login.
Prerequisites
- Install AlpineLinux
- Create a user account (optional but recommended)
- Enable the Community repository
- Install Xorg
Installing from binary repository
# apk add dwm dmenu st
This will install dwm, dmenu and st
Installing from source
Installing dependencies
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 font-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 font-dejavu libxft-dev
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 ~
Create or edit .xinitrc with at least the following:
Contents of ~/.xinitrc
Save the file and exit vi.
Next, create or edit .profile with at least the following:
Contents of ~/.profile
Contents of ~/.profile
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
- https://pkgs.alpinelinux.org/contents?file=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"
- 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.