Skip to content

Sticking with Hyprland adventure

A little less cycling this week so I can rest the muscles in my legs (which have noticably grown). I will focus more on weights, walking and most importantly streatching, i.e. yoga.

I continue to use Garuda Linux Hyprland variant as my daily operating system. Hyprland has always felt a very natural to use, especially coming from i3 with Regolith Desktop.

Garuda Linuxλ︎

I am becoming more comfortable and trusting of Garuda Linux, expecially as it is running on the computer hardware I use the most.

OS Snapshotsλ︎

By default Garuda Linux formats the disc partition for the operating system using Btrfs, a modern copy on write (COW) file system for Linux providing advanced fault tolerance, file system repair and administration.

Using BtrFS allows Garuda Linux to take regular snapshots of the OS before important changes are made, e.g. when adding, removing or updating Arch Linux packages.

Snapshots are managed by the Garuda Linux BTFS Assistant, which shows the history of snapshots taken.

Garuda Linux Btrfs assistant

This tool is also useful when you see a notification about older snapshots.

Garuda Linux Notification - Btrfs old snapshots found

Garuda Linux also provides a boot option to restore operating system snapshots, means that even when the I cant login to Hyprland or Arch packages break I can restore to a previously working snapshot right from the boot menu. It is important to remember to delete older snapshots when not required, especially when running low on file space.

There is still a lot to learn and as much to try out, although there feels like very few obstacles remaining (famous last words).

There are minor aspects such as taking a screen grab which feel a bit basic (compared to flameshot on Debian Linux).

Video playerλ︎

VLC media player is excellent for playing many different video and audio formats (codecs and containers).

I have use VLC on Debian Linux and Android for many years and haven't found any formats it could not playback well.

On Garuda (Arch) Linux I have had several playback issues. The VLC Arch package is a 'split' package and only include a sub-set of codecs

The VLC-git AUR package is a monolithic version of the VLC package from the latest commit, including all codecs and plugins. Unfortunately this version of VLC seems less reliable, especially playing files from a Network Attached Storage (NAS) device. VLC-git does not show on-screen display in Garuda Linux Hyprland (not sure if VLC does either).

Arch Linux Wiki: Codecs and containers

Music tagsλ︎

Puddletag is a useful desktop tool for adding and modifying tags on digital music.

I use it to:

  • add year and genre to music
  • add meta data tags for music song titles, track number, album and artist, usually from the file names.

A pattern can be used to derive meta data from the file name of each song to update that files tag.

I added a custom pattern in Edit > Preferences > Patterns that expresses a common pattern for all my music files.

Custom file name pattern used with Puddletag

%track% %title% - %album% - %artist%

In the Puddletag Patterns list, I changed the sort order so this custom pattern is at the top and therefore automatically used.

NOTE: On Debian Linux I use Ex Falso which is a very nice music tag editor and I find simple to use

Challenges tagging WebM containers

Although the WebM container is a derivative of the well established Matraskov container, ExFalso and other tag tools do not seem to work with this format.

Material for MkDocsλ︎

Material for MkDocs is an important environment to establish within Arch Linux if I am to continue using Garuda Linux.

The Practicalli books and websites all include the following information, tested out on a Debian Linux operating system

Local developmentλ︎

Install mkdocs version 9 using the Python pip package manager

pip install mkdocs-material=="9.5"

Install the plugins used by the Practicalli site using Pip (these are also installed in the GitHub Action workflow)

pip3 install mkdocs-material mkdocs-callouts mkdocs-glightbox mkdocs-git-revision-date-localized-plugin mkdocs-redirects pillow cairosvg

pillow and cairosvg python packages are required for Social Cards

Fork the GitHub repository and clone that fork to your computer,

git clone https://github.com/<your-github-account>/<repository>.git

Run a local server from the root of the cloned project

make docs

The website will open at http://localhost:8000

If making smaller changes, then only rebuild the content that changes, speeding up the local development process

make docs-changed

NOTE: navigation changes may not be correctly reflected without reloading the page in the web browser or carrying out a full make docs build

Floating windowsλ︎

Thunar file manager has popup windows that should be set to float

Show details of currently open windows

❯ hyprctl clients                                                                                                                                                                 in 15s557ms   23:28  practicalli🦅 
Window 564db29980c0 -> *[garuda-linux-snapshots-old-notification] (exported)-1.0 (RGB colour 8-bit non-linear integer, GIMP built-in sRGB, 1 layer) 358x88 – GIMP:
    mapped: 1
    hidden: 0
    at: 2874,2172
    size: 1844,1013
    workspace: 7 (7)
    floating: 0
    pseudo: 0
    monitor: 0
    class: gimp
    title: *[garuda-linux-snapshots-old-notification] (exported)-1.0 (RGB colour 8-bit non-linear integer, GIMP built-in sRGB, 1 layer) 358x88 – GIMP
    initialClass: gimp
    initialTitle: GNU Image Manipulation Program
    pid: 7887
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 9
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db2885330 -> Gatchaman, Battle of the Planets, G-Force, Eagle Riders : Free Download, Borrow, and Streaming : Internet Archive — Mozilla Firefox:
    mapped: 1
    hidden: 0
    at: 12,12
    size: 5096,2093
    workspace: 3 (3)
    floating: 0
    pseudo: 0
    monitor: 1
    class: firefox
    title: Gatchaman, Battle of the Planets, G-Force, Eagle Riders : Free Download, Borrow, and Streaming : Internet Archive — Mozilla Firefox
    initialClass: firefox
    initialTitle: Mozilla Firefox
    pid: 2226
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 8
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db2974890 -> Movies - Thunar:
    mapped: 1
    hidden: 0
    at: 2874,2172
    size: 1844,1013
    workspace: 4 (4)
    floating: 0
    pseudo: 0
    monitor: 0
    class: thunar
    title: Movies - Thunar
    initialClass: thunar
    initialTitle: practicalli - Thunar
    pid: 7568
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 7
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db2866080 -> MkDocs - Practicalli Engineering Playbook — Mozilla Firefox:
    mapped: 1
    hidden: 0
    at: 12,12
    size: 2797,2093
    workspace: 2 (2)
    floating: 0
    pseudo: 0
    monitor: 1
    class: firefox
    title: MkDocs - Practicalli Engineering Playbook — Mozilla Firefox
    initialClass: firefox
    initialTitle: Mozilla Firefox
    pid: 2226
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 5
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db2740da0 -> Makefile (~/projects/practicalli/journal) - Nvim:
    mapped: 1
    hidden: 0
    at: 2823,12
    size: 2285,1040
    workspace: 2 (2)
    floating: 0
    pseudo: 0
    monitor: 1
    class: kitty
    title: Makefile (~/projects/practicalli/journal) - Nvim
    initialClass: kitty
    initialTitle: kitty
    pid: 2046
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 6
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db2941fa0 -> Chaturbate - Free Adult Webcams, Live Sex, Free Sex Chat, Exhibitionist & Pornstar Free Cams - Chromium:
    mapped: 1
    hidden: 0
    at: 2823,12
    size: 2285,687
    workspace: 9 (9)
    floating: 0
    pseudo: 0
    monitor: 1
    class: Chromium
    title: Chaturbate - Free Adult Webcams, Live Sex, Free Sex Chat, Exhibitionist & Pornstar Free Cams - Chromium
    initialClass: Chromium
    initialTitle: New tab - Chromium
    pid: 541201
    xwayland: 1
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 2
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db256f320 -> Series - Thunar:
    mapped: 1
    hidden: 0
    at: 2823,713
    size: 2285,691
    workspace: 9 (9)
    floating: 0
    pseudo: 0
    monitor: 1
    class: thunar
    title: Series - Thunar
    initialClass: thunar
    initialTitle: practicalli - Thunar
    pid: 7568
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 3
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db2938450 -> hyprctl clients ~:
    mapped: 1
    hidden: 0
    at: 2823,1418
    size: 2285,687
    workspace: 9 (9)
    floating: 0
    pseudo: 0
    monitor: 1
    class: kitty
    title: hyprctl clients ~
    initialClass: kitty
    initialTitle: kitty
    pid: 142227
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 0
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db28840c0 -> Float the thunar rename file dialogue : r/hyprland — Mozilla Firefox:
    mapped: 1
    hidden: 0
    at: 2823,1066
    size: 2285,1039
    workspace: 2 (2)
    floating: 0
    pseudo: 0
    monitor: 1
    class: firefox
    title: Float the thunar rename file dialogue : r/hyprland — Mozilla Firefox
    initialClass: firefox
    initialTitle: Mozilla Firefox
    pid: 2226
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 4
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Window 564db2a53990 -> File Operation Progress:
    mapped: 1
    hidden: 0
    at: 12,12
    size: 2797,2093
    workspace: 9 (9)
    floating: 0
    pseudo: 0
    monitor: 1
    class: thunar
    title: File Operation Progress
    initialClass: thunar
    initialTitle: File Operation Progress
    pid: 7568
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenClient: 0
    grouped: 0
    tags:
    swallowing: 0
    focusHistoryID: 1
    inhibitingIdle: 0
    xdgTag:
    xdgDescription:

Set float for rename and file transfer progress

TODO: try this

windowrule = float, initialClass: thunar, title: Rename: .*
windowrule = float, initialClass: thunar, title: File Operation Progress: .*

If that doesnt work, try this

windowrule = float, title:(Rename.*)$
windowrule = float, title:(File Operation Progress.*)$

Windowrule version 2 seems to work although I dont like the position (center of current display)

windowrule = float,class:^(thunar)$,title:(Rename.*)$
windowrule = float,class:^(thunar)$,title:(File Operation Progress.*)$

G-Hyprlandλ︎

G-Hyprland is an optional tool in Garuda Linux, used to customise the hyprland configuration (monitors, tiling windows, etc) and select waybar themes.

Install...

++Super+"s"+ starts the G-Hyprland tool and shows a menu.

TODO: insert menu

++Super+"w"+ reloads the configuration and updates the hyprland desktop.

I added a monitor > practicalli.config setup for the Lenovo AMD laptop & Dell 5k2k monitor.

Waybarλ︎

I prefer the default waybar theme as it includes the number on each desktop.

There are some items on the default theme that I do not use, so ideally I will customise it and create a themes > practicalli.config variant.

Wallpapersλ︎

Garuda Linux uses wpaperd, which dynamically changes wallpaper

The Wallpaper Archive for Linux window managers and desktops has an excellent collection of backgrounds for the desktop, including animated images.

After cloning the repository I browsed the dynamic wallpapers to see which I liked, using the thunar file browser and pressing enter on each file. The file launches in mpv Movie Player as that was the last application used to view video.

.config/wpaperd/config.toml has a weird location as the default directory, $HOME/custom-wallpaper. I updated the directory location inside the ~/Pictures/ directory.

[default]
path = "~/Pictures/wallpaper/hyprland/
transition-time = 600
duration = '10 m'

I believe the operating system needs to be rebooted or at least logout of the desktop session.

Hyprland contest winners


Thank you.

🌐 Practical.li Website

Practical.li GitHub Org practicalli-johnny profile

@practicalli@clj.social @practical_li