پرش به محتوا
✓ محتوای ویکی بازبینی‌شده توسط ویراستارانمتوسطدسکتاپ، Wayland و گرافیک

اکوسیستم Hyprland: راهنمای کامل ابزارهای همراه و یکپارچه‌سازی

Hyprland به‌تنهایی یک کامپوزیتور است، نه یک محیط دسکتاپ کامل. برای تجربه‌ای روزمره و کارآمد، باید ابزارهای همراه (Ecosystem) را بشناسید و پیکربندی کنید. تیم توسعهٔ Hyprland مجموعه‌ای از برنامه‌های اختصاصی را توسعه داده است که هر کدام وظیفهٔ مشخصی را بر عهده دارند: از مدیریت والپیپر و قفل صفحه گرفته

آخرین به‌روزرسانی: ۲۲ آبان ۱۴۰۵ · نسخهٔ ۱ · ۴ بازدید

این مقاله مستندات رسمی Arch Linux نیست؛ برای موارد حساس به ArchWiki مراجعه کنید.


اکوسیستم Hyprland: راهنمای کامل ابزارهای همراه و یکپارچه‌سازی

مدیریت والپیپر با hyprpaper در Hyprland

Hyprland به‌تنهایی یک کامپوزیتور است، نه یک محیط دسکتاپ کامل. برای تجربه‌ای روزمره و کارآمد، باید ابزارهای همراه (Ecosystem) را بشناسید و پیکربندی کنید. تیم توسعهٔ Hyprland مجموعه‌ای از برنامه‌های اختصاصی را توسعه داده است که هر کدام وظیفهٔ مشخصی را بر عهده دارند: از مدیریت والپیپر و قفل صفحه گرفته تا انتخاب رنگ و مدیریت نشانگر ماوس. در این مقاله، این ابزارها را به‌صورت عملی معرفی و پیکربندی می‌کنیم.

---

نصب یکجای اکوسیستم Hyprland

برای نصب تمام ابزارهای اصلی اکوسیستم، می‌توانید از یک دستور واحد استفاده کنید:

sudo pacman -S hyprpaper hypridle hyprlock hyprpicker hyprcursor
نکته: hyprlauncher، hyprsysteminfo، hyprsunset و hyprpolkitagent نیز بخشی از اکوسیستم هستند، اما در این مقاله تمرکز اصلی بر پنج ابزار پرکاربردتر است.

---

Hyprpaper: مدیریت والپیپر

نمایش والپیپر با hyprpaper

hyprpaper یک ابزار سریع و سبک برای مدیریت والپیپر است که از طریق IPC (همان hyprctl) قابل کنترل است.

پیکربندی پایه

فایل پیکربندی در مسیر ~/.config/hypr/hyprpaper.conf قرار دارد. برخلاف hyprland.lua، این فایل هنوز از سینتکس سادهٔ keyword = value استفاده می‌کند و اجباری نیست؛ اما برای اعمال تنظیمات دلخواه ضروری است.

# ~/.config/hypr/hyprpaper.conf

preload = ~/Pictures/wallpapers/nord.png

wallpaper {
    monitor = DP-1
    path = ~/Pictures/wallpapers/nord.png
    fit_mode = cover
}

wallpaper {
    monitor = HDMI-A-1
    path = ~/Pictures/wallpapers/forest.jpg
    fit_mode = cover
}

گزینه‌های مهم wallpaper

| گزینه | توضیح | مقدار |
| :--- | :--- | :--- |
| monitor | مانیتور هدف (خالی = fallback) | DP-1، HDMI-A-1 یا خالی |
| path | مسیر تصویر یا پوشه | مسیر فایل |
| fit_mode | نحوهٔ نمایش تصویر | cover، contain، tile، fill |
| timeout | فاصلهٔ زمانی تغییر خودکار (ثانیه) | عدد صحیح (پیش‌فرض ۳۰) |
| order | ترتیب نمایش (برای پوشه) | random |
| recursive | اسکن زیرپوشه‌ها | true / false |

اجرای خودکار

در فایل autostart.lua (یا هر فایل Lua که در hyprland.lua با require بارگذاری می‌کنید) خط زیر را اضافه کنید:

hl.on("hyprland.start", function()
    hl.exec_cmd("hyprpaper")
end)

کنترل از طریق IPC

# تنظیم والپیپر برای یک مانیتور خاص
hyprctl hyprpaper wallpaper "DP-1,~/Pictures/wallpaper.png,cover"

# مشاهدهٔ والپیپرهای فعال
hyprctl hyprpaper listactive

---

Hypridle: مدیریت بی‌کاری و زمان‌بندی

صفحهٔ قفل hyprlock که توسط hypridle فعال می‌شود

hypridle یک دیمن (daemon) مدیریت بی‌کاری است. برخلاف hyprpaper، فایل پیکربندی اجباری است و بدون آن اجرا نمی‌شود. فایل در مسیر ~/.config/hypr/hypridle.conf قرار دارد.

پیکربندی پایه

hypridle از «شنونده‌ها» (listeners) برای تعریف اقدامات در بازه‌های زمانی مشخص استفاده می‌کند. هر شنونده یک timeout (به ثانیه) دارد و دو رویداد on-timeout و on-resume را تعریف می‌کند.

# ~/.config/hypr/hypridle.conf

general {
    lock_cmd = pidof hyprlock || hyprlock       # جلوگیری از اجرای چندبارهٔ hyprlock
    before_sleep_cmd = loginctl lock-session     # قفل قبل از خواب
    after_sleep_cmd = hyprctl dispatch dpms on   # روشن کردن صفحه پس از بیداری
}

listener {
    timeout = 150                                # ۲.۵ دقیقه
    on-timeout = brightnessctl -s set 10         # کاهش روشنایی
    on-resume = brightnessctl -r                 # بازگرداندن روشنایی
}

listener {
    timeout = 300                                # ۵ دقیقه
    on-timeout = loginctl lock-session            # قفل صفحه
}

listener {
    timeout = 330                                # ۵.۵ دقیقه
    on-timeout = hyprctl dispatch dpms off        # خاموش کردن صفحه
    on-resume = hyprctl dispatch dpms on          # روشن کردن صفحه
}

listener {
    timeout = 1800                               # ۳۰ دقیقه
    on-timeout = systemctl suspend                # خواب سیستم
}

اجرای خودکار

hl.on("hyprland.start", function()
    hl.exec_cmd("hypridle")
end)
نکته: اگر از uwsm استفاده می‌کنید، می‌توانید hypridle را به‌عنوان یک سرویس systemd کاربری فعال کنید: systemctl --user enable --now hypridle.service.

---

Hyprlock: قفل صفحه

نمونهٔ صفحهٔ قفل hyprlock با پس‌زمینهٔ شفاف

hyprlock یک قفل صفحهٔ سریع، چندریسمانی و شتاب‌یافته با GPU است. بدون فایل پیکربندی اجرا می‌شود، اما هیچ عنصری رندر نمی‌کند و فقط صفحهٔ سیاه نمایش می‌دهد. فایل پیکربندی در ~/.config/hypr/hyprlock.conf قرار دارد.

پیکربندی پایه

# ~/.config/hypr/hyprlock.conf

general {
    hide_cursor = true
    ignore_empty_input = true
    immediate_render = false
}

background {
    monitor =
    path = screenshot          # استفاده از اسکرین‌شات دسکتاپ به‌عنوان پس‌زمینه
    blur_passes = 3
    blur_size = 8
}

input-field {
    monitor =
    size = 200, 50
    outline_thickness = 3
    dots_size = 0.33
    dots_spacing = 0.64
    dots_center = true
    outer_color = rgb(151515)
    inner_color = rgb(200, 200, 200)
    font_color = rgb(10, 10, 10)
    fade_on_empty = false
    placeholder_text = <i>Password...</i>
    hide_input = false
    position = 0, -20
    halign = center
    valign = center
}

label {
    monitor =
    text = cmd[update:1000] echo "$(date +'%H:%M')"
    color = rgba(200, 200, 200, 1.0)
    font_size = 90
    font_family = JetBrainsMono Nerd Font
    position = 0, 300
    halign = center
    valign = center
}

اجرای دستی و آزمایش

hyprlock

برای تست بدون قفل شدن دائمی، می‌توانید از گزینهٔ --grace استفاده کنید:

hyprlock --grace 5

یکپارچه‌سازی با hypridle

همان‌طور که در بخش قبل دیدیم، hypridle را می‌توان طوری پیکربندی کرد که در زمان بی‌کاری، hyprlock را فراخوانی کند.

---

Hyprpicker: انتخاب رنگ از دسکتاپ

محیط Hyprland برای انتخاب رنگ با hyprpicker

hyprpicker یک ابزار ساده برای برداشتن رنگ از هر نقطهٔ صفحه است. پس از اجرا، نشانگر ماوس به یک قطره‌چکان تبدیل می‌شود و با کلیک، کد رنگ در کلیپ‌بورد کپی می‌شود.

استفادهٔ پایه

hyprpicker

گزینه‌های مفید

| گزینه | توضیح |
| :--- | :--- |
| -a / --autocopy | کپی خودکار کد رنگ در کلیپ‌بورد |
| -f / --format | فرمت خروجی: hex، rgb، hsl |
| -n / --no-fancy | غیرفعال کردن نمایش گرافیکی |
| -r / --revert | بازگرداندن رنگ به حالت اولیه |

اتصال به کلید میانبر

hl.bind("SUPER + C", hl.dsp.exec_cmd("hyprpicker -a -f hex"))

با این بایند، با فشردن SUPER + C ابزار فعال می‌شود، رنگ انتخاب‌شده به‌صورت خودکار در کلیپ‌بورد (با فرمت HEX) کپی می‌شود.

---

Hyprcursor: مدیریت نشانگر ماوس

نشانگر ماوس سفارشی با hyprcursor

hyprcursor یک فرمت و ابزار جدید برای مدیریت نشانگر (Cursor) است که نسبت به روش‌های سنتی X11 بهبودهایی مانند مقیاس‌پذیری بهتر و پشتیبانی از تم‌های مدرن را ارائه می‌دهد.

نصب تم نشانگر

تم‌های hyprcursor معمولاً در مسیر ~/.local/share/icons/ یا /usr/share/icons/ قرار می‌گیرند. برای نصب یک تم، می‌توانید آن را از مخازن AUR یا GitHub دریافت کنید:

yay -S hyprcursor-bibata-modern-classic-bin

تنظیم تم نشانگر

پس از نصب، تم را در پیکربندی Lua فعال کنید:

hl.config({
    cursor = {
        no_hardware_cursors = false,
        inactive_timeout = 0,
    }
})

hl.exec_cmd("hyprctl setcursor Bibata-Modern-Classic 24")
نکته: دستور hyprctl setcursor اندازه و نام تم را تنظیم می‌کند. برای اعمال دائمی، آن را در بخش استارتاپ (autostart.lua) قرار دهید.

---

ابزارهای مکمل: اسکرین‌شات و ضبط صفحه

Hyprland خودش ابزار اسکرین‌شات داخلی ندارد، اما با ترکیب چند ابزار ساده می‌توانید یک جریان کاری کامل بسازید.

Grim + Slurp + Swappy

| ابزار | نقش |
| :--- | :--- |
| grim | گرفتن اسکرین‌شات در Wayland |
| slurp | انتخاب ناحیهٔ موردنظر با ماوس |
| swappy | حاشیه‌نویسی و ویرایش سریع اسکرین‌شات |

نصب:

sudo pacman -S grim slurp swappy wl-clipboard

بایندها در bindings.lua:

-- انتخاب ناحیه و باز کردن در swappy
hl.bind("Print", hl.dsp.exec_cmd('grim -g "$(slurp)" - | swappy -f -'))

-- کپی ناحیهٔ انتخاب‌شده مستقیماً در کلیپ‌بورد
hl.bind("SUPER + Print", hl.dsp.exec_cmd('grim -g "$(slurp -d)" - | wl-copy'))

ضبط صفحه با wf-recorder

sudo pacman -S wf-recorder
# ضبط تمام صفحه
wf-recorder -f ~/Videos/recording.mp4

# ضبط ناحیهٔ انتخاب‌شده
wf-recorder -g "$(slurp)" -f ~/Videos/recording.mp4

OBS Studio (ضبط پیشرفته)

sudo pacman -S obs-studio pipewire wireplumber xdg-desktop-portal-hyprland qt6-wayland

OBS از طریق PipeWire و پورتال xdg-desktop-portal-hyprland با Hyprland یکپارچه می‌شود و امکان ضبط کل صفحه، پنجرهٔ خاص یا ورک‌اسپیس را فراهم می‌کند.

---

منابع و لینک‌های مرتبط

---

این مقاله بر اساس مستندات رسمی Hyprland (نسخه‌های 0.54 تا 0.57) گردآوری شده و برای جامعهٔ ARCHIHA تهیه شده است. آخرین به‌روزرسانی: نوامبر 2026.

این مقاله مفید بود؟برای ثبت بازخورد وارد شوید۰ مفید · ۰ نامفیدپیشنهاد ویرایشتاریخچه