From c093d71c2dfee3082bdbdc077f639f37d20b8f82 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Wed, 31 Jul 2024 01:00:24 +0300 Subject: [PATCH] Useful Utilities: reword/revamp --- pages/Useful Utilities/App-Launchers.md | 22 ++++--- pages/Useful Utilities/Clipboard-Managers.md | 29 +++++---- pages/Useful Utilities/Color-Pickers.md | 3 +- pages/Useful Utilities/Hypr-Ecosystem.md | 36 +---------- pages/Useful Utilities/Must-have.md | 8 ++- pages/Useful Utilities/Other.md | 13 ++-- pages/Useful Utilities/Screen-Sharing.md | 19 +++--- pages/Useful Utilities/Status-Bars.md | 63 +++++++++++--------- pages/Useful Utilities/Wallpapers.md | 10 ++-- 9 files changed, 94 insertions(+), 109 deletions(-) diff --git a/pages/Useful Utilities/App-Launchers.md b/pages/Useful Utilities/App-Launchers.md index dfb22fd..8322c16 100644 --- a/pages/Useful Utilities/App-Launchers.md +++ b/pages/Useful Utilities/App-Launchers.md @@ -5,7 +5,7 @@ title: App launchers ## Wofi -Wofi is a GTK-based customizable launcher for wayland. +Wofi is a GTK-based customizable launcher for Wayland. [SourceHut](https://hg.sr.ht/~scoopta/wofi). ## Rofi (Wayland fork) @@ -19,7 +19,7 @@ bemenu is a Wayland-native replacement for dmenu. ## fuzzel -Fuzzel is an application launcher for wlroots based Wayland compositors, similar +Fuzzel is an application launcher for wlroots-based Wayland compositors, similar to rofi's `drun` mode. [Codeberg](https://codeberg.org/dnkl/fuzzel) ## tofi @@ -29,22 +29,28 @@ replacement for wlroots-based Wayland compositors. When configured correctly, tofi can get on screen within a single frame. [Github](https://github.com/philj56/tofi) -For a more comprehensive list of launchers, check -[awesome-hyprland](https://github.com/hyprland-community/awesome-hyprland#runners-menus-and-application-launchers). - ## Emacs If you are already running an emacs server you can use Emacs. -For the config you can check out [DistroTube's Configuring Emacs](https://gitlab.com/dwt1/configuring-emacs/-/blob/main/07-the-final-touches/scripts/app-launchers.el?ref_type=heads) or [Sebastian Wae's `app-launcher`](https://github.com/SebastienWae/app-launcher) repositories. +For the config you can check out +[DistroTube's Configuring Emacs](https://gitlab.com/dwt1/configuring-emacs/-/blob/main/07-the-final-touches/scripts/app-launchers.el?ref_type=heads) +or [Sebastian Wae's `app-launcher`](https://github.com/SebastienWae/app-launcher) +repositories. ## Anyrun Anyrun is a Wayland-native krunner-like runner, made with customizability in -mind. It is modular and extensible through plugins. It can be used as an app launcher with its Applications Plugin. +mind. It is modular and extensible through plugins. It can be used as an app +launcher with its Applications Plugin. [GitHub](https://github.com/anyrun-org/anyrun) ## Walker -Walker is an extensible Wayland-native runner with various built-in modules (applications, runner, hyprland windows, websearch [as of 2024-03-15]). It can be run as a service for faster startups. +Walker is an extensible Wayland-native runner with various built-in modules +(applications, runner, hyprland windows, websearch [as of 2024-03-15]). It can +be run as a service for faster startups. [GitHub](https://github.com/abenz1267/walker) + +For a more comprehensive list of launchers, check +[awesome-hyprland](https://github.com/hyprland-community/awesome-hyprland#runners-menus-and-application-launchers). diff --git a/pages/Useful Utilities/Clipboard-Managers.md b/pages/Useful Utilities/Clipboard-Managers.md index 8f7de35..79b1056 100644 --- a/pages/Useful Utilities/Clipboard-Managers.md +++ b/pages/Useful Utilities/Clipboard-Managers.md @@ -23,7 +23,10 @@ To fix this problem, you can use `wl-clip-persist` which will preserve the data in the clipboard after the application is closed. [Github](https://github.com/Linus789/wl-clip-persist) -`clipse` - Utilizes Wayland with `wl-clipboard` support and runs from a single binary. Stores text and images indefinitely, accessible via a nice TUI that can be bound to a floating window in your Hyprland config. Allows custom themes, image/text previews, multi-select, pinned items and more. +`clipse` - Utilizes Wayland with `wl-clipboard` support and runs from a single +binary. Stores text and images indefinitely, accessible via a nice TUI that can +be bound to a floating window in your Hyprland config. Allows custom themes, +image/text previews, multi-select, pinned items and more. [GitHub](https://github.com/savedra1/clipse) ## copyq @@ -35,22 +38,23 @@ exec-once = copyq --start-server ``` If the main window of `copyq` cannot close/hide properly, try to enable its -"Hide main window" option in the Layout configuration tab in the Preferences dialog. +"Hide main window" option in the Layout configuration tab in the Preferences +dialog. ## cliphist Start by adding the following lines to your `~/.config/hypr/hyprland.conf` ```ini -exec-once = wl-paste --type text --watch cliphist store #Stores only text data +exec-once = wl-paste --type text --watch cliphist store # Stores only text data -exec-once = wl-paste --type image --watch cliphist store #Stores only image data +exec-once = wl-paste --type image --watch cliphist store # Stores only image data ``` Note that any of the above lines can be disabled based on your needs. To bind `cliphist` to a hotkey and display it under `rofi` or `dmenu` or `wofi`, -you can edit it in `~/.config/hypr/hyprland.conf`. +you can edit it in `hyprland.conf`. ### For `rofi` users @@ -76,7 +80,7 @@ For further info, please refer to the repository mentioned above. ## clipman -Start by adding the following line to your `~/.config/hypr/hyprland.conf` +Start by adding the following line to your `hyprland.conf` ```ini exec-once = wl-paste -t text --watch clipman store --no-persist @@ -115,7 +119,7 @@ mentioned above. ## clipse -Start by adding the following line to your `~/.config/hypr/hyprland.conf` +Start by adding the following line to your `hyprland.conf` ```ini exec-once = clipse -listen @@ -124,13 +128,16 @@ exec-once = clipse -listen You can bind the TUI to a something nice like this: ```ini -windowrulev2 = float,class:(clipse) -windowrulev2 = size 622 652,class:(clipse) +windowrulev2 = float, class:(clipse) +windowrulev2 = size 622 652, class:(clipse) bind = SUPER, V, exec, alacritty --class clipse -e clipse ``` -Replace `alacritty` with the terminal environment you use if necessary. The class is optional, but it's recommended to use a floating window to achieve more GUI-like behavior. +Replace `alacritty` with the terminal environment you use if necessary. The +class is optional, but it's recommended to use a floating window to achieve more +GUI-like behavior. -For more details on `clipse`, please refer to its GitHub repo linked at the top of the page. +For more details on `clipse`, please refer to its GitHub repo linked at the top +of the page. diff --git a/pages/Useful Utilities/Color-Pickers.md b/pages/Useful Utilities/Color-Pickers.md index d7ee930..69e049a 100644 --- a/pages/Useful Utilities/Color-Pickers.md +++ b/pages/Useful Utilities/Color-Pickers.md @@ -11,5 +11,6 @@ only one that doesn't suck. ## Hyprpicker -Dead simple to use. Launch, click, and you're done. +Dead simple to use. Launch, click, and you're done. Also see +[its wiki page](../../Hypr-Ecosystem/hyprpicker). [GitHub](https://github.com/hyprwm/hyprpicker) diff --git a/pages/Useful Utilities/Hypr-Ecosystem.md b/pages/Useful Utilities/Hypr-Ecosystem.md index 58b8258..c867d61 100644 --- a/pages/Useful Utilities/Hypr-Ecosystem.md +++ b/pages/Useful Utilities/Hypr-Ecosystem.md @@ -1,34 +1,4 @@ -The hypr ecosystem is a collection of apps developed by me (aka hyprwm) -that are designed for Hyprland and to integrate with it as nicely as possible. +The hypr ecosystem is a collection of apps developed by HyprWM, that are +designed for Hyprland and to integrate with it as nicely as possible. -## hyprpaper - -A cool, fast, IPC-controlled wallpaper utility. - -[Github link](https://github.com/hyprwm/hyprpaper) - -## hyprpicker - -A neat color picker for your Hyprland desktop. - -[Github link](https://github.com/hyprwm/hyprpicker) - -## xdg-desktop-portal-hyprland - -A must-have, see [The wiki page](../xdg-desktop-portal-hyprland) - -## hypridle - -An idle management daemon for Hyprland, for things like opening lock screens or powering off the monitor when idle. - -[Github link](https://github.com/hyprwm/hypridle) - -## hyprlock - -A simple, but fast, multithreaded, GPU-accelerated screen locker for Hyprland. - -[Github link](https://github.com/hyprwm/hyprlock) - -## More - -and more to come! :) +See [Hypr Ecosystem](../../Hypr-Ecosystem). diff --git a/pages/Useful Utilities/Must-have.md b/pages/Useful Utilities/Must-have.md index c74932b..f94bdf8 100644 --- a/pages/Useful Utilities/Must-have.md +++ b/pages/Useful Utilities/Must-have.md @@ -33,8 +33,8 @@ when starting a graphical shell,[^1] non-systemd distros like Gentoo or Artix provide a dedicated launcher. It can be usually found by running `whereis -pipewire-launcher`. If such -a file does not exist on your install, please refer to your distro's documentation -for help. +a file does not exist on your install, please refer to your distro's +documentation for help. [^1]: https://wiki.gentoo.org/wiki/PipeWire#OpenRC @@ -59,7 +59,9 @@ Our recommendation is the KDE one. For arch, it's `polkit-kde-agent`. You can autostart it with `exec-once=/usr/lib/polkit-kde-authentication-agent-1`. On some distributions you might have to use a different path which could be -`/usr/libexec/polkit-kde-authentication-agent-1`, `/usr/libexec/kf5/polkit-kde-authentication-agent-1`, or `/usr/libexec/kf6/polkit-kde-authentication-agent-1`. +`/ usr/libexec/polkit-kde-authentication-agent-1`, +`/usr/libexec/kf5/polkit-kde-authentication-agent-1`, or +`/usr/libexec/kf6/polkit-kde-authentication-agent-1`. On other distributions that use a more recent version, such as Gentoo, it may be necessary to use diff --git a/pages/Useful Utilities/Other.md b/pages/Useful Utilities/Other.md index 939b0aa..60d016f 100644 --- a/pages/Useful Utilities/Other.md +++ b/pages/Useful Utilities/Other.md @@ -43,27 +43,24 @@ swapping and scheduling screen shaders; also functions as an _Starting method:_ manual ('exec-once') USB mass storage devices, like thumb drives, mobile phones, digital cameras, -etc. do not mount automatically to the file system. +etc. are not mounted automatically to the file system. -Typically, we have to manually mount them, often using root and `umount` to do so. +Typically, they have to be manually mounted, often using root and `umount` to do so. Many popular DEs automatically handle this by using `udisks2` wrappers. `udiskie` is a udisks2 front-end that allows to manage removable media such as CDs or flash drives from userspace. -Install `udiskie` via your repositories, or +Install `udiskie` via your package manager, or [build manually](https://github.com/coldfix/udiskie/wiki/installation) -Head over to your `~/.config/hypr/hyprland.conf` and add the following lines: +Head over to your `hyprland.conf` and add the following line: ```ini -exec-once = udiskie & +exec-once = udiskie ``` -This launches `udiskie` and the `&` argument launches it in the -background. - [See more uses here](https://github.com/coldfix/udiskie/wiki/Usage). ### Advanced Systemd Session Management diff --git a/pages/Useful Utilities/Screen-Sharing.md b/pages/Useful Utilities/Screen-Sharing.md index 5d025d6..61bdf77 100644 --- a/pages/Useful Utilities/Screen-Sharing.md +++ b/pages/Useful Utilities/Screen-Sharing.md @@ -7,8 +7,9 @@ Screensharing is done through PipeWire on Wayland. ## Prerequisites -Make sure you have `pipewire` and `wireplumber` installed, enabled and running -if you don't have them yet. +Make sure you have `pipewire`, `wireplumber` and +[`xdg-desktop-portal-hyprland`](../../Hypr-Ecosystem/xdg-desktop-portal-hyprland) +installed, enabled and running if you don't have them yet. ## Screensharing @@ -16,10 +17,6 @@ Read [this amazing gist by Bruno Ancona Sala](https://gist.github.com/brunoanc/2dea6ddf6974ba4e5d26c3139ffb7580) for a great tutorial. -## Better screensharing - -See [the hyprland portal page](../xdg-desktop-portal-hyprland) - ## XWayland If your screensharing application is running under XWayland (like Discord or @@ -37,9 +34,9 @@ the same effect. See more information. For example: ```ini -windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ -windowrulev2 = noanim,class:^(xwaylandvideobridge)$ -windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ -windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ -windowrulev2 = noblur,class:^(xwaylandvideobridge)$ +windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$ +windowrulev2 = noanim, class:^(xwaylandvideobridge)$ +windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$ +windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$ +windowrulev2 = noblur, class:^(xwaylandvideobridge)$ ``` diff --git a/pages/Useful Utilities/Status-Bars.md b/pages/Useful Utilities/Status-Bars.md index fa94904..df2bf6d 100644 --- a/pages/Useful Utilities/Status-Bars.md +++ b/pages/Useful Utilities/Status-Bars.md @@ -9,32 +9,37 @@ 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 package. -If you want to use the workspaces module, first, copy the configuration files -from `/etc/xdg/waybar/` into `~/.config/waybar/`. Then, in -`~/.config/waybar/config` replace all the references to `sway/workspaces` with -`hyprland/workspaces`. +To start configuring, copy the configuration files from +`/etc/xdg/waybar/` into `~/.config/waybar/`. Then, in `~/.config/waybar/config` + +To use the workspaces module, replace all the occurrences of `sway/workspaces` +with `hyprland/workspaces`. For more info regarding configuration, see [The Waybar Wiki](https://github.com/Alexays/Waybar/wiki/Module:-Hyprland). ### How to launch -After getting everything set up, you might want to check if Waybar is configured -to your liking. To launch it, simply type `waybar` into your terminal. If you -would like Waybar to launch alongside Hyprland, you can do this by adding a line -to your Hyprland configuration that reads `exec-once=waybar`. +Type `waybar` into your terminal. In order to have Waybar launch alongside +Hyprland, add this line to your Hyprland configuration: -### Waybar popups render behind the windows +```ini +exec-once = waybar +``` + +### Waybar FAQ + +#### Waybar popups render behind the windows In `~/.config/waybar/config`, make sure that you have the `layer` configuration set to `top` and not `bottom`. -### 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 @@ -67,27 +72,26 @@ If you are using multiple monitors, you may want to insert the following option: ## Eww -[Eww](https://github.com/elkowar/eww) (ElKowar's Wacky Widgets) is a widget system made in Rust, which lets you -create your own widgets similarly to how you can in AwesomeWM. The key difference -is that it is independent of your window manager/compositor. +[Eww](https://github.com/elkowar/eww) (ElKowar's Wacky Widgets) is a widget +system made in Rust + GTK, which lets allows the creation of custom widgets +similarly to AwesomeWM. The key difference is that it is independent of window +manager/compositor. -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 can follow the +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). ### 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). It's -also highly recommended to read through the +There are a few examples listed in the [Readme](https://github.com/elkowar/eww). +It's also highly recommended to read through the [Configuration options](https://elkowar.github.io/eww/configuration.html). {{< callout >}} Read [the Wayland section](https://elkowar.github.io/eww/configuration.html#wayland) -carefully before asking why your bar doesn't work. +carefully, otherwise Eww won't work on Hyprland. {{< /callout >}} @@ -222,23 +226,26 @@ socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket Like Waybar, [Hybrid](https://github.com/vars1ty/HybridBar) is a GTK status bar mainly focused on wlroots compositors. -You can install it by installing `hybrid-bar` from the AUR. +It can be installed using the `hybrid-bar` package from the AUR. ### Configuration -The configuration is done through JSON, more information is available +The configuration is done through JSON. More information is available [here](https://github.com/vars1ty/HybridBar). ### How to launch -After configuring HybridBar, you can launch it by typing `hybrid-bar` into your -terminal to try it out. It is also possible to set it to launch at start, to do -this you can add a line to your Hyprland configuration that reads -`exec-once=hybrid-bar` +After configuring HybridBar, it can be launched by typing `hybrid-bar` into a +terminal. It is also possible to set it to launch at startup. To do this, add +this line to `hyprland.conf`: + +```ini +exec-once = hybrid-bar +``` #### Blur -To activate blur, set `blurls=NAMESPACE` in your Hyprland configuration, where +To activate blur, set `blurls = NAMESPACE` in your Hyprland configuration, where `NAMESPACE` is the gtk-layer-shell namespace of your HybridBar. The default namespace is `gtk-layer-shell` and can be changed in the HybridBar configuration at diff --git a/pages/Useful Utilities/Wallpapers.md b/pages/Useful Utilities/Wallpapers.md index 9c9e8e0..929d2ba 100644 --- a/pages/Useful Utilities/Wallpapers.md +++ b/pages/Useful Utilities/Wallpapers.md @@ -3,18 +3,16 @@ weight: 3 title: Wallpapers --- -Launch your wallpaper utility with `exec-once=`. +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). +Development team. See its usage and config [here](../../Hypr-Ecosystem/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 +Great utility if all you want is one simple static wallpaper. Get it [here](https://github.com/swaywm/swaybg). ## wpaperd @@ -36,5 +34,5 @@ means you can change wallpapers without even needing to restart. ## waypaper GUI wallpaper manager that allows to visually choose the static or animated -wallpapers, and supports `swaybg` and `swww` as backends on wayland. +wallpapers, and supports `swaybg` and `swww` as backends on Wayland. [GitHub](https://github.com/anufrievroman/waypaper)