Waybar hyprland/language module not working properly

Hi guys, did a full two days of researching the issue, but just cant get it to display active keyboard layout language. Ive read somewhere on reddit that apparently this was a known bug in 2023, but was supposed to be fixed december 2023, yet Im experiencing this issue.

Here is my waybar.config:

{
    "layer": "top", // Waybar at top layer
    "position": "top", // Waybar position (top|bottom|left|right)
    "height": 35,
    "width":1900,
    "margin-top",
    "margin": "0 0 0 0",  
 "spacing":0,

    // Choose the order of the modules

    "modules-left": ["custom/launcher", "hyprland/workspaces", "hyprland/window"],
    "modules-right": [ "hyprland/language", "custom/pacman", "custom/network_traffic", "custom/weather","backlight", "custom/keyboard-layout",  "temperature",  "cpu", "memory", "battery", "pulseaudio", "network", "tray", "idle_inhibitor","clock","custom/power"],

 // Modules configuration
 
  "hyprland/language": {
    "format": "{}",
    "format-en": "Murica",
    "format-ru": "Мяу =^~^=",
    "keyboard-name": "at-translated-set-2-keyboard"
   },

  "hyprland/workspaces": {
    "format": "{icon}",
    "on-click": "activate",
    "all-outputs": true,
    "sort-by-number": true,
    "format-icons": {
      "1": "1",
      "2": "2",
      "3": "3",
      "4": "4",
      "5": "5",
      "6": "6",
      "7": "7",
      "8": "8",
      "9": "9",
      "10": "10",
      "focused": "",
      "default": ""
    },
    "on-scroll-up": "hyprctl dispatch workspace e+1",
    "on-scroll-down": "hyprctl dispatch workspace e-1",
    },
    "hyprland/window": {
        "format": "{}",
	"icon":true,
	"icon-size" : 20
    },
    "idle_inhibitor": {
        "format": "{icon}",
       "format-icons": {
            "activated": "",
            "deactivated": ""
        }
    },
    "tray": {
        "icon-size": 20,
        "spacing": 5
    },
    "clock": {
        "tooltip-format": "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>",
        "format": " {:%a %d %b  %I:%M %p}",	//12 hour format
        //"format": " {:%a %d %b  %H:%M}",	//24 hour format
        "format-alt": " {:%d/%m/%Y  %H:%M:%S}",
        "timezones": [ "Europe/Moscow" ],
        //"max-length": 200
        "interval": 1,
        "on-click": "~/.config/waybar/scripts/OCV",
    },
    "cpu": {
        "format": "🖳{usage}%",
        "on-click": "foot -e htop"
    },
    "memory": {
        "format": "🖴 {: >3}%",
        "on-click": "foot -e htop"
    },
    "temperature": {
        "thermal-zone": 7,  // Check with: # cat /sys/class/hwmon/hwmon*/temp1_input
        "hwmon-path": "/sys/class/hwmon/hwmon7/temp1_input",
        "critical-threshold": 80,
        "format-critical": "{temperatureC}°C ",
        "format": "{temperatureC}°C "
    },
    "backlight": {
        // "device": "acpi_video1",
        "format": "{icon} {percent: >3}%",
        "format-icons": ["", ""],
        "on-scroll-down": "brightnessctl -c backlight set 1%-",
        "on-scroll-up": "brightnessctl -c backlight set +1%",
        "on-click": "~/.config/waybar/scripts/backlight-hint.sh"
    },
    "battery": {
        "states": {
            // "good": 95,
            "warning": 30,
            "critical": 15
        },
        "format": "{icon} {capacity: >3}%",
        "format-icons": ["", "", "", "", ""]
        // "format-good": "", // An empty format will hide the module
        // "format-full": "",
        //"format-icons": ["", "", "", "", "", "", "", "", "", ""]
        //"format": "&#x202b;{icon}&#x202c; {capacity}%",
        //"format-icons": ["ﱉ","ﱊ","ﱌ","ﱍ","ﱋ"]
    },
      "network": {
        //"interface": "wlp0s20f3", // (Optional) To force the use of this interface  "format-wifi": "  {essid}",
        "format": "⚠Disabled",
        "format-wifi": " ",
        "format-ethernet": "{ifname}: {ipaddr}/{cidr}",
        "format-linked": "{ifname} (No IP)",
        "format-disconnected": "⚠Disabled",
        "format-alt": "{ifname}: {ipaddr}/{cidr}",
        "family": "ipv4",
        "tooltip-format-wifi": "  {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}",
        "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}",
        //"min-length": 2,
        //"max-length": 2,
        "on-click": "nm-connection-editor"
    },
     "custom/pacman": {
        "format": " {}",
        "interval": 7200,                     // every two hours
        "exec": "checkupdates | wc -l",       // # of updates
        //"exec": "i=$(checkupdates); echo \"$i\" |wc -l; echo \"$i\" |column -t |tr '\n' '\r'",       // # of updates and tooltip details
        "exec-if": "exit 0",                  // always run; consider advanced run conditions
        "on-click": "foot -e update", // update system
        "signal": 8
    },
    "custom/power": {
      	"format":"⏻",
       	"on-click": "nwgbar",
      	"tooltip": false,
   },
   "custom/keyboard-layout": {
      	"format": " Cheat", // Icon: keyboard
        "on-click": "~/.config/waybar/scripts/keyhint.sh",
     },
     "custom/launcher": {
    	"format":"",
    	"on-click": "exec nwg-drawer -c 7 -is 70 -spacing 23",
    	"tooltip": false,
     },
     "custom/network_traffic": {
             "exec": "~/.config/waybar/scripts/network_traffic.sh",
             "return-type": "json",
             "format-ethernet": "{icon} {ifname} ⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",    // optional
},
    "pulseaudio": {
        "scroll-step": 3, // %, can be a float
        "format": "{icon} {volume}% {format_source}",
        "format-bluetooth": "{volume}% {icon} {format_source}",
        "format-bluetooth-muted": " {icon} {format_source}",
        "format-muted": " {format_source}",
        //"format-source": "{volume}% ",
        //"format-source-muted": "",
        "format-source": "",
        "format-source-muted": "",
        "format-icons": {
            "headphone": "",
            "hands-free": "",
            "headset": "",
            "phone": "",
            "portable": "",
            "car": "",
            "default": ["", "", ""]
        },
        "on-click": "pavucontrol",
        "on-click-right": "pactl set-source-mute @DEFAULT_SOURCE@ toggle"
        },
        // https://github.com/chubin/wttr.in
        "custom/weather": {
        "exec": "curl 'https://wttr.in/krasnodar?format=2'",
        "interval": 900,
	    "on-click": "yad --html --uri='https://wttr.in/krasnodar' --center --fixed --width=1000 --height=680 --timeout=60 --timeout-indicator=right"
        },
    }

And here is the waybar style.css:

/* =============================================================================
 *
 * Waybar configuration
 *
 * Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
 *
 * =========================================================================== */
 
/* -----------------------------------------------------------------------------
 * Keyframes
 * -------------------------------------------------------------------------- */


/*
Polar Night
nord0  #2e3440
nord1  #3b4252
nord2  #434c5e
nord3  #4c566a
Snow Storm
nord4  #d8dee9
nord5  #e5e9f0
nord6  #eceff4
Frost
nord7  #8fbcbb
nord8  #88c0d0
nord9  #81a1c1
nord10 #5e81ac
Aurora
nord11 #bf616a
nord12 #d08770
nord13 #ebcb8b
nord14 #a3be8c
nord15 #b48ead
*/

/* -----------------------------------------------------------------------------
 * Base styles
 * -------------------------------------------------------------------------- */
 
/* Reset all styles */

* {
    color: #eceff4;
    border: 0;
    border-radius: 0;
    padding: 0 0;
    font-family:Symbols Nerd Font Mono;
    font-size: 15px;
    margin-right: 5px;
    margin-left: 5px;
    padding-bottom:2px;
   }

window#waybar {
    background:rgba (0, 0, 0, 0.5);
    border-radius: 20px 20px 20px 20px; 
}

#workspaces button {
    padding: 2px 0px;
    border-bottom: 2px;
    color: #eceff4;
    border-color: #d8dee9;
    border-style: solid;
    margin-top:2px;
}

#workspaces button.active {
    border-color: #81a1c1;
}

#language, #clock, #battery, #cpu, #memory,#idle_inhibitor, #temperature,#custom-keyboard-layout, #backlight, #network, #pulseaudio, #tray, #window,#custom-launcher,#custom-power,#custom-pacman ,#custom-network_traffic,#custom-weather{
    padding: 0 3px;
    border-bottom: 2px;
    border-style: solid;
}
 
/* -----------------------------------------------------------------------------
 * Module styles
 * -------------------------------------------------------------------------- */


#language {
    color: #8fbcbb;
}
 
#clock {
 color:#a3be8c;
}

#backlight {
    color: #ebcb8b;
}

#battery {
    color: #d8dee9;
}

#battery.charging {
    color: #81a1c1;
}

@keyframes blink {
    to {
        color: #4c566a;
        background-color: #eceff4;
    }
}

#battery.critical:not(.charging) {
    background: #bf616a;
    color: #eceff4;
    animation-name: blink;
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

#cpu {
    color:#a3be8c ;
}

#memory {
    color: #d3869b;
}

#network.disabled {
    color:#bf616a;
}

#network{
    color:#a3be8c;
}

#network.disconnected {
    color: #bf616a;
}

#pulseaudio {
    color: #b48ead;
}

#pulseaudio.muted {
    color: #3b4252;
}

#temperature {
    color: #8fbcbb;
}

#temperature.critical {
    color: #bf616a;
}

#idle_inhibitor {
   color: #ebcb8b;
}

#tray {
}

#custom-launcher,#custom-power{
    border-style: hidden;
    margin-top:2px;    
}

#window{
    border-style: hidden;
    margin-top:1px;  
}    
#custom-keyboard-layout{
   color:#d08770;
}   
#custom-network_traffic{
   color:#d08770;
}



Garuda-inxi:

System:
  Kernel: 6.8.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=bac633bb-1d4c-47f7-ab8a-9b019659246a rw rootflags=subvol=@
    quiet loglevel=3 ibt=off
  Desktop: Hyprland v: 0.37.1-48-g059e85ae with: waybar tools:
    avail: swayidle,swaylock vt: 1 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Laptop System: HONOR product: FRI-FXX v: M2010
    serial: <superuser required>
  Mobo: HONOR model: FRI-FXX-PCB v: M2010 serial: <superuser required>
    part-nu: C233 uuid: <superuser required> UEFI: HONOR v: 1.11
    date: 03/23/2023
Battery:
  ID-1: BAT0 charge: 59.4 Wh (99.7%) condition: 59.6/59.7 Wh (99.9%)
    volts: 13.1 min: 11.6 model: DESAY AP16L5J type: Li-ion serial: <filter>
    status: not charging cycles: 5
CPU:
  Info: model: 12th Gen Intel Core i5-12450H bits: 64 type: MST AMCP
    arch: Alder Lake gen: core 12 level: v3 note: check built: 2021+
    process: Intel 7 (10nm ESF) family: 6 model-id: 0x9A (154) stepping: 3
    microcode: 0x432
  Topology: cpus: 1x cores: 8 mt: 4 tpc: 2 st: 4 threads: 12 smt: enabled
    cache: L1: 704 KiB desc: d-4x32 KiB, 4x48 KiB; i-4x32 KiB, 4x64 KiB
    L2: 7 MiB desc: 4x1.2 MiB, 1x2 MiB L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 525 high: 918 min/max: 400/4400:3300 scaling:
    driver: intel_pstate governor: powersave cores: 1: 400 2: 400 3: 800 4: 400
    5: 691 6: 918 7: 400 8: 698 9: 400 10: 400 11: 400 12: 400 bogomips: 59904
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Alder Lake-P GT1 [UHD Graphics] driver: i915 v: kernel
    alternate: xe arch: Gen-12.2 process: Intel 10nm built: 2021-22+ ports:
    active: eDP-1 empty: DP-1, DP-2, DP-3, HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:46a3 class-ID: 0300
  Device-2: ShineOptics HD Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-7:3 chip-ID: 3277:0045
    class-ID: 0e02 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
    compositor: Hyprland v: 0.37.1-48-g059e85ae driver: X: loaded: modesetting
    alternate: fbdev,intel,vesa dri: iris gpu: i915 display-ID: 1
  Monitor-1: eDP-1 model: BOE Display 0x0b8f built: 2022 res: 1920x1200
    hz: 60 dpi: 161 gamma: 1.2 scale: 1 size: 302x188mm (11.89x7.4")
    diag: 356mm (14") ratio: 16:10 modes: 1920x1200
  API: Vulkan v: 1.3.279 layers: 3 device: 0 type: integrated-gpu name: Intel
    Graphics (ADL GT2) driver: mesa intel v: 24.0.3-arch1.2
    device-ID: 8086:46a3 surfaces: xcb,xlib,wayland device: 1 type: cpu
    name: llvmpipe (LLVM 17.0.6 256 bits) driver: mesa llvmpipe
    v: 24.0.3-arch1.2 (LLVM 17.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: Intel Alder Lake PCH-P High Definition Audio
    driver: sof-audio-pci-intel-tgl
    alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 00:1f.3
    chip-ID: 8086:51c8 class-ID: 0401
  API: ALSA v: k6.8.1-zen1-1-zen status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.4 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:51f0 class-ID: 0280
  IF: wlp0s20f3 state: up mac: <filter>
  IF-ID-1: docker0 state: up speed: 10000 Mbps duplex: unknown mac: <filter>
  IF-ID-2: veth2e8c753 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:4 chip-ID: 8087:0026
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
    lmp-v: 11 status: discoverable: no pairing: no class-ID: 6c010c
Drives:
  Local Storage: total: 476.94 GiB used: 30.08 GiB (6.3%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Hynix model: YMTC PC300-512GB-B
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: YM0500C6 temp: 35.9 C
    scheme: GPT
Partition:
  ID-1: / raw-size: 99.55 GiB size: 99.55 GiB (100.00%)
    used: 30.08 GiB (30.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 99.55 GiB size: 99.55 GiB (100.00%)
    used: 30.08 GiB (30.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-4: /var/log raw-size: 99.55 GiB size: 99.55 GiB (100.00%)
    used: 30.08 GiB (30.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-5: /var/tmp raw-size: 99.55 GiB size: 99.55 GiB (100.00%)
    used: 30.08 GiB (30.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.33 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 12 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 41.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB note: est. available: 15.33 GiB used: 3.79 GiB (24.7%)
  Processes: 291 Power: uptime: 6h 32m states: freeze,mem,disk
    suspend: s2idle avail: deep wakeups: 2 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 6.12 GiB services: upowerd
    Init: systemd v: 255 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1319 libs: 409 tools: pacseek,paru Compilers:
    gcc: 13.2.1 Shell: garuda-inxi default: fish v: 3.7.0 running-in: foot
    inxi: 3.3.33
Garuda (2.6.23-1):
  System install date:     2024-03-22
  Last full system update: 2024-03-24
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:  

As far as I can see, there is no error in the syntax, yet tall im getting is a “…” looking icon on the waybar.

Thanks for your help :З

Missing garuda-inxi!

Change from waybar-hyprland-git to waybar-hyprland or opposit.

You can also open a new issue there if it failed again.

Woops, sorry bout that, added it to my post now. Do I find waybar-hyprland in AUR?

1 Like

Btw, Garuda use

pacman -Qi waybar
Name                     : waybar

Thanks, I’ll give your suggestions a try. Hope it works

I don’t get an error, but I can’t really test it due to lack of hardware.

2024-03-24T18:20:58,863188014+03:00

Thats the strange part, syntax seems to be correct. but instead im getting this.

edit: tried to implement your previous suggestions, by reinstalling waybar, but unsuccessful due to dependancy issue:

sudo pacman -Rns waybar
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing waybar breaks dependency 'waybar' required by garuda-hyprland-settings

it is recommended to use waybar, not waybar hyprland, AFAIK waybar-hyprland was a temporary solution for hyprland now it is no more needed, and also you won’t be able to find it in aur packages

there is no sense of removing waybar
btw you can try git version , just do :

sudo pacman -Rdd waybar
sudo pacman -S waybar-git

That’s only I can suggest

1 Like

Gave it a go, no change :confused:

If I would run your config then it would give me this :

 ╭─ankur@ankur in ~ 
 ╰─λ waybar
[2024-03-24 22:41:27.850] [info] Using configuration file /home/ankur/.config/waybar/config
[2024-03-24 22:41:27.850] [error] Error parsing JSON: * Line 6, Column 17
  Missing ':' after object member name

so I can’t help, as there seems like formatting issue.

1 Like

This was a slightly incorrect margin setting. I fixed it here

{
    "layer": "top", // Waybar at top layer
    "position": "top", // Waybar position (top|bottom|left|right)
    "height": 35,
    "width":1900,
    "margin": "5 0 0 0",  

your solution :

  "hyprland/language": {
    "format": "{}",
    "min-length" : 8,
    "format-en": "Murica",
    "format-ru": "Мяу =^~^=",
    "keyboard-name": "at-translated-set-2-keyboard"
   },
1 Like

Thank you, this worked <3

And a big thanks to everyone on the Garuda team for developing and maintaining such an awesome distro. Been using it since it first came out, it has always been lovely :З

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.