.\" Automatically generated by Pandoc 3.2 .\" .TH "rofi\-thumbnails" "5" "" "rofi" "راهنمای قالب‌های فایل" .SH "نام (NAME)" \f[B]rofi\-thumbnails\f[R] \- سامانه بندانگشتی‌های rofi .SH "توضیحات (DESCRIPTION)" اکنون \f[B]rofi\f[R] قادر است برای تمامی انواع فایل‌هایی که یک ایجادکننده بندانگشتی سازگار با XDG برای آن‌ها در سیستم وجود دارد، تصویر بندانگشتی نمایش دهد. .PP این کار به‌طور پیش‌فرض در حالت‌های filebrowser و recursivebrowser، در صورتی که \f[B]rofi\f[R] با آرگومان \f[B]\-show\-icons\f[R] اجرا شده باشد، انجام می‌شود. .PP در یک اسکریپت سفارشی کاربر یا در حالت dmenu، می‌توان با افزودن پیشوند \f[B]thumbnail://\f[R] به نام فایل مشخص‌شده پس از \f[B]\[rs]0icon\[rs]x1f\f[R]، نمادهای ورودی را با استفاده از ایجادکننده‌های بندانگشتی XDG تولید کرد؛ برای نمونه: .IP .EX echo \-en \[dq]EntryName\[rs]0icon\[rs]x1fthumbnail://path/to/file\[rs]n\[dq] \f[B]|\f[R] rofi \-dmenu \-show\-icons .EE .SS "ایجادکننده‌های بندانگشتی XDG (XDG THUMBNAILERS)" ایجادکننده‌های بندانگشتی XDG فایل‌هایی با پسوند \[lq].thumbnailer\[rq] و ساختاری شبیه به فایل‌های \[lq].desktop\[rq] برای راه‌اندازی برنامه‌ها هستند. آن‌ها در مسیرهای \f[B]/usr/share/thumbnailers/\f[R] یا \f[B]$HOME/.local/share/thumbnailers/\f[R] قرار می‌گیرند و شامل فهرستی از انواع رسانه (mimetypes) هستند که تولید تصویر بندانگشتی برای آن‌ها امکان‌پذیر است، به‌همراه رشته‌ای حاوی دستور لازم برای ایجاد تصویر مذکور. مثال زیر محتوای \f[B]librsvg.thumbnailer\f[R] را نشان می‌دهد که یک ایجادکننده بندانگشتی برای فایل‌های svg با استفاده از librsvg است: .IP .EX [Thumbnailer Entry] TryExec=/usr/bin/gdk\-pixbuf\-thumbnailer Exec=/usr/bin/gdk\-pixbuf\-thumbnailer \-s %s %u %o MimeType=image/svg+xml;image/svg+xml\-compressed; .EE .PP تصاویر تولیدشده بر اساس چک‌جمع md5sum فایل‌های ورودی نام‌گذاری می‌شوند و بسته به اندازه‌شان در دایرکتوری‌های تصاویر بندانگشتی XDG قرار می‌گیرند: \f[B]$HOME/.cache/thumbnails/{normal,large,x\-large,xx\-large}\f[R]. سپس این تصاویر توسط \f[B]rofi\f[R] به‌عنوان نماد ورودی‌ها بارگذاری می‌شوند و مدیران فایل نظیر Thunar، Caja یا KDE Dolphin نیز می‌توانند برای نمایش بندانگشتی‌های خود از آن‌ها استفاده کنند. علاوه بر این، اگر تصویر بندانگشتی یک فایل از قبل در دایرکتوری‌های بندانگشتی موجود باشد (که پیش‌تر توسط \f[B]rofi\f[R] یا یک مدیر فایل ایجاد شده باشد)، \f[B]rofi\f[R] به‌جای فراخوانی ایجادکننده بندانگشتی، همان را بارگذاری خواهد کرد. .PP اگر ایجادکننده بندانگشتی مناسبی برای یک فایل مشخص پیدا نشود، \f[B]rofi\f[R] تلاش خواهد کرد تا از نماد متناظر با نوع رسانه (mimetype) موجود در پوسته نمادها (icon theme) استفاده کند. .SS "دستور سفارشی برای ایجاد بندانگشتی‌ها (CUSTOM COMMAND TO CREATE THUMBNAILS)" می‌توان از یک دستور سفارشی برای تولید تصاویر بندانگشتی جهت نام‌های ورودی عمومی استفاده کرد؛ برای نمونه، اسکریپتی که با دریافت نشانی اینترنتی یک نماد، آن را بارگیری می‌کند یا بر اساس ورودی نمادهای متفاوتی را برمی‌گزیند. این کار با ارائه آرگومان \f[B]\-preview\-cmd\f[R] به‌همراه رشته‌ای حاوی دستور اجرایی با ساختار نگارشی زیر انجام‌پذیر است: .IP .EX rofi ... \-preview\-cmd \[aq]path/to/script_or_cmd \[dq]{input}\[dq] \[dq]{output}\[dq] \[dq]{size}\[dq]\[aq] .EE .PP برنامه \f[B]rofi\f[R] اسکریپت یا دستور را با جایگزین کردن \f[B]{input}\f[R] با نام نماد ورودی (رشته پس از \f[B]\[rs]0icon\[rs]x1fthumbnail://\f[R])، \f[B]{output}\f[R] با نام فایل خروجی بندانگشتی و \f[B]{size}\f[R] با اندازه درخواستی بندانگشتی فراخوانی می‌کند. اسکریپت یا دستور موظف است تصویر بندانگشتی را تولید کند (در صورت امکان با رعایت اندازه درخواستی) و آن را با نام فایل ارائه‌شده در \f[B]{output}\f[R] ذخیره نماید. .SS "مشکلات مربوط به APPARMOR (ISSUES WITH APPARMOR)" در توزیع‌های لینوکسی که از AppArmor استفاده می‌کنند (مانند اوبونتو و دبیان)، قواعد پیش‌فرض ارائه‌شده ممکن است باعث بروز مشکلاتی در تولید تصاویر بندانگشتی شوند. در صورت بروز چنین مشکلی، می‌توان AppArmor را با اجرای دستورات زیر غیرفعال کرد: .IP .EX sudo systemctl stop apparmor sudo systemctl disable apparmor .EE .PP به‌عنوان روش جایگزین، می‌توان نمایه AppArmor زیر را در فایلی به نام /etc/apparmor.d/usr.bin.rofi قرار داد: .IP .EX #vim:syntax=apparmor # AppArmor policy for rofi #include /usr/bin/rofi { #include # TCP/UDP network access for NFS network inet stream, network inet6 stream, network inet dgram, network inet6 dgram, /usr/bin/rofi mr, \[at]{HOME}/ r, \[at]{HOME}/** rw, owner \[at]{HOME}/.cache/thumbnails/** rw, } .EE .PP سپس دستور زیر را اجرا کنید: .IP .EX apparmor_parser \-r /etc/apparmor.d/usr.bin.rofi .EE .PP تا قاعده دوباره بارگذاری و اعمال شود. این فرض بر این استوار است که فایل اجرایی باینری \f[B]rofi\f[R] در مسیر /usr/bin قرار دارد، که در یک نصب استاندارد بسته همین‌گونه است.