Kamis, 21 November 2024

Black Friday Deals for Linux Users — 2024 Edition

Black Friday Deals for Linux Users — 2024 Edition

Thanksgiving is around the corner. Happy Thanksgiving to folks in the USA.

It is also the time for Black Friday and Cyber Monday deals.

While there are discount campaigns offered on a range of products, I am listing some that should be of interest for a Linux user and tech enthusiast.

Take a look and see if something interests you.

Do keep in mind that these deals are for a limited time only, and they have been duly mentioned.

Most, if not all, services have a money-back policy. It helps in getting your money back if you don't like the product or service. Please get those details before you decide to buy.

πŸ“‹
Some of the links here are affiliate links, which means we may get a commission when you purchase at no additional cost to you. Please read our affiliate policy.

Of course, buy what you need or what you want (if it's affordable). Don't burn your pocket. Furthermore, read the terms and conditions of the deals. Make an intelligent buying decision.

Cloud Storage Deals

Black Friday deals are the best time to extend your cloud storage. You will find some insane lifetime deals, some long-term, and some subscriptions. For some services, you can stack up the deals to increase the storage.

Ente's Last Black Friday Sale

Black Friday Deals for Linux Users — 2024 Edition

Ente is a one-of-a-kind open source Google Photos alternative.

Considering privacy is a luxury in itself, they have their pricing plans aimed towards sustainability and quality. If you have always wanted to give them a try, but could not because of the expensive plans, this is their last Black Friday sale with up to 65% off.

πŸ’Έ Offer: Up to 65% off
πŸ• Ends December 2, 2024

Filen — Cloud Storage

Black Friday Deals for Linux Users — 2024 Edition

A fairly new cloud storage service offering zero-knowledge encryption for free and open source apps has Black Friday deals going on with nice discounts like:

  • 1 monthly 200 GB for €0,99
  • 1 lifetime 200 GB for €35,99

And, many more discounts for all its lifetime, monthly, and annual deals.

πŸ’Έ Offer: Up to 50% off
πŸ• Ends Soon (as per its availability)

pCloud — Cloud Storage

Black Friday Deals for Linux Users — 2024 Edition

pCloud is an established name in the cloud storage space, popular for its one-of-a-kind lifetime deals.

With this Black Friday/Cyber Monday sale, it also lists a couple of super value deals like:

πŸ’Έ Offer: Up to 63% off
πŸ• Ends Soon!

Ice Drive — Cloud Storage

Ice Drive is a decent cloud storage provider, popular for its lifetime discounted deals. And, they are back with such Black Friday deals this year. All the deals include client-side encryption:

  • 512 GB of storage for a one-time fee of $179
  • 2 TB of storage for a one-time fee of $349
  • 10 TB of storage for a one-time fee of $899

Internxt — Cloud Storage

Black Friday Deals for Linux Users — 2024 Edition

Web3 based decentralized, encrypted, and open source cloud storage service for privacy enthusiasts.

While I am not a fan of these "85% off" marketing campaigns, I can see that there is a decent discount that gives me the product or service at a relatively lower price.

You can find subscription deals, and lifetime deals with the same discount.

πŸ’Έ Offer: 85% off
πŸ• Ends December 5, 2024

Courses & Certifications

Black Friday and Cyber Monday deals give you the best opportunity to get certification exam vouchers and courses for an affordable price.

Some of the best deals include:

DataCamp — Data Science Learning Platform

Black Friday Deals for Linux Users — 2024 Edition

Learn the data skills you need online at your pace—from non-coding essentials to data science, AI, and machine learning.

πŸ’Έ Offer: 50% off
πŸ• Ends NOV 29, 2023

KodeKloud — Linux and DevOps Courses

Black Friday Deals for Linux Users — 2024 Edition

An online platform to learn all the cutting-edge DevOps technologies like Docker, Kubernetes and Hashicorp. There are playgrounds for you to do hands-on, learning paths and preparations for certification exams.

πŸ’Έ Offer: 50% off
πŸ• Ends: November 24, 2024

VPN & Privacy Tools

To enhance your privacy, you require some of the best services that do not log your data.

And, most of those services, offer up to 80% discounts in various degrees. Refer to the best ones here:

SimpleLogin + Proton Pass Lifetime Deal

Black Friday Deals for Linux Users — 2024 Edition

SimpleLogin is a part of Proton for a while. So, this is a part of Proton's Black Friday deals where you get the Proton password manager for 1 user with all premium features, and SimpleLogin's unlimited alias service for a one-time fee, i.e., $199.

πŸ•Ends: December 3, 2024

Proton Mail, VPN, and Drive

Black Friday Deals for Linux Users — 2024 Edition

Swiss-based Proton is known for privacy-focused services. You get discounts across all of its products, including the private email service, encrypted cloud storage and VPN.

Their Black Friday offer is giving up to 70% off.

πŸ’Έ Offer: 60% Off on Proton Mail and Proton Drive70% off on ProtonVPN
πŸ• Ends: December 3, 2024

Surfshark VPN

Black Friday Deals for Linux Users — 2024 Edition

Surfshark offers several privacy-focused product, but they are primarily known for their VPN.

Along with discounts for the VPN, you can also get an attractive offer for Surfshark One privacy bundle. It includes Antivirus, and data breach alerts along with the VPN.

πŸ’Έ Offer: Up to 86% off plus 4 months free
πŸ• Ends: December 1, 2024

NordVPN

Black Friday Deals for Linux Users — 2024 Edition

NordVPN is one of the most competitive offerings in terms of affordability, privacy, and security. This year, they are providing even greater discounts.

πŸ’Έ Offer: 75% off plus 3 months free
πŸ• Ends: Soon!

StartMail — Private Email

Black Friday Deals for Linux Users — 2024 Edition

A private email service which is an alternative to Gmail and Proton Mail, both. It offers an encrypted email service along with a built-in tool to protect your email address.

With the package, you get unlimited email aliases, and the ability to add custom domains.

πŸ’Έ Offer: 50% Off + 3 Months FREE for the first year
πŸ• Ends: November 30, 2024

Standard Notes — Encrypted Note-Taking

Black Friday Deals for Linux Users — 2024 Edition

There are a couple of good options when it comes to end-to-end encrypted note-taking solutions, and Standard Notes takes the top spot with its convenience and security.

πŸ’Έ Offer: 50% off
πŸ• Ends: December 3, 2024

NordPass

Black Friday Deals for Linux Users — 2024 Edition

If you are looking for a different password manager experience, and like all the products from NordVPN, this could be a suitable option.

You get up to 54% discount for 2-year plans for business, personal, and family subscriptions.

πŸ’Έ Offer: Up to 54% off
πŸ• Ends: Soon!
Secure your files in a private cloud
Protect yourself with cutting-edge encryption. Store your files in a private file vault.
Black Friday Deals for Linux Users — 2024 Edition

Partner Link

Gadgets or Computers

Unfortunately, the Black Friday deals on hardware are limited to certain countries/region. In this case, it should be US/Canada in most cases.

However, if something offers international shipping, and the discount sounds like a good deal even with the custom charges, go for it after proper research.

System76 — Linux Computers

System76 is a US-based Linux system manufacturers. They are also behind the popular Pop!_OS distribution.

πŸ’Έ Offer: $100 off or 20% off on most products
πŸ• Ends: November 25, 2024
Specials
Save on System76 products with these limited time current offers. System76 computers empower the world\’s curious and capable makers of tomorrow.
Black Friday Deals for Linux Users — 2024 Edition

Khadas — Single Board Computers

A Raspberry Pi like SBCs and many more devices for tinkerers.

πŸ’Έ Offer: Different discounts on various products
πŸ• Ends: November 27, 2024

Others

If you are seeking deals on interesting products and tools geared towards a particular use-case, such as cybersecurity, or productivity. I have listed some here.

ANY.RUN Black Friday Deal — Online Malware Sandbox

If you are into Cybersecurity, and want to explore malware hunting, you can grab your Black Friday deal from ANY.RUN πŸš€

For individual users: you get 2 licenses for the price of 1.

For teams: Up to 3 licenses + TI Lookup basic plan for a year as a gift. Learn more about offers and get yours at πŸ‘‡

Subscription Plans - ANY.RUN
Interactive malware hunting service. Live testing of most type of threats in any environments. No installation and no waiting necessary.

Coming Soon!

Here are some of the products and services that are likely to offer their Black Friday offer soon:

I'll be updating this page with more such money-saving offers as I come across them.

If you know some appealing deals that should interest Linux users, please let me know in the comments and I'll add them here.



from It's FOSS https://ift.tt/bkoXyIL
via IFTTT

If nothing else, get a lifetime cloud storage this Black Friday!

If nothing else, get a lifetime cloud storage this Black Friday!

With so much data on our devices, cloud storage services make it convenient to store data.

However, the convenience comes at a price. The subscription plans may be affordable to some extent, you will have to pay for it indefinitely.

Furthermore, even if you have a cloud storage subscription, it is always safe to have another redundant backup service to store your photos and files.

To reduce expenses for additional backup options or eliminate subscriptions, you can get a lifetime cloud storage plan, which is often available during the Black Friday sales.

And, that time is now! πŸ€‘

πŸ“‹
Lifetime cloud storage deals go easy on your pocket. But, the risk of a cloud storage service not existing in 5 years is also a possibility. While that has not happened with the options, you should keep that in mind for your future (and always save up to migrate if needed).

pCloud Cloud Storage Lifetime Deals + Bundles

The Swiss-based cloud storage provider, pCloud is always one of the most sought options when it comes to lifetime cloud storage deals.

Being a privacy-focused option along with client-side encryption feature (in some plans) makes it a good-value candidate.

If nothing else, get a lifetime cloud storage this Black Friday!

Some insane deals include:

5 TB storage + File Encryption + Pass Premium (Lifetime) — $599
1 TB Lifetime — $199, 2 TB Lifetime — $279, 10 TB Lifetime — $799.
⭐ 5 TB storage + Pass Premium (Lifetime)— $499

The bundle deal is a no-brainer choice, as you get storage, encryption, and an extra pCloud password manager premium service in a single bundle.

Filen.io Super Cheap Subscription + Lifetime

If nothing else, get a lifetime cloud storage this Black Friday!

A fairly new cloud storage service offering zero-knowledge encryption for free and open source apps has Black Friday deals going on with nice discounts like:

⭐1 monthly 200 GB for €0,99
⭐1 lifetime 200 GB for €35,99

And, many more discounts for all its lifetime, monthly, and annual deals.

Ice Drive Lifetime Deals

If nothing else, get a lifetime cloud storage this Black Friday!

Ice Drive is a decent cloud storage provider, popular for its lifetime discounted deals. And, they are back with such Black Friday deals this year. All the deals include client-side encryption:

512 GB of storage for a one-time fee of $179
2 TB of storage for a one-time fee of $349
10 TB of storage for a one-time fee of $899

Internxt Lifetime Deals

If nothing else, get a lifetime cloud storage this Black Friday!

A decentralized, encrypted, and open source cloud storage service for privacy enthusiasts.

While I am not a fan of these "85% off" marketing campaigns, I can see that there is a decent discount that gives me the product or service at a relatively lower price. It should be good enough as a second or third backup option to dump your data.

You can find subscription deals, and lifetime deals with the same discount.

I am sure there are plenty more deals out there. However, the deals that we have mentioned here are mostly unbeatable in terms of their value or privacy proposition.

Every deal saves you a good chunk of money if you would have indefinitely subscribed to cloud storage services. So, take your pick!



from It's FOSS https://ift.tt/9nH1Rsj
via IFTTT

Customizing Hyprland to Your Liking

Customizing Hyprland to Your Liking

So, you have installed Hyprland and now want to enjoy it the neat tiling window experience along with the eye candy effects?

Hyprland is highly customizable and the project gives you a very comprehensive user manual.

I understand that you may not want to go through all that, specially in the beginning, and hence I am sharing some basic Hyprland configuration to act as a beginner's guide.

πŸ“‹
This article assumes that you have installed the vanilla Hyprland. Those who installed Hyprland using some others dot files may not require all the steps mentioned in this article.

1. Remove the autogenerated configuration warning

The first thing you notice when you log into a newly installed Hyprland system is a warning stating "You are using the autogenerated configuration file".

Customizing Hyprland to Your Liking
Autogenerated Config Warning

To remove it, open the Hyprland configuration file.

nano ~/.config/hypr/hyprland.config

Now, remove the line:

autogenerated = 1

It appears at the very beginning of the file. Once removed, save the file to see the effect immediately.

πŸ’‘
The configuration file of Hyprland is located at /home/$USER/.config/hypr/hyprland.config.

2. Use Hyprpaper for wallpapers

If you installed Hyprland using the archinstall script, chances are there that you have no wallpaper.

At first, I thought my installation was a failure because when logged in, there was this autogenerated config warning and a pitch-black screen.

In Hyprland, you can use the Hyprpaper utility to set wallpapers. It lets you set wallpaper to multiple screens, along with other cool features.

Install Hyprpaper in Arch Linux using the command:

sudo pacman -Syu hyprpaper

Once installed, look for the configuration file at ~/.config/hypr/hyprpaper.conf. If it is not there, create it and open it.

nano ~/.config/hypr/hyprpaper.conf

Open a new terminal and run the command:

hyprctl monitors
Customizing Hyprland to Your Liking
Monitor Name
πŸ“‹
From here on, when I say list monitors, it implies hyprctl monitors.

Since I am using Hyprland inside GNOME Boxes, my monitor name will be Virtual-1.

Inside the Hyprpaper config, preload the wallpaper and apply the wallpaper:

preload = <Path to the wallpaper>

# wallpaper = <Monitor-name>, <path to wallpaper>
wallpaper = Virtual-1, /home/team/Pictures/wallpaper.png
Customizing Hyprland to Your Liking
Simple Hyprpaper Config
πŸ“‹
All wallpapers you want to set, need to be preloaded. At the same time, limit the number of images to a bare minimum to avoid memory usage.

Once the configuration is done, save the file and exit. Now, open the Hyprland config and enter the line:

exec-once hyprpaper
Customizing Hyprland to Your Liking
Autostart Apps in Hyprland
πŸ“‹
The exec-once keyword is used to define apps, that should be started when Hyprland is started. You can autostart multiple apps with one exec-once command by using the & operator.

You need to relogin to Hyprland to see the effect.

πŸ’‘
Use the shortcut Super+M to quit the Hyprland session to the login screen.

3. Configure monitors

This is more suitable for dual or multi-monitor setup.

First list the monitors and get the name of the monitors you have connected. Once you have the names, open the Hyprland config and add the line in MONITORS section:

# monitor=<monitor_name>,<resolution>@fps,<position>,<scaling>

monitor=Virtual-1,1920x1080@60,0x0,1.5
Customizing Hyprland to Your Liking
Set Monitor

In this config, the <position> is the place where your current monitor appear in a multi-monitor setup. This means that if you have a monitor with resolution 3860×2160 and another 1920×1080, then the position of the second monitor can be 3860×0 to make it right of the first.

monitor=monitor2-name,1920x1080@60,3860x0,1
πŸ’‘
Position value accepts negative value as well, like -1080. This is useful to place one monitor above another.

The value depends on scaling. So, instead of going blindly, you may need to apply some logic about your monitor scaling, orientation, and positioning.

4. Add a panel

Panel is an essential part in any window/desktops. All the essential utilities like taskbar, system tray, workspace indicators, etc. are placed here.

You can use panel/bar applications like Waybar with Hyprland.

Customizing Hyprland to Your Liking
Waybar Panel (Click to enlarge image)
🚧
Hyprland is purely Wayland. So consider using a Wayland panel application.

We have a detailed guide on installing and configuring Waybar. Refer to it for more information.

Install and Configure Waybar in Hyprland
Take your Hyprland experience to the next level with Waybar.
Customizing Hyprland to Your Liking

5. Set a notification daemon

Popular desktop environments like GNOME, KDE Plasma, etc. take care of this part automatically. In Hyprland, you need to configure it manually and you SHOULD do it.

Without a notification daemon, you will miss a vital part of modern desktop computing experience.

For me, dunst, a highly customizable notification daemon was installed automatically, and I decided to stick with that. You can install the same using:

sudo pacman -Syu dunst

Once dunst is installed, verify by sending a test notification:

notify-send "Hello World!"
Customizing Hyprland to Your Liking
Dunst Test Notification

Yes, it is working. If not, try autostarting it in the Hyprland config:

exec-once dunst

And relogin to the system.

6. Clipboard manager

Clipboard managers are a must for any system. I suggest using CopyQ, a simple and powerful clipboard utility.

There isn't much to do. Install Copyq using:

sudo pacman -Syu copyq
Customizing Hyprland to Your Liking
Copyq clipboard manager

Autostart it in the Hyprland config:

exec-once copyq --start-server

Now, go to the Copyq File → Preferences and select the Hide Main Window option in Layout tab.

Customizing Hyprland to Your Liking
Hide Main Window

7. Set Hyprshot, the screenshot utility

Who don't want to share their Hyprland setup to the community? To take a screenshot, you need a tool. Hyprshot is the one for you.

🚧
In order for the Hyprshot to work properly, you should have the notification daemon configured. Daemon configuration is mentioned earlier.

To install Hyprshot, ensure you have all the dependencies installed. In Arch Linux, run:

sudo pacman -Syu jq grim slurp wl-clipboard libnotify

Now, install the Hyprshot from AUR. You can use AUR helpers like Yay here.

yay -S hyprshot

Or follow the traditional AUR installation methods.

If you are in other distributions, go over to Hyprshot GitHub page and download the script from releases. Place it in any directory that is in your PATH.

Now, scroll down to the KEYBINDINGS section in the Hyprland config file and add the line to the end of the section.

# Screenshot a window
bind = , PRINT, exec, hyprshot -m region
Customizing Hyprland to Your Liking
Hyprshot Keybindings
πŸ’‘
You might have noted a comma at the beginning. This means no modifier key like SUPER is used. Just press the PrtScr key. If you need to use SUPER_PrtScr, place SUPER before the comma. bind = SUPER, PRINT, exec, hyprshot -m region.

This will bind the PrtScr key to take a screenshot of a region that you select.

Customizing Hyprland to Your Liking
Region Screenshot

The file, by default, will be saved to the ~/Pictures folder.

Customizing Hyprland to Your Liking
Screenshot Saved Notification

Instead of hyprshot -m region, you can use hyprshot -m region --clipboard-only to copy the image to clipboard instead of saving it.

We will see about keybinding settings in another section.

8. Animations in Hyprland

Setting cool animations for window opening, workspace switching is another way to make your Hyprland setup look cool.

To set animations, you need to get Bezier curve values. You can visit the site below to design your curve or select a preset one.

Use the red dot to adjust the curve and see the transition using the button as shown in the screenshot below.

Customizing Hyprland to Your Liking
Copy the transition value

Once set, you will get 4 sets of values in the form 0.19, 1, 0.52, 0.35. Note this value.

Now, in Hyprland config, go to the LOOK AND FEEL section, scroll down to the animation part.

Here, set the bezier transition value like:

# bezier = Name_for_your_bezier, value_you_copied
bezier = customBezier, 0.19, 1, 0.52, 0.35
Customizing Hyprland to Your Liking
Custom Animation

Now that you have defined the animation transition, set it to the section you needed, like window opening (windows), closing (windowsOut), etc. Here, I have set this animation to workspace switching:

# animation = windows, ON/OFF, Speed, Bezier_name
animation = workspaces, 1, 6, customBezier

Please refer to the animation wiki for detailed settings.

9. Variables in Hyprland

Hyprland uses variables for controlling several aspects of the system.

Here, I will show you a couple of variable settings so that you can use other variables pretty easily.

First, visit the Hyprland Variables Wiki page.

There, you can find columns of variable names and their expected types, like Boolean, Integer, etc. It is divided into various categories and sub-categories. To define a variable, you have to open a category in curly braces.

Let's say, I want to set an option to resize the window by dragging from the border in tiled mode. So, I have an option called resize_on_border that comes under general section. To define it,

general {
    resize_on_border = true
}

That's it.

🚧
Most of the categories (eg. general) are already used in the default Hyprland config. So, instead of blindly defining a category like general, first check if that category is already present. If present, define the variable inside that category section only.

If any section has a subcategory, use it like nested. For example, the general category has a subcategory called snap, we will define it using:

general {
    general section variable definition.
    
    snap {
        subsection variable definition.
    }
}

Resize floating window

There can be some floating window in tile mode like app preferences, file choosers, etc. You can enable corner resize these floating window using the resize_corner variable in general section.

general {
    resize_corner = 3
}

Here, the value 3 implies drag and resize from bottom-right corner.

Value Corner to Drag
1 Top-left
2 Top-right
3 Bottom-right
4 Bottom-left
0 Disable resize corner

Customizing the decorations

The decorations section is where options for opacity, blur, etc. are present. Therefore, if you check the default Hyprland config, you can see some values are preset in these sections. Here are some of my thoughts.

  • You can change the active_opacity to values like 0.8 to make active windows a bit transparent. Don't forget to change inactive_opacity as well.
  • Blur can be make more cool by increasing the passes count, but this will have strain on the GPU.
  • It is recommended to turn on new_optimizations to improve performance.

Workspace and touchpad

Hyprland supports swipe to change workspace gesture. This is disabled by default. So, you need to set it true.

gestures {
    workspace_swipe = true
    workspace_swipe_fingers = 3
    
}

Set custom variables

Like any other programming language, Hyprland also supports assigning values to random custom variables created by you.

For example, if you want to set the value of a variable myLauncher to point to a command to open Wofi launcher, use the format:

$myLauncher = wofi --show drun

Now, you can use this variable name instead of the whole command every time it is needed. This is especially useful if you want to define default apps to some categories.

It is shown clearly in the default config of Hyprland, where variable terminal is assigned to Kitty terminal and filemanager is assigned to Dolphin file manager.

Similarly, you can define:

$myPersonalBrowser = firefox
$myKeyboardBrowser = nyxt

10. Environment variables in Hyprland

Several settings for Hyprland depends on environment variables, like cursor themes, QT and Wayland-specific configurations, etc.

To define an environment variable, you need to use the env keyword. Usual format is:

env = ENVIRONMENT_VARIABLE_NAME, VALUE

For example, in order to work some QT applications in Wayland and fallback to x11 if not available, we use the QT_QPA_PLATFORM environment variable.

env = QT_QPA_PLATFORM,wayland;xcb
🚧
Never put double quotes around the value.

11. Set Hyprcursor

Hyprcursor is a space-efficient cursor set available for Hyprland. Here, we will see how to set rose-pine-hyprcursor theme in Hyprland. First, install it from AUR.

yay -S rose-pine-hyprcursor

Once installed, open the Hyprland config and set the HYPRCURSOR_THEME environment variable.

env = HYPRCURSOR_THEME,rose-pine-hyprcursor

Similarly, you can check the cursor for the current session only using the hyprctl command:

hyprctl setcursor rose-pine-hyprcursor 24
πŸ“‹
Here, 24 is the cursor size.

12. Set keyboard shortcuts

How can we use a tiling window compositor without having custom screenshots?

Hyprland has a super easy method to set custom keybindings. Let's take a look.

In the default configuration, you can find a dedicated KEYBINDINGS section. For beginners, it is recommended to define keybindings under this section.

To define a keybinding, we use the keyword bind with the following syntax:

bind = MODIFIER_KEY,REQUIRED_KEY,DISPATCHERS, PARAMETERS

For example, let's say we want to open Nautilus file manager using the command SUPER+O.

So, we will use the format:

bind = SUPER,O,exec,nautilus

Now, here the dispatcher used is exec, used to run a shell command. You can see more dispatchers supported by Hyprland in the detailed Wiki.

You can set the SUPER key to a variable, if you want to make the code clean:

$mainMod = SUPER

Bonus: Autostart Apps

Sometimes, it is necessary to autostart some apps. We have seen setting apps autostart in some earlier part of this article.

Hyprland uses exec-once command to autostart the app at login time. So, if you want an app to autostart, use:

# exec-once NAME_OF_APP

Here is how we start Hyprpaper and Waybar at the login time:

exec-once hyprpaper & waybar

Conclusion

As I said in the beginning, there is no end to how much you can customize Hyprland. The wiki is extensive and you can dig it in for more detailed information.

I wanted to give you a starting point for Hyprland configuration and customization. I do hope that you find it useful in enhancing your Hyprland experience.



from It's FOSS https://ift.tt/ha0kjzQ
via IFTTT

Install and Configure Waybar in Hyprland

Install and Configure Waybar in Hyprland

If you are a regular at various desktop customization communities on the web, then you must have heard of Waybar.

Waybar is a highly configurable Wayland bar for Sway and other Wlroots based compositors.

Install and Configure Waybar in Hyprland
Full Waybar (without CSS). Click to enlarge
Install and Configure Waybar in Hyprland
Full Waybar (With CSS). Click to enlarge

Here's a video that demonstrates Waybar:

In this article, I'll show you the process of installing and configuring Waybar on a Hyprland system.

This does not mean you need to install Hyprland exclusively to continue. You can ignore the Hyprland related part and still get a decent bar for your system.

Installing Waybar in Linux System

If you are an Ubuntu user, Waybar is available in the repos of Ubuntu 20.04 and more. Since Waybar is Wayland, it is better to use it in version 22.04 and above.

To install it, use the command:

sudo apt install waybar

There is a PPA available with more up-to-date packages. To use it, open a terminal and run:

sudo add-apt-repository ppa:nschloe/waybar
sudo apt update
sudo apt install waybar

For other systems like Fedora, Arch Linux, etc., you can use the native package manager to install the latest version of Waybar.

# Fedora systems
sudo dnf install waybar

# Arch Linux Systems
sudo pacman -Syu waybar

Once installed, autostart the bar during system startup.

In Hyprland, you can use the following line in the configuration file .config/hypr/hyprland.conf:

exec-once waybar

Configuring Waybar

Now that you have Waybar installed, let's see the Waybar configuration.

πŸ“‹
Do NOT edit this file with text editors like Nano with default settings, without JSONC support.

Waybar uses a JSONC (JSON with Comments) to configure its vast array of modules. Before you start to edit the configuration, I advise using a text editor that has JSON support.

I have used VS Code to edit the configuration file.

The Waybar configuration file is present at .config/waybar/cnfig.jsonc.

Items that can be placed on Waybar are available as separate modules. This means that you can handpick the modules and their placement as per your requirement.

A default sample configuration

Let's take a bare minimum sample config provided by Waybar on its wiki page to learn the structure.

{
    "layer": "top",
    "modules-left": ["sway/workspaces", "sway/mode"],
    "modules-center": ["sway/window"],
    "modules-right": ["battery", "clock"],
    "sway/window": {
        "max-length": 50
    },
    "battery": {
        "format": "{capacity}% {icon}",
        "format-icons": ["", "", "", "", ""]
    },
    "clock": {
        "format-alt": "{:%a, %d. %b  %H:%M}"
    }
}

In the above code snippet, you can see several key-value type pairs arranged. Let's understand them:

  • layer: This decided whether the bar goes below a window or the window goes below the bar. It can take bottom/top values.
  • modules-left: Specify what modules should be displayed on the left part of the bar.
  • modules-center: Specify what modules should be displayed on the center part of the bar.
  • modules-right: Specify what modules should be displayed on the right part of the bar.
  • sway/window, battery, clock etc.: Individual module definition.

From this, you get an idea that on the position specification (left/center/right), you specify the name of the modules that you want to appear.

Later, you define those individual modules with available options regarding their appearance.

For example, in “battery” module, you specified that its format should be capacity percentage and an icon. Where you format that icon in format-icon option.

As I said earlier, each item in Waybar is a configurable module. If you visit the Waybar wiki, you will get the entire list of modules available in Waybar in the right sidebar.

If you want to add a custom module, that is not in the default Waybar module, use the format “custom/module_name”. This same name “custom/module_name” will be used at both placing of the element in bar and defining it.

Creating an example Waybar configuration

You have seen the sample config. Now, let's write a sample Waybar configuration from scratch to learn it better.

My requirements in this configuration are:

  1. A menu button to open Wofi launcher (Left side).
  2. A Taskbar that shows the opened windows (Left Side).
  3. Hyprland Workspace switcher with 5 workspaces (Center).
  4. A Clock that will show date when clicked (Center).
  5. A CPU core usage monitor (Right Side).
  6. My system uptime monitor (Right Side).
  7. A network module that show download and upload speed (Right Side).

Let's start the configuration.

Common Waybar settings

In this first block, we will place the bar as the top layer. That is, any window will go down if overlapped. Also, the bar will be placed on the top side of the monitor.

//Make the bar as the top layer.
"layer": "top",

// Make waybar appear at the top of the screen. You can give "bottom/left/right" also as needed.
"position": "top",

Now, let's place the items as per our requirement.

//Define what items should appear in the left part of the waybar.
"modules-left": ["custom/appmenu", "wlr/taskbar"],

//Define the items to appear in the center part of the bar.
"modules-center": ["hyprland/workspaces", "clock"],

//Define items to appear in the right side of the bar.
"modules-right": ["cpu", "user", "network"],

Here, you can see that I used one custom module called custom/appmenu. The purpose of this module is to make Wofi launcher appear when clicked.

That's it. You have now set the common bar settings. It is time to define the individual modules.

Define the Modules

Let's define everything in the order we have created.

App Menu

First, the app menu.

"custom/appmenu": {
                "format": "Menu {icon}",
                "format-icon": "󰻀",
                "rotate": 0,
                "on-click": "~/.config/waybar/runwofi.sh"
        },
Install and Configure Waybar in Hyprland
Waybar Custom Menu Button (CSS Applied)

We define a module in the format specified above. This is a custom module. For custom user-defined module, there are several possible options. Refer to this table to know more about the available options.

In the example, we set a custom text “Menu” using the “format” key. The "{icon}" specified in the format will be configured in the format-icons key. Just paste the icon you want to appear under double quotes in format-icons key.

The “rotate” key is used to specify the text rotation. If it is 90, then the text will appear vertical.

The next step is critical. The “on-click” key defines the action to perform when the module is pressed with one left-click. Here, we have given the location of a shell script “runwofi.sh”. So, when you click on this, that script will be executed.

The content of that executable script is:

#!/bin/bash
wofi --show drun

So, when you click, Wofi is executed.

Taskbar

Let's create a simple task bar. There is a built-in module for a taskbar in Waybar. It also has several possible options.

"wlr/taskbar": {
                "format": "{icon}",
                "tooltip": true,
                "tooltip-format": "{title}",
                "on-click": "activate",
                "on-click-middle": "close",
                "active-first": true
         },
Install and Configure Waybar in Hyprland
Waybar Taskbar (CSS Applied)

Some options are self-explanatory, like the tooltip and its format, where the "{title}" will show the title of the application as a tooltip when hovered. You can use {name} to show the name of the application window instead of title.

The on-click, on-click-middle actions are defined according to what states are available in the taskbar module. Please refer to the Actions subsection of the module in the Waybar Wiki.

We set the option called “active-first” to true. This will bring whatever application currently active to the first entry of taskbar. Just an accessibility option.

Workspaces

Here, we define the workspaces. For Hyprland users, there is this "hyprland/workspaces" module. You can use this.

In Hyprland, before setting workspaces in Waybar, you need to make sure that you have workspaces enabled for the current monitor.

On a terminal, run:

hyprctl monitors

This will list the available monitor with their name. I was using Hyprland on a GNOME Boxes VM. So, my monitor name was Virtual-1. Yours can be DP-1, HDMI-1, etc. Please check them.

See the config below:

"hyprland/workspaces": {
                "format": "{name} : {icon}",
                "format-icons": {
                        "1": "",
                        "2": "",
                        "3": "",
                        "4": "",
                        "5": "",
                        "active": "",
                        "default": ""
                },
        "persistent-workspaces": {
                "Virtual-1": [1, 2, 3, 4, 5]
                }
        },
Install and Configure Waybar in Hyprland
Waybar Hyprland Workspace Switcher (CSS Applied)

Under “persistent-workspaces” option, you will place the number of workspaces to show permanent as an array with monitor name as key. I placed 5 workspaces on my Virtual machine monitor.

Clock

Next is the clock module (example code from Waybar wiki). Look at the snippet below.

    "clock": {
                "format": "{:%I:%M %p}",
                "rotate": 0,
                "format-alt": "{  %d·%m·%y}",
                "tooltip-format": "<span>{calendar}</span>",
                "calendar": {
                        "mode": "month",
                        "format": {
                            "months": "<span color='#ff6699'><b>{}</b></span>",
                        "days": "<span color='#cdd6f4'><b>{}</b></span>",
                            "weekdays": "<span color='#7CD37C'><b>{}</b></span>",
                            "today": "<span color='#ffcc66'><b>{}</b></span>"
                }
            }
    },
Install and Configure Waybar in Hyprland
Clock Module (CSS Applied)

You can refer to the time format specification guide to customize the clock format to your liking.

Here, I have gone for:

  • I : 12 hr clock (Use H for 24-hour clock)
  • M : Minute as a decimal number.
  • p : AM/PM for the 12-hour clock.

Here, we come across another key, format-alt. This key is used to set an alternate format when clicked on that module.

In the above example, I set the format-alt to show a calendar icon followed by the date (Day-Month-Year).

If you refer to the Waybar wiki, you can see a subsection for the Clock module, called calendar. So, under the Clock main module, you can add this calendar as well.

In the sample config, we have added the calendar as a tooltip (tooltip-format key). And as we saw earlier, whatever written inside the curly braces (here, calendar) is expanded in the next step.

πŸ’‘
Span is an inline format tag. We used this to set the colors to the individual blocks of a calendar.

CPU

Here is a sample code. The concept is similar to what we have seen. But it has a new item to learn.

"cpu": {
                "format": "{icon0} {icon1} {icon2} {icon3}",
                "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
        },
Install and Configure Waybar in Hyprland
CPU Usage Details (CSS Applied)

In case of CPU, the {iconN} is the Nth CPU core usage. But what we have to learn here is the format-icons.

You can see that the format-icons have been given an array of input (inside closed brackets). Inside the array, we have given 8 different sized blocks. We get a 12.5% increment (100/8). So, whenever a core usage jumps above 12.5%, that block will move to the next size.

This can be used in battery module as well to show different percentages.

I will give the sample code for the next block, network. It uses the same concepts we have seen in earlier sections.

// Define Network

        "network": {
                "tooltip": true,
                "rotate": 0,
                "format-ethernet": " ",
                "tooltip-format": "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>",
                "format-linked": " {ifname} (No IP)",
                "format-disconnected": "σ°–ͺ ",
                "tooltip-format-disconnected": "Disconnected",
                "format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
                "interval": 2
        }
Install and Configure Waybar in Hyprland
Network Module in Waybar (CSS Applied)

Now that, we have made our simple Waybar config. Save the configuration file.

🚧
Do not forget to close the main curly brace with the '}' in the end.

You have a fully working Waybar at the top now. Reboot your system or relogin to see the effect.

Theme the Waybar

Throughout the above section, you have seen how to configure the modules in Waybar. Whoever completed the above config will get the Waybar in its default theme.

But Waybar is even more customizable. Even better, it relies on CSS to style the look.

Style file should be present as ~/.config/waybar/style.css.

It is out of scope of this tutorial to teach you each CSS module. Instead, I will tell you how to access each module in CSS.

First, go to the Waybar Wiki.

Here, inside each module, at the very bottom, there is this "Style" section. You can see what tag is used to access that module in CSS.

Install and Configure Waybar in Hyprland
Battery Module CSS Tags

From the above screenshot, #battery is used to access the main battery module, while there are several other styles, that you can theme in the CSS.

Install and Configure Waybar in Hyprland
Robinhuett battery styling

See the Robinhuett CSS file, that customizes different states of the battery?

Let's see some important tags.

CSS Tag Use
window#waybar Main waybar window
.modules-left

.modules-center

.modules-right
Three parts of Waybar
#cpu For CPU module
#clock For Clock module
#workspaces For Hyprland workspaces
#custom-modname

e.g. #custom-appmenu
For Custom modules

Download my config file

You can download the full configuration file and the associated CSS Styles from our GitHub repo.

Once downloaded, paste these files inside the .config/waybar directory.

I have already shown what the final version looks like in the demo video at the beginning of this tutorial.

You can enjoy customizing it even further πŸ˜„



from It's FOSS https://ift.tt/6EVhClc
via IFTTT