content: Fix TOC on a few pages via markdown headings (#1219)

This commit is contained in:
Ryan Bruntz 2025-09-09 02:19:19 -07:00 committed by GitHub
parent 54c24ea540
commit 5294b755f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 40 additions and 42 deletions

View file

@ -3,8 +3,6 @@ weight: 13
title: Contributing and Debugging
---
# Contributing guidelines
PR, code styling and code FAQs are [here](./PR-Guidelines)
For issues, please see

View file

@ -3,7 +3,7 @@ weight: 8
title: NVidia
---
# Foreword
## Foreword
There is no _official_ Hyprland support for Nvidia hardware. However, many
people have had success with the instructions on this page. Please read
@ -42,7 +42,7 @@ If either of the proprietary Nvidia driver setups do not work properly on your
computer, the Nouveau driver might work fine. This will likely be the case for
[older cards](https://wiki.archlinux.org/title/NVIDIA#Unsupported_drivers).
# Proprietary driver setup
## Proprietary driver setup
On Arch Linux and other Arch-based distros, we recommend using the DKMS variety
of the kernel modules, as it will support all installed kernels on your system.
@ -59,7 +59,7 @@ kernels of choice. So please make sure you have all relevant headers packages
installed on your system. For example, if you have the Zen kernel installed, you
must ensure `linux-zen-headers` is also installed.
## Further Installation
### Further Installation
The following packages must also be installed to ensure a smooth experience with
the proprietary drivers.
@ -72,7 +72,7 @@ the proprietary drivers.
This is required in order to enable compatibility between the EGL API and the
Wayland protocol. This should already be installed on most distros.
## Early KMS, modeset and fbdev
### Early KMS, modeset and fbdev
As of Nvidia driver version 570.86.16, `fbdev` has now been enabled by default
when `modeset` is also enabled. Therefore we simply need to enable `modeset`.
@ -119,7 +119,7 @@ After rebooting, you can verify that DRM is actually enabled by running
More information is available
[here](https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting).
## Environment variables
### Environment variables
Add these variables to your Hyprland config:
@ -128,7 +128,7 @@ env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
```
## Finishing up
### Finishing up
Install a few packages to get some apps to function natively with Wayland for
the best compatibility and performance. See
@ -140,7 +140,7 @@ Launch Hyprland.
It _should_ work now.
## Flickering in Electron / CEF apps
### Flickering in Electron / CEF apps
Electron and CEF apps flicker because:
@ -193,7 +193,7 @@ to any Electron/CEF app:
Using this in conjunction with native Wayland on these apps should solve all
issues.
## VA-API hardware video acceleration
### VA-API hardware video acceleration
Hardware video acceleration on Nvidia and Wayland is possible with the
[nvidia-vaapi-driver](https://github.com/elFarto/nvidia-vaapi-driver). This may
@ -217,9 +217,9 @@ will be given here:
You can check the README to get it working for Firefox. There is also
experimental support for Chromium, however there has not been much success.
## Other issues
### Other issues
### Multi-monitor with hybrid graphics
#### Multi-monitor with hybrid graphics
If you experience issues with multi-monitor setup on a hybrid graphics device
(a laptop with both an Intel and an Nvidia GPU), switching to discrete-only mode may help:
@ -228,7 +228,7 @@ If you experience issues with multi-monitor setup on a hybrid graphics device
2. Change your BIOS settings from hybrid graphics to discrete graphics.
### Multi-GPU (or hybrid graphics) not working for monitors attached to Nvidia GPU
#### Multi-GPU (or hybrid graphics) not working for monitors attached to Nvidia GPU
Nvidia doesn't support important features for Multi-GPU which can result in a broken or slow setup.
There are some workarounds to try:
@ -238,7 +238,7 @@ There are some workarounds to try:
This might slow down rendering to secondary monitors and make Hyprland a bit laggy on them,
but it's better than not having a secondary monitor at all, and it's the best we can do on Nvidia.
### Flickering in XWayland games
#### Flickering in XWayland games
XWayland games may flicker or present frames out-of-order in a way which makes
them unplayable. This is due to the lack of implicit synchronization in the
@ -257,7 +257,7 @@ There are a few fixes:
the 535xx series of drivers. These can be installed on Arch via
[these AUR packages](https://aur.archlinux.org/packages?O=0&K=535xx)
### Suspend/wakeup issues
#### Suspend/wakeup issues
On Arch Linux and NixOS, the instructions below are already done for you, but
for others:
@ -284,7 +284,7 @@ worth trying the fully proprietary one.
{{< /callout >}}
# Still having issues?
## Still having issues?
If you're still having issues after following this guide, you can join the
[Hyprland Discord](https://discord.gg/hQ9XvMUjjr) and ask for help in the

View file

@ -3,11 +3,11 @@ weight: 2
title: Status bars
---
# Simple status bars
## Simple status bars
Typically you'll be able to configure the order and style of widgets with little to no coding skill.
## Waybar
### Waybar
Waybar is a GTK status bar made specifically for wlroots compositors and
supports Hyprland by default. To use it, it's recommended to use your distro's
@ -22,7 +22,7 @@ with `hyprland/workspaces`. Addionally replace all occurences of `sway/mode` wit
For more info regarding configuration, see
[The Waybar Wiki](https://github.com/Alexays/Waybar/wiki/Module:-Hyprland).
### How to launch
#### How to launch
Type `waybar` into your terminal. In order to have Waybar launch alongside
Hyprland, add this line to your Hyprland configuration:
@ -37,14 +37,14 @@ Waybar also provides a systemd service. If you use Hyprland with [uwsm](../../Us
systemctl --user enable --now waybar.service
```
### Waybar FAQ
#### Waybar FAQ
#### Active workspace doesn't show up
##### Active workspace doesn't show up
Replace `#workspaces button.focused` with `#workspaces button.active` in
`~/.config/waybar/style.css`.
#### Scrolling through workspaces
##### Scrolling through workspaces
Since a lot of configuration options from `sway/workspaces` are missing,
you should deduce some of them by yourself. In the case of scrolling, it should
@ -58,7 +58,7 @@ look like this:
}
```
### Window title is missing
#### Window title is missing
The prefix for the window module that provides the title is `hyprland` not `wlr`.
In your Waybar config, insert this module:
@ -74,7 +74,7 @@ If you are using multiple monitors, you may want to insert the following option:
"separate-outputs": true
},
```
# Widget systems
## Widget systems
Use them when you want custom menus with fully customizable layout.
You basically need to write code, but widget systems significantly
@ -86,7 +86,7 @@ Below are three popular choices in alphabetical order.
| UI Toolkit | GTK 3/4 | GTK 3 | Qt |
| Config language | JS(X)/TS/languages that support [Gobject Introspection](https://en.wikipedia.org/wiki/List_of_language_bindings_for_GTK) | Yuck (EWW's flavor of Lisp) | QML |
## AGS/Astal
### AGS/Astal
- [Astal](https://aylur.github.io/astal/) is a suite and framework to craft desktop shells and Wayland widgets with GTK.
- [AGS](https://aylur.github.io/ags/) (Aylur's GTK Shell) is a scaffolding tool for Astal and TypeScript/Javascript(X).
@ -96,15 +96,15 @@ To get started with Astal, see its [installation instructions](https://aylur.git
and [examples](https://aylur.github.io/astal/guide/introduction#supported-languages).
For AGS, see its [Quick start](https://aylur.github.io/ags/guide/quick-start.html) page.
### Advantages
#### Advantages
- Language flexibility: You can use your favorite if it supports
[Gobject Introspection](https://en.wikipedia.org/wiki/List_of_language_bindings_for_GTK) (although JS(X)/TS are most well-supported by AGS)
- Provides a large set of libraries, including Network (both Wi-Fi and Ethernet) and Bluetooth
### Disadvantages
#### Disadvantages
- Does not provide hot reload out of the box
## Eww
### Eww
[Eww](https://github.com/elkowar/eww) (ElKowar's Wacky Widgets) is a widget
system made in Rust + GTK, which allows the creation of custom widgets
@ -115,17 +115,17 @@ Install Eww either using your distro's package manager, by searching
`eww-wayland`, or by manually compiling. In the latter case, you can follow the
[instructions](https://elkowar.github.io/eww).
### Advantages
#### Advantages
- Its Lisp-like config syntax is simple compared to other config languages
- Supports styling with SCSS out of the box
### Disadvantages
#### Disadvantages
- Heavy reliance on external scripts/programs, as it does not provide many libraries
- Performance
- Only supports GTK 3, which does not support GPU acceleration
- Overhead from the use of external scripts and unnecessary component recreations on data re-evaluation
### Configuration
#### Configuration
There are a few examples listed in the [Readme](https://github.com/elkowar/eww).
It's also highly recommended to read through the
@ -155,7 +155,7 @@ workspaces. It requires [bash](https://linux.die.net/man/1/bash),
[socat](https://linux.die.net/man/1/socat),
[jq](https://stedolan.github.io/jq/), and [Python 3](https://www.python.org/).
#### `~/.config/eww.yuck`
##### `~/.config/eww.yuck`
```lisp
...
@ -178,7 +178,7 @@ workspaces. It requires [bash](https://linux.die.net/man/1/bash),
...
```
#### `~/.config/eww/scripts/change-active-workspace`
##### `~/.config/eww/scripts/change-active-workspace`
```sh
#!/usr/bin/env bash
@ -204,7 +204,7 @@ then
fi
```
#### `~/.config/eww/scripts/get-active-workspace`
##### `~/.config/eww/scripts/get-active-workspace`
```sh
#!/usr/bin/env bash
@ -215,7 +215,7 @@ socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket
stdbuf -o0 awk -F '>>|,' -e '/^workspace>>/ {print $2}' -e '/^focusedmon>>/ {print $3}'
```
#### `~/.config/eww/scripts/get-workspaces`
##### `~/.config/eww/scripts/get-workspaces`
```sh
#!/usr/bin/env bash
@ -242,7 +242,7 @@ This widget simply displays the title of the active window. It requires
[socat](https://linux.die.net/man/1/socat), and
[jq](https://stedolan.github.io/jq/).
#### `~/.config/eww/eww.yuck`
##### `~/.config/eww/eww.yuck`
```lisp
...
@ -255,7 +255,7 @@ This widget simply displays the title of the active window. It requires
...
```
#### `~/.config/eww/scripts/get-window-title`
##### `~/.config/eww/scripts/get-window-title`
```sh
#!/bin/sh
@ -265,7 +265,7 @@ socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket
</details>
## Quickshell
### Quickshell
[Quickshell](https://quickshell.outfoxxed.me/) is a flexbile QtQuick-based desktop shell toolkit.
Note that although Qt is notoriously hard to theme, Quickshell can be styled independently.
@ -274,19 +274,19 @@ To get started, see the
[setup instructions](https://quickshell.outfoxxed.me/docs/configuration/getting-started/)
and a [guided hello world](https://quickshell.outfoxxed.me/docs/configuration/intro/)
### Advantages
#### Advantages
- Provides advanced Wayland/Hyprland integrations, for example live window previews
- Automatically reloads config on changes out of the box
### Disadvantages
#### Disadvantages
- Qt can be less intuitive to work with compared to GTK for its positioning system
- Does not yet provide a Wi-Fi service at the time of writing
- It is still in alpha and minor breaking changes are to be expected
- Styles are declared with components instead of in CSS, which might be less familiar for some people
# Tips
## Tips
## Blur
### Blur
Use the `blur` and `ignorealpha` [layer rules](https://wiki.hyprland.org/Configuring/Window-Rules/#layer-rules).
The former enables blur, and the latter makes it ignore insufficiently opaque regions.