[BUG] Waybar is started twice at login (autostart.lua + ml4w-wallpaper reload)

Đang mở Phù hợp với người mới
#1,904 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
75/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
linux, lua
Lĩnh vực
desktop, devops

Hướng nghiên cứu

Đọc dotfiles/.config/hypr/conf/autostart.lua cùng với ml4w-autostart và mã ml4w-wallpaper gọi run_matugen và reload_waybar. Theo dõi cả hai luồng khởi động và kiểm tra nhật ký hoặc bài kiểm thử hiện có, nếu có. Đảm bảo Waybar khởi chạy một lần sau khi áp dụng giao diện, rồi xác nhận rằng lần đăng nhập Waybar mặc định không ghi nhật ký lần khởi động lại thứ hai và thanh không nhấp nháy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Describe the bug

On every login Waybar is started twice. The first instance shows up with the previous colors and some modules not ready yet. It is then killed and a second instance is started a moment later, so the bar visibly disappears and comes back.

There are two launches:

  1. dotfiles/.config/hypr/conf/autostart.lua starts Waybar directly:
    -- Start waybar
    hl.exec_cmd(HOME .. "/.config/waybar/launch.sh")
    
  2. A few seconds later ml4w-autostart runs ml4w-wallpaper "<cache>" --skip-wallpaper, which calls run_matugen and then reload_waybar. That function does killall waybar and runs launch.sh again.

Looking at the history, this looks like an overlap between two changes made two days apart:

  • c470e824 (Jun 23) added the Waybar launch to autostart.lua. At that point ml4w-wallpaper was skipped entirely when the awww cache existed, so the bar had to be started from somewhere else.
  • a4a1bebd (Jun 25) changed ml4w-autostart to always run ml4w-wallpaper ... --skip-wallpaper for theming. Since then Waybar is also (re)started by reload_waybar, so the launch in autostart.lua is redundant.
  • 0d676f10 (Jul 14) changed reload_waybar from pkill -SIGUSR2 waybar to killall waybar, which makes the restart visible as a flicker.

The issue is present from 2.14.0 up to 2.17.

Steps to reproduce
  1. Use Waybar as the status bar (~/.config/ml4w/settings/statusbar = waybar) with the default autostart.
  2. Make sure the awww cache exists (any normal login after the first one).
  3. Log in to Hyprland.
  4. Waybar appears, disappears for a moment and then appears again. The autostart log in ~/.local/state/ml4w-os-hyprland/ shows Waybar is currently running. followed by Waybar restarted.
Expected behavior

Waybar should start only once at login, already themed by matugen.

A possible fix is to drop the launch from autostart.lua and let ml4w-wallpaper start Waybar after matugen. Another option is to keep it there and have reload_waybar skip the kill and relaunch when it is called from ml4w-autostart.

Distribution

Arch Linux

Additional context

ML4W dotfiles 2.17 (stable), Hyprland with Lua config, wallpaper-app = quickshell. The installed files are identical to the ones in the repo (no local changes).

Ngôn ngữ chính
QML
Star
5.1k
Fork
386
Merge trung bình
16 giờ 45 phút
Pull request đã merge (30 ngày)
14

Chuẩn bị môi trường

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của mylinuxforwork/dotfiles

Tất cả issue của mylinuxforwork/dotfiles

Issue tương tự

Thêm issue về Desktop Dev

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.