Desktop
The laptop runs Hyprland, a tiling Wayland compositor, with waybar along the bottom and qutebrowser as the browser. This page assumes:
- SUPER is the Windows key.
- The layout is Colemak-DH, so a letter key is named by the letter it types, not by its position on a QWERTY board.
- Every Hyprland key below is set in my config. Every qutebrowser key is qutebrowser’s default.
Contents
- Start the desktop
- Open a terminal or the browser
- Move between windows and workspaces
- Move, resize, and close windows
- Lock the screen
- Take a screenshot
- Use the clipboard
- Change the volume or brightness
- Type special characters
- Browse with qutebrowser
- Change the desktop config
Start the desktop
Log in on tty1, and Hyprland starts on its own. The other TTYs log in to a shell under tmux, so a broken config still leaves you a console to fix it from. Switch to one with CTRL+ALT+F2.
Don’t start Hyprland from inside tmux. Every terminal it opens inherits $TMUX and skips
tmux, and tmux kill-server would take the desktop down with it.
Open a terminal or the browser
| Do this | Press |
|---|---|
| Open a terminal | SUPER+Return |
| Open qutebrowser | SUPER+B |
Move between windows and workspaces
Workspaces 1 to 5 always show in waybar, even when empty.
| Do this | Press |
|---|---|
| Focus the window in a direction | SUPER+arrow |
| Go to a workspace | SUPER+1 to SUPER+5 |
| Go to the next workspace in use | SUPER+scroll wheel down |
| Go to the previous workspace in use | SUPER+scroll wheel up |
Move, resize, and close windows
| Do this | Press |
|---|---|
| Close the window | SUPER+Q |
| Toggle fullscreen | SUPER+F |
| Move the window in a direction | SUPER+SHIFT+arrow |
| Resize the window, 40 pixels per press (hold to repeat) | SUPER+ALT+arrow |
| Send the window to a workspace | SUPER+SHIFT+1 to SUPER+SHIFT+5 |
| Drag the window | SUPER+left mouse button |
| Resize the window with the mouse | SUPER+right mouse button |
Lock the screen
| Do this | Press |
|---|---|
| Lock the screen | SUPER+L |
hyprlock asks for your password to unlock.
Take a screenshot
| Do this | Press |
|---|---|
| Screenshot a selected area to the clipboard |
Drag a box over the area you want. The image goes to the clipboard, not to a file, so paste it where you need it.
Use the clipboard
| Do this | Press |
|---|---|
| Copy the clipboard onto itself | SUPER+V |
Change the volume or brightness
| Do this | Press |
|---|---|
| Volume up 5%, unmuting | Volume Up key |
| Volume down 5%, unmuting | Volume Down key |
| Toggle mute | Mute key |
| Brightness up 5% | Brightness Up key |
| Brightness down 5% | Brightness Down key |
Type special characters
CapsLock is the Compose key. Press it, then type the characters that make up the one you want.
For example, CapsLock then ' then e types é. The system’s usual sequences all work, and I’ve
added one: CapsLock, Space, n types my name.
Both Shift keys together toggle Caps Lock.
Browse with qutebrowser
qutebrowser renders with Chromium’s engine, so pages look as they do in Chrome. It’s driven from the keyboard.
| Do this | Press |
|---|---|
| Open a URL, bookmark, or history entry in this tab | o |
| Open one in a new tab | O |
| Pick a tab | T |
| Close the tab | d |
| Go back or forward | H or L |
| Reload | R |
| Bookmark the page | M |
Bookmarks and quickmarks are plain text files under ~/.config/qutebrowser/, and chezmoi
manages them. qutebrowser writes to the live file, so after bookmarking, run
chezmoi re-add ~/.config/qutebrowser/bookmarks/urls and commit the dotfiles repo. Otherwise
the next chezmoi apply asks whether to overwrite your new bookmark.
To test a local web app, run qutebrowser http://localhost:<port>.
Change the desktop config
The config is Lua. Edit it with chezmoi edit ~/.config/hypr/hyprland.lua, then run
chezmoi apply, and Hyprland reloads it as soon as the file changes. Colors come from
.chezmoidata/gruvbox.yaml in the dotfiles repo, so change them there rather than in the config.
If something stops working after an edit, hyprctl configerrors lists what failed to parse.
hyprctl descriptions lists every option the installed version accepts. Trust it over the
Hyprland wiki, which describes the development branch.