diff --git a/pages/Configuring/Advanced-config.md b/pages/Configuring/Advanced-config.md index 37ea913..9ef522a 100644 --- a/pages/Configuring/Advanced-config.md +++ b/pages/Configuring/Advanced-config.md @@ -1,7 +1,9 @@ this page documents all of the more advanced config options. Binds, curves, execs, etc. -Please remember, that for ALL arguments separated by a comma, if you want to leave one of them empty, you cannot reduce the number of commas, *unless told otherwise in a specific section*: +Please remember, that for ALL arguments separated by a comma, if you want to +leave one of them empty, you cannot reduce the number of commas, *unless told +otherwise in a specific section*: ``` three_param_keyword=A,B,C # OK @@ -33,15 +35,20 @@ Please remember the offset is calculated with the scaled resolution, meaning if you want your 4K monitor with scale 2 to the left of your 1080p one, you'd use the offset `1920x0` for the second screen. (3840 / 2) -Leaving the name empty will define a fallback rule to use when no other rules match. +Leaving the name empty will define a fallback rule to use when no other rules +match. -You can use `preferred` as a resolution to use the display's preferred size, and `auto` as an offset to let Hyprland decide on an offset for you. +You can use `preferred` as a resolution to use the display's preferred size, and +`auto` as an offset to let Hyprland decide on an offset for you. Recommended rule for easy and quick plugging in of random monitors: + ``` monitor=,preferred,auto,1 ``` -Will make any monitor that was not specified with an explicit rule automatically placed in a sensible location with its preferred resolution. + +Will make any monitor that was not specified with an explicit rule automatically +placed in a sensible location with its preferred resolution. To disable a monitor, use @@ -171,7 +178,9 @@ bind=SUPER,mouse:272,exec,amongus will bind it to SUPER+LMB. -For binding only modkeys, you need to use the TARGET modmask (with the activating mod) and the `r` flag, e.g.: +For binding only modkeys, you need to use the TARGET modmask (with the +activating mod) and the `r` flag, e.g.: + ``` bindr=SUPERALT,Alt_L,exec,amongus ``` @@ -208,7 +217,8 @@ bindr=ALT,Alt_L,exec,amongus ## General dispatcher list: -Please keep in mind some layout-specific dispatchers will be listed in the layout pages (See the sidebar) +Please keep in mind some layout-specific dispatchers will be listed in the +layout pages (See the sidebar) ### exec @@ -279,12 +289,14 @@ fullscreen (keeps the gaps and bar(s)) sets the monitor's dpms status. -**Warning**: it is NOT recommended to set DPMS with a keybind directly, as it might cause undefined behavior. Instead, consider something like +**Warning**: it is NOT recommended to set DPMS with a keybind directly, as it +might cause undefined behavior. Instead, consider something like + ``` bind = MOD,KEY,exec,sleep 1 && hyprctl dispatch dpms off ``` -**params**: `on` for on, `off` for off. +**params**: `on` for on, `off` for off. ### pseudo @@ -485,7 +497,9 @@ workspace that you can toggle on/off on any monitor. you can execute a shell script on startup of the compositor or on each time it's reloaded. -**Note**: There currently is a bug with the exec that makes the executed app unable to die if killed, use `SIGKILL` (e.g. `killall name -9`) or launch from a script (`exec-once=~/myscript.sh` and do `myapp &` in the script) +**Note**: There currently is a bug with the exec that makes the executed app +unable to die if killed, use `SIGKILL` (e.g. `killall name -9`) or launch from a +script (`exec-once=~/myscript.sh` and do `myapp &` in the script) `exec-once=command` will execute only on launch @@ -664,7 +678,8 @@ animation=windows,1,10,myepiccurve,slide `STYLE` (optional) is the animation style -The animations are a tree. If an animation is unset, it will inherit its parent's values. +The animations are a tree. If an animation is unset, it will inherit its +parent's values. _Animation tree:_ @@ -685,10 +700,13 @@ global ### Extras -For animation style `popin` in `windows`, you can specify a minimum percentage to start from. For example: +For animation style `popin` in `windows`, you can specify a minimum percentage +to start from. For example: + ``` animation=windows,1,8,default,popin 80% ``` + will make the animation 80% -> 100% of the size. # Defining variables diff --git a/pages/Configuring/Basic-Config.md b/pages/Configuring/Basic-Config.md index f35324b..2d7fdc8 100644 --- a/pages/Configuring/Basic-Config.md +++ b/pages/Configuring/Basic-Config.md @@ -5,8 +5,8 @@ This page documents all the "options" of Hyprland. For binds, monitors, execs, curves, etc. see [Advanced Configuring](https://github.com/hyprwm/Hyprland/wiki/Advanced-config). -Please keep in mind some options that are layout-specific will be documented in the layout pages -and not here. (See the Sidebar) +Please keep in mind some options that are layout-specific will be documented in +the layout pages and not here. (See the Sidebar) # Variable types @@ -14,7 +14,8 @@ Variable types are: `int` - integer -`bool` - boolean, `true` or `false` (`yes` or `no`, `0` or `1`) - any numerical value that is not `0` or `1` will cause undefined behaviour. +`bool` - boolean, `true` or `false` (`yes` or `no`, `0` or `1`) - any numerical +value that is not `0` or `1` will cause undefined behaviour. `float` - floating point number @@ -63,12 +64,14 @@ inactivity to hide it. (default / never is `0`) `damage_tracking=str` - Makes the compositor redraw only the needed bits of the display. Saves on resources by not redrawing when not needed. Available modes: -`none, monitor, full`. You don't need to know what different modes do, just always use `full`. +`none, monitor, full`. You don't need to know what different modes do, just +always use `full`. `layout=str` - which layout to use. (Available: `dwindle`, `master`, default is `dwindle`) -`no_cursor_warps=bool` - if true, will not warp the cursor in many cases (focusing, keybinds, etc) +`no_cursor_warps=bool` - if true, will not warp the cursor in many cases +(focusing, keybinds, etc) ## Decoration @@ -101,7 +104,9 @@ The more passes, the more you can up the blur_size without noticing artifacts. `blur_ignore_opacity=bool` - make the blur layer ignore the opacity of the window. -`blur_new_optimizations=bool` - whether to enable further optimizations to the blur. Recommended to turn on, as it will massively improve performance, but some people have experienced graphical issues. +`blur_new_optimizations=bool` - whether to enable further optimizations to the +blur. Recommended to turn on, as it will massively improve performance, but some +people have experienced graphical issues. `drop_shadow=bool` - enable drop shadows on windows @@ -131,11 +136,12 @@ _More about animations is on the Advanced Configuring page._ `kb_layout=str` `kb_variant=str` `kb_model=str` `kb_options=str` `kb_rules=str` \- adequate keyboard settings -`follow_mouse=int` - (0/1/2/3) enable mouse following (focus on enter new window) -\- Quirk: will always focus on mouse enter if you're entering a floating window -from a tiled one, or vice versa. 0 - disabled, 1 - full, 2 - loose. Loose will -focus mouse on other windows on focus but not the keyboard. -3 - full loose, will not refocus on click, but allow mouse focus to be detached from the keyboard like in 2. +`follow_mouse=int` - (0/1/2/3) enable mouse following (focus on enter new +window) - Quirk: will always focus on mouse enter if you're entering a floating +window from a tiled one, or vice versa. 0 - disabled, 1 - full, 2 - loose. Loose +will focus mouse on other windows on focus but not the keyboard. 3 - full loose, +will not refocus on click, but allow mouse focus to be detached from the +keyboard like in 2. `repeat_rate=int` - in ms, the repeat rate for held keys @@ -197,13 +203,19 @@ revert) `no_vfr=bool` - disables VFR (variable frame rate) - VFR increases battery life at the expense of possible issues on a few monitors. (VFR is off by default) -`damage_entire_on_snapshot=bool` - Damage the entire monitor when rendering snapshots. Recommended with transformed displays. Do not use without transformed displays. +`damage_entire_on_snapshot=bool` - Damage the entire monitor when rendering +snapshots. Recommended with transformed displays. Do not use without transformed +displays. -`mouse_move_enables_dpms=bool` - If DPMS is set to off, wake up the monitors if the mouse moves. +`mouse_move_enables_dpms=bool` - If DPMS is set to off, wake up the monitors if +the mouse moves. -`always_follow_on_dnd=bool` - By default enabled, will make mouse focus follow the mouse when drag and dropping. Recommended to leave it enabled, especially for people using focus follows mouse at 0. +`always_follow_on_dnd=bool` - By default enabled, will make mouse focus follow +the mouse when drag and dropping. Recommended to leave it enabled, especially +for people using focus follows mouse at 0. -`layers_hog_keyboard_focus=bool` - If true, will make keyboard interactive layers keep their focus on mouse move (e.g. wofi, bemenu) +`layers_hog_keyboard_focus=bool` - If true, will make keyboard interactive +layers keep their focus on mouse move (e.g. wofi, bemenu) ## Binds diff --git a/pages/Configuring/Configuring-Hyprland.md b/pages/Configuring/Configuring-Hyprland.md index a4edf84..b078f30 100644 --- a/pages/Configuring/Configuring-Hyprland.md +++ b/pages/Configuring/Configuring-Hyprland.md @@ -1,4 +1,3 @@ - The config is located in `~/.config/hypr/hyprland.conf`. I recommend you copy the `examples/hyprland.conf`, but you can also edit the diff --git a/pages/Configuring/Dwindle-Layout.md b/pages/Configuring/Dwindle-Layout.md index 461b819..6ccdc0c 100644 --- a/pages/Configuring/Dwindle-Layout.md +++ b/pages/Configuring/Dwindle-Layout.md @@ -1,6 +1,5 @@ -= -Dwindle is a BSPWM-like layout, where every window on a workspace is a member of -a binary tree. += Dwindle is a BSPWM-like layout, where every window on a workspace is a member +of a binary tree. # Quirks @@ -61,7 +60,8 @@ the special workspace `split_width_multiplier=float` - specifies the auto-split width multiplier -`no_gaps_when_only=bool` - whether to apply gaps when there is only one window on a workspace. +`no_gaps_when_only=bool` - whether to apply gaps when there is only one window +on a workspace. ## Bind Dispatchers diff --git a/pages/Configuring/Expanding-functionality.md b/pages/Configuring/Expanding-functionality.md index a7812a1..04cb71f 100644 --- a/pages/Configuring/Expanding-functionality.md +++ b/pages/Configuring/Expanding-functionality.md @@ -1,13 +1,16 @@ - Hyprland exposes two powerful sockets for you to use. -The first, socket1, can be fully controlled with `hyprctl`, see its usage [here](https://github.com/hyprwm/Hyprland/wiki/Using-hyprctl). +The first, socket1, can be fully controlled with `hyprctl`, see its usage +[here](https://github.com/hyprwm/Hyprland/wiki/Using-hyprctl). -The second, socket2, sends events for certain changes / actions and can be used to react to different events. See its description [here](https://github.com/hyprwm/Hyprland/wiki/IPC). +The second, socket2, sends events for certain changes / actions and can be used +to react to different events. See its description +[here](https://github.com/hyprwm/Hyprland/wiki/IPC). ## Example script -This bash script will change the outer gaps to 20 if the currently focused monitor is DP-1, and 30 otherwise. +This bash script will change the outer gaps to 20 if the currently focused +monitor is DP-1, and 30 otherwise. ```bash #!/bin/sh @@ -23,4 +26,4 @@ function handle { } socat - UNIX-CONNECT:/tmp/hypr/$(echo $HYPRLAND_INSTANCE_SIGNATURE)/.socket2.sock | while read line; do handle $line; done -``` \ No newline at end of file +``` diff --git a/pages/Configuring/Master-Layout.md b/pages/Configuring/Master-Layout.md index 0072e30..f247e90 100644 --- a/pages/Configuring/Master-Layout.md +++ b/pages/Configuring/Master-Layout.md @@ -1,4 +1,3 @@ - The master layout makes one window be the "master", taking the left part of the screen, and tiles the rest on the right. @@ -26,7 +25,8 @@ join the slaves. `new_on_top=bool` - whether a newly open window should be on the top of the stack -`no_gaps_when_only=bool` - whether to apply gaps when there is only one window on a workspace. +`no_gaps_when_only=bool` - whether to apply gaps when there is only one window +on a workspace. ## Dispatchers @@ -42,4 +42,4 @@ example usage: ``` bind=MOD,KEY,layoutmsg,cyclenext -``` \ No newline at end of file +``` diff --git a/pages/Configuring/Uncommon-tips-&-tricks.md b/pages/Configuring/Uncommon-tips-&-tricks.md index 3a3f173..cc76197 100644 --- a/pages/Configuring/Uncommon-tips-&-tricks.md +++ b/pages/Configuring/Uncommon-tips-&-tricks.md @@ -1,4 +1,3 @@ - ## Switchable keyboard layouts An example of a switchable keyboard layout between US and RU, where you switch @@ -22,11 +21,12 @@ The keysym name in Hyprland is the XKB define name without the `XKB_KEY_`. ## Disabling keybinds with one master keybind -If you want to disable all keybinds with another keybind (make a kaybind toggle of sorts) you can just use a submap with only a keybind to exit it. +If you want to disable all keybinds with another keybind (make a kaybind toggle +of sorts) you can just use a submap with only a keybind to exit it. ``` bind=MOD,KEY,submap,clean submap=clean bind=MOD,KEY,submap,reset submap=reset -``` \ No newline at end of file +``` diff --git a/pages/Configuring/Using-hyprctl.md b/pages/Configuring/Using-hyprctl.md index 9327062..c572d62 100644 --- a/pages/Configuring/Using-hyprctl.md +++ b/pages/Configuring/Using-hyprctl.md @@ -1,4 +1,3 @@ - `hyprctl` is a utility for controlling some parts of the compositor from a CLI or a script. If you install with `make install`, or any package, it should automatically be installed. @@ -56,11 +55,13 @@ Kind of like xkill. ### setcursor -Sets the cursor theme and reloads the cursor manager. Will set the theme for everything except GTK, because GTK. +Sets the cursor theme and reloads the cursor manager. Will set the theme for +everything except GTK, because GTK. params: theme and size e.g.: + ``` hyprctl setcursor Bibata-Modern-Classic 24 ``` diff --git a/pages/Contributing and Debugging/_index.md b/pages/Contributing and Debugging/_index.md index b8afda3..7777ffc 100644 --- a/pages/Contributing and Debugging/_index.md +++ b/pages/Contributing and Debugging/_index.md @@ -74,11 +74,18 @@ for live logs. (replace `hyprland` with `hyprlandd` for debug builds) # Nesting Hyprland Hyprland can run nested in a window. For that, make sure you did the following: - - built in debug - - removed ALL `exec=` and `exec-once=` keywords from your debug config (`hyprlandd.conf`) - - set a resolution and are not using `preferred` - - made sure no keybinds overlap (I recommend using a different mod for your keybinds altogether) -Once you launch, the display will probably be completely garbled. To fix that, in the parent, do a `hyprctl clients` and note the size of the window. Make sure while opening the terminal to not resize the nested window. Note that resolution and use it down to the pixel in your `hyprlandd.conf`. +- built in debug +- removed ALL `exec=` and `exec-once=` keywords from your debug config + (`hyprlandd.conf`) +- set a resolution and are not using `preferred` +- made sure no keybinds overlap (I recommend using a different mod for your + keybinds altogether) -If you segfault in `shadowKeybinds`, you probably either are using the same mod as your parent or resized the window. \ No newline at end of file +Once you launch, the display will probably be completely garbled. To fix that, +in the parent, do a `hyprctl clients` and note the size of the window. Make sure +while opening the terminal to not resize the nested window. Note that resolution +and use it down to the pixel in your `hyprlandd.conf`. + +If you segfault in `shadowKeybinds`, you probably either are using the same mod +as your parent or resized the window. diff --git a/pages/FAQ/_index.md b/pages/FAQ/_index.md index 508d9bb..533ef16 100644 --- a/pages/FAQ/_index.md +++ b/pages/FAQ/_index.md @@ -57,7 +57,8 @@ turning off the blur and animations. ### Blur makes my GPU cry :( -You probably forgot to turn on `decoration:blur_new_optimizations`. Thank me later. +You probably forgot to turn on `decoration:blur_new_optimizations`. Thank me +later. ### My monitor no worky! @@ -99,10 +100,10 @@ Use a wayland-compatible locking utility using WLR protocols, e.g. `swaylock`. Use a tool like for example `lxappearance` to change the GTK cursor. -After that, add `exec-once=hyprctl setcursor [THEME] [SIZE]` to your config and restart Hyprland. +After that, add `exec-once=hyprctl setcursor [THEME] [SIZE]` to your config and +restart Hyprland. -If that doesn't work, change the config files manually according to -the +If that doesn't work, change the config files manually according to the [XDG specification (Arch wiki link)](https://wiki.archlinux.org/title/Cursor_themes#Configuration). Make sure to also edit `~/.config/gtk-4.0/settings.ini` and `~/.gtkrc-2.0` if @@ -256,7 +257,8 @@ Try disabling VFR with `misc:no_vfr=1` ### How do I make Hyprland draw as little power as possible on my laptop? -I assume you already have `damage_tracking` on full. If you don't, do it. It's heavily advised to use `full` regardless of anything. +I assume you already have `damage_tracking` on full. If you don't, do it. It's +heavily advised to use `full` regardless of anything. Optimization options: @@ -269,4 +271,3 @@ Optimization options: `decoration:drop_shadow = false` `misc:no_vfr = false` - diff --git a/pages/Getting Started/Installation.md b/pages/Getting Started/Installation.md index 59263df..5c95920 100644 --- a/pages/Getting Started/Installation.md +++ b/pages/Getting Started/Installation.md @@ -9,41 +9,41 @@ Hyprland. Arch and NixOS are very supported. For any other distro (not based on Arch/Nix) you might have varying amounts of success. However, since Hyprland is extremely -bleeding-edge, distros like Pop!\_OS, Ubuntu, etc. might have **major** -issues running Hyprland. +bleeding-edge, distros like Pop!\_OS, Ubuntu, etc. might have **major** issues +running Hyprland. # Installation Installing Hyprland is very easy. Either you install it from your local package provider (if they provide pkgs for Hyprland) or you install/build it yourself. -{{< hint title=Note >}} -This project is under development and is constantly changing. If -you want to keep up to date with the latest commits, please consider updating -your packages with `yay -Syu --devel`, or your other preferred package manager. -{{< /hint >}} +{{\< hint title=Note >}} This project is under development and is constantly +changing. If you want to keep up to date with the latest commits, please +consider updating your packages with `yay -Syu --devel`, or your other preferred +package manager. {{\< /hint >}} ## Packages **WARNING:** I do not maintain any packages. If they are broken, try building from source first. -{{< tabs "uniqueid" >}} +{{\< tabs "uniqueid" >}} -{{< tab "Arch Linux" >}} -*If you're on Arch Linux, I* ***heavily*** *recommend you use the AUR.* +{{\< tab "Arch Linux" >}} *If you're on Arch Linux, I* ***heavily*** *recommend +you use the AUR.* ```plain hyprland-git - compiles from latest source hyprland - compiles from latest release source hyprland-bin - compiled latest release ``` -{{< /tab >}} -{{< tab "Nix" >}}Read the [Nix page](https://github.com/hyprwm/Hyprland/wiki/Nix).{{< /tab >}} -{{< tab "Fedora" >}}{{< /tab >}} -{{< /tabs >}} +{{\< /tab >}} +{{\< tab "Nix" >}}Read the +[Nix page](https://github.com/hyprwm/Hyprland/wiki/Nix).{{\< /tab >}} {{\< tab +"Fedora" >}}{{\< /tab >}} +{{\< /tabs >}} ## Manual (Releases) @@ -96,7 +96,8 @@ ninja -C _build ninja -C _build install ``` -Refer to [Debugging](../../Contributing-and-Debugging) to see how to build & debug. +Refer to [Debugging](../../Contributing-and-Debugging) to see how to build & +debug. ## Crash on launch diff --git a/pages/Getting Started/Quick-start.md b/pages/Getting Started/Quick-start.md index b17828e..9844219 100644 --- a/pages/Getting Started/Quick-start.md +++ b/pages/Getting Started/Quick-start.md @@ -1,4 +1,3 @@ - After you've installed Hyprland, you can either launch it from a TTY with `Hyprland` or from a login manager. Although login managers aren't officially supported, I recommend `SDDM`, as it's been working flawlessly with wayland @@ -9,12 +8,12 @@ autogenerated configs have it bound to SUPER + Q). Alternatively, manually change it in the config before launching Hyprland. If you have an Nvidia card, please also take a look at -[The Nvidia page](../../Nvidia) before -launching. You should **first** make a wrapper, as described in the section -below, then follow the instructions from the Nvidia page, and then continue -on with sections below. +[The Nvidia page](../../Nvidia) before launching. You should **first** make a +wrapper, as described in the section below, then follow the instructions from +the Nvidia page, and then continue on with sections below. ## Wrapping the launcher (recommended) + With Xorg, you get the `.xinitrc`. With Hyprland, you can create your own... kind of. @@ -22,6 +21,7 @@ Make an executable file somewhere in your `PATH`, for example `~/.local/bin/`, called (for example) `wrappedhl` In it, put: + ```bash #!/bin/sh @@ -36,10 +36,10 @@ exec Hyprland You can add as many exported envvars as you need (Nvidia users might need a lot), but I recommend having *at least* the shown two. -You should now launch Hyprland with `wrappedhl` instead of `Hyprland`. Make -sure to edit your `.desktop` file in `/usr/share/wayland-sessions/` if you use -a login manager! You might need to put the full path in it, as login managers -are usually not ran through the user account. +You should now launch Hyprland with `wrappedhl` instead of `Hyprland`. Make sure +to edit your `.desktop` file in `/usr/share/wayland-sessions/` if you use a +login manager! You might need to put the full path in it, as login managers are +usually not ran through the user account. ## Immediate @@ -81,16 +81,14 @@ example command: hyprctl keyword monitor DP-3,1920x1080@240,1920x0,1 ``` -{{< hint type=important >}} -These changes are **not** permanent! If you want to make those -changes persist, configure your outputs in the config! -{{< /hint >}} +{{\< hint type=important >}} These changes are **not** permanent! If you want to +make those changes persist, configure your outputs in the config! {{\< /hint >}} # Proper configuring Head onto the -[Configuring Hyprland page](../../Configuring/Configuring-Hyprland) -to learn all about configuring Hyprland to your likings. +[Configuring Hyprland page](../../Configuring/Configuring-Hyprland) to learn all +about configuring Hyprland to your likings. # Apps / X11 replacements @@ -112,9 +110,9 @@ Exit hyprland, and then: or `HDMI-x` etc are your monitor names. - edit `~/.config/hypr/hyprland.conf` - replace the `monitor=` line with `monitor=NAME,RES@Hz,OFFSET,SCALE`, for - example `monitor=DP-1,1920x1080@60,0x0,1` (See [Monitors](#monitors) for - more info about the values). You can also add multiple of those - for multi-montor setups. + example `monitor=DP-1,1920x1080@60,0x0,1` (See [Monitors](#monitors) for more + info about the values). You can also add multiple of those for multi-montor + setups. -After this, upon launching Hyprland again, everything should be fine, -provided you set an appropriate mode for your monitors. +After this, upon launching Hyprland again, everything should be fine, provided +you set an appropriate mode for your monitors. diff --git a/pages/IPC/_index.md b/pages/IPC/_index.md index 8ddc3fd..a8a3f83 100644 --- a/pages/IPC/_index.md +++ b/pages/IPC/_index.md @@ -1,4 +1,3 @@ - Hyprland exposes 2 UNIX Sockets, for controlling / getting info about Hyprland via code / bash utilities. diff --git a/pages/Nix/_index.md b/pages/Nix/_index.md index 315d0c4..e4e9582 100644 --- a/pages/Nix/_index.md +++ b/pages/Nix/_index.md @@ -1,4 +1,3 @@ - **NOTE:** Hyprland is NOT supported on NixOS stable. It may (not) compile or work as intended. Please use the flake. @@ -92,11 +91,11 @@ modules set. ## Cachix -A [Hyprland Cachix](https://app.cachix.org/cache/nix-gaming) exists to cache -the `wlroots` package and speed up builds. +A [Hyprland Cachix](https://app.cachix.org/cache/nix-gaming) exists to cache the +`wlroots` package and speed up builds. -In case you don't plan on changing the Nixpkgs Hyprland builds with, you can -use this cache to speed up your builds. +In case you don't plan on changing the Nixpkgs Hyprland builds with, you can use +this cache to speed up your builds. ```nix # configuration.nix diff --git a/pages/Nvidia/_index.md b/pages/Nvidia/_index.md index 3e66442..695bd4d 100644 --- a/pages/Nvidia/_index.md +++ b/pages/Nvidia/_index.md @@ -1,6 +1,8 @@ - ## Foreword -There is no _official_ support for Nvidia. Unfortunately, their drivers are so messy, and their products so random, that it's impossible for us to help if these instructions don't work fully. + +There is no _official_ support for Nvidia. Unfortunately, their drivers are so +messy, and their products so random, that it's impossible for us to help if +these instructions don't work fully. Every card seems to be random, and might work perfectly, or not work at all. @@ -8,12 +10,17 @@ Nevertheless, it's recommended to at least try this tutorial. ## How to get Hyprland to possibly work on Nvidia -Install the `nvidia-dkms` driver and add it to your initram & kernel parameters, follow the information available here: [https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting](https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting) +Install the `nvidia-dkms` driver and add it to your initram & kernel parameters, +follow the information available here: +[https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting](https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting) - _* Note_: If your GPU is listed as supported by the `nvidia-open-dkms` driver, go with that one instead. +_\* Note_: If your GPU is listed as supported by the `nvidia-open-dkms` driver, +go with that one instead. +Following the wrapping instructions found at +[The Quick Start Page](https://github.com/hyprwm/Hyprland/wiki/Quick-start#wrapping-the-launcher-recommended), +wrap the launcher and additionally export these: -Following the wrapping instructions found at [The Quick Start Page](https://github.com/hyprwm/Hyprland/wiki/Quick-start#wrapping-the-launcher-recommended), wrap the launcher and additionally export these: ```sh export LIBVA_DRIVER_NAME=nvidia export CLUTTER_BACKEND=wayland @@ -28,7 +35,9 @@ export QT_QPA_PLATFORM=wayland export GDK_BACKEND=wayland ``` -Install `qt5-wayland`, `qt5ct` and `libva`. Additionally `nvidia-vaapi-driver-git` (AUR) to fix crashes in some Electron-based applications, such as Unity Hub. +Install `qt5-wayland`, `qt5ct` and `libva`. Additionally +`nvidia-vaapi-driver-git` (AUR) to fix crashes in some Electron-based +applications, such as Unity Hub. Reboot your computer @@ -37,13 +46,17 @@ Launch Hyprland with the wrapper. It _should_ work now. ### Fixing random flickering -Do note though that this forces performance mode to be active, resulting in increased power-consumption (from 22W idle on a RTX 3070TI, to 74W). -This may not even be needed for some users, only apply these 'fixes' if you in-fact do notice flickering artifacts from being idle for ~5 seconds. +Do note though that this forces performance mode to be active, resulting in +increased power-consumption (from 22W idle on a RTX 3070TI, to 74W). + +This may not even be needed for some users, only apply these 'fixes' if you +in-fact do notice flickering artifacts from being idle for ~5 seconds. Make a new file at `/etc/modprobe.d/nvidia.conf` and paste this in: + ``` options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3" ``` -Reboot your computer and it should be working. \ No newline at end of file +Reboot your computer and it should be working. diff --git a/pages/Useful Utilities/App-Clients.md b/pages/Useful Utilities/App-Clients.md index 08c65d7..34fe22f 100644 --- a/pages/Useful Utilities/App-Clients.md +++ b/pages/Useful Utilities/App-Clients.md @@ -1,6 +1,8 @@ - -Some clients are known for being a massive pain under Wayland. Here are great replacements for them: +Some clients are known for being a massive pain under Wayland. Here are great +replacements for them: ## Discord -Use [WebCord](https://github.com/SpacingBat3/WebCord), it has native support for pipewire screensharing, tons of great features and tries to stay infringing as little as possible on the Discord ToS. \ No newline at end of file +Use [WebCord](https://github.com/SpacingBat3/WebCord), it has native support for +pipewire screensharing, tons of great features and tries to stay infringing as +little as possible on the Discord ToS. diff --git a/pages/Useful Utilities/App-Launchers.md b/pages/Useful Utilities/App-Launchers.md index 4a1c8f5..d03eb6e 100644 --- a/pages/Useful Utilities/App-Launchers.md +++ b/pages/Useful Utilities/App-Launchers.md @@ -1,6 +1,9 @@ - ## Wofi -wofi is a great and customizable launcher just for wayland. [SourceHut](https://hg.sr.ht/~scoopta/wofi). + +wofi is a great and customizable launcher just for wayland. +[SourceHut](https://hg.sr.ht/~scoopta/wofi). ## bemenu -bemenu is, maybe for some, the more well-known one. Kinda like dmenu. [GitHub](https://github.com/Cloudef/bemenu) \ No newline at end of file + +bemenu is, maybe for some, the more well-known one. Kinda like dmenu. +[GitHub](https://github.com/Cloudef/bemenu) diff --git a/pages/Useful Utilities/Screen-Sharing.md b/pages/Useful Utilities/Screen-Sharing.md index 60ad33c..74ad2e1 100644 --- a/pages/Useful Utilities/Screen-Sharing.md +++ b/pages/Useful Utilities/Screen-Sharing.md @@ -1,16 +1,18 @@ - Screensharing is done through PipeWire WebRTC on Wayland. ## Prereqs -Make sure you have `pipewire` and `wireplumber` installed, enabled and running if you don't have them yet. +Make sure you have `pipewire` and `wireplumber` installed, enabled and running +if you don't have them yet. Also install `slurp` for monitor selection. ## Screensharing -Read [this amazing gist by PowerBall253](https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580) for a great tutorial. +Read +[this amazing gist by PowerBall253](https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580) +for a great tutorial. ## Caveats -You cannot screenshare separate windows with Hyprland, yet. Only full monitors. \ No newline at end of file +You cannot screenshare separate windows with Hyprland, yet. Only full monitors. diff --git a/pages/Useful Utilities/Status-Bars.md b/pages/Useful Utilities/Status-Bars.md index a3fd5b0..c4431c9 100644 --- a/pages/Useful Utilities/Status-Bars.md +++ b/pages/Useful Utilities/Status-Bars.md @@ -1,15 +1,16 @@ - Launch your bar with `exec-once=`. ## Waybar Waybar is a GTK status bar made specifically for wlroots compositors. -To use it, it's recommended to either use the AUR package `waybar-hyprland-git`, or compile manually with the `USE_EXPERIMENTAL` flag enabled. +To use it, it's recommended to either use the AUR package `waybar-hyprland-git`, +or compile manually with the `USE_EXPERIMENTAL` flag enabled. To compile manually: Clone the source, then do: + ```sh sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' src/modules/wlr/workspace_manager.cpp @@ -18,28 +19,30 @@ meson configure -Dexperimental=true build ``` and finally: + ```sh sudo ninja -C build install ``` If you want to use the workspaces module, it's called `wlr/workspaces`. -For more info regarding configuration, see [The Waybar Wiki](https://github.com/Alexays/Waybar/wiki) +For more info regarding configuration, see +[The Waybar Wiki](https://github.com/Alexays/Waybar/wiki) ## eww -In order to use [eww](https://github.com/elkowar/eww), you first have to -install it, either using your distro's package manager, by searching -`eww-wayland`, or by manually compiling. In the latter case, you need to -have `cargo` and `rustc` installed, then follow the [instructions](https://elkowar.github.io/eww). +In order to use [eww](https://github.com/elkowar/eww), you first have to install +it, either using your distro's package manager, by searching `eww-wayland`, or +by manually compiling. In the latter case, you need to have `cargo` and `rustc` +installed, then follow the [instructions](https://elkowar.github.io/eww). ### Configuration -After you've successfully installed eww, you can move onto configuring it. -There are a few examples listed in the [Readme](https://github.com/elkowar/eww), -we highly recommend you to also read through the +After you've successfully installed eww, you can move onto configuring it. There +are a few examples listed in the [Readme](https://github.com/elkowar/eww), we +highly recommend you to also read through the [Configuration options](https://elkowar.github.io/eww/configuration.html). **NOTE:** Read [the wayland section](https://elkowar.github.io/eww/configuration.html#wayland) -carefully before asking why your bar doesn't work. \ No newline at end of file +carefully before asking why your bar doesn't work. diff --git a/pages/Useful Utilities/Wallpapers.md b/pages/Useful Utilities/Wallpapers.md index 9390a7c..b493b83 100644 --- a/pages/Useful Utilities/Wallpapers.md +++ b/pages/Useful Utilities/Wallpapers.md @@ -1,14 +1,23 @@ - Launch your wallpaper utility with `exec-once=`. ## hyprpaper -Straight from our oven, `hyprpaper` is a wallpaper utility from the Hypr Development team. See its usage and config by following the README on the [GitHub Page](https://github.com/hyprwm/hyprpaper) + +Straight from our oven, `hyprpaper` is a wallpaper utility from the Hypr +Development team. See its usage and config by following the README on the +[GitHub Page](https://github.com/hyprwm/hyprpaper) ## swaybg -Great utility if all you want is one simple static wallpaper that will never change, and don't want to make a config file. Get it over [here](https://github.com/swaywm/swaybg). + +Great utility if all you want is one simple static wallpaper that will never +change, and don't want to make a config file. Get it over +[here](https://github.com/swaywm/swaybg). ## wpaperd -A bit more advanced wallpaper daemon with automatic wallpaper changing options and other fancy stuff. [GitHub](https://github.com/danyspin97/wpaperd) + +A bit more advanced wallpaper daemon with automatic wallpaper changing options +and other fancy stuff. [GitHub](https://github.com/danyspin97/wpaperd) ## mpvpaper -A neat mpv wrapper to play a video as your wallpaper. [GitHub](https://github.com/GhostNaN/mpvpaper) \ No newline at end of file + +A neat mpv wrapper to play a video as your wallpaper. +[GitHub](https://github.com/GhostNaN/mpvpaper) diff --git a/pages/Useful Utilities/_index.md b/pages/Useful Utilities/_index.md index 1213483..d6a4481 100644 --- a/pages/Useful Utilities/_index.md +++ b/pages/Useful Utilities/_index.md @@ -1,5 +1,5 @@ - -This category is dedicated to short tutorials on how to get useful utilities for Hyprland working. +This category is dedicated to short tutorials on how to get useful utilities for +Hyprland working. ## List of Pages @@ -11,4 +11,4 @@ This category is dedicated to short tutorials on how to get useful utilities for - **[Screen Sharing](https://github.com/hyprwm/Hyprland/wiki/Screen-Sharing)** -- **[App Clients](https://github.com/hyprwm/Hyprland/wiki/App-Clients)** \ No newline at end of file +- **[App Clients](https://github.com/hyprwm/Hyprland/wiki/App-Clients)**