ورود به سایت

لطفا با نام کاربری و کلمه عبور وارد سایت شوید.

ثبت نام ×

لطفا فرم را پر کرده و ثبت نام کنید!

آشنایی با دستور feh

فهرست مطالب [ پنهان کردن ]
مقدمه
چند مثال و نکته برای شروع
مدهای feh
     مد slideshow
     مد multiwindow
     مد montage
     مد index
     مد thumbnails
     مد list
     مد loadable
     مد unloadable
     مد customlist
حل مشکل پنجره شناور feh با geometry--
format specification ها یا جانگهدارها
معرفی چند سوییچ مفید و پر کاربرد
     سوییچ info--
     سوییچ scale-down--
     سوییچ title--
     سوییچ filelist--
     سوییچ slideshow-delay--
     سوییچ recursive--
     سوییچ randomize--
     سوییچ sort--
     سوییچ reverse--
     سوییچ cycle-once--
     سوییچ draw-tinted--
     سوییچ draw-filename--
     سوییچ start-at--
     سوییچ hide-pointer--
     سوییچ fullscreen--
     سوییچ index-info--
     سوییچ fullindex--
     سوییچ max-dimension--
     سوییچ min-dimension--
     سوییچ no-menus--
     سوییچ version--
     سوییچ image-bg--
     سوییچ caption-path--
action ها
     سوییچ draw-action--
سیگنالها و feh
feh بعنوان تنظیم کننده wallpaper
     سوییچ bg-center--
     سوییچ bg-fill--
     سوییچ bg-max--
     سوییچ bg-scale--
     سوییچ bg-tile--

مقدمه

feh دستور مشاهده عکس است که می‌تواند در محیط‌های گرافیکی X11 نصب شده و مورد استفاده قرار گیرد. هدف اولیه feh سبک بودن و مورد استفاده سریع قرار گرفتن از طریق خط فرمان است، با این وجود می‌تواند با برنامه‌های دیگر نیز هماهنگ شده و مورد استفاده قرار گیرد.

feh بر مبنای کتابخانه Imlib2 طراحی شده و دارای چندین مد کاربری می‌باشد .

شکل کلی دستور feh به گونه زیر است.

Bash
$ feh [option]  files or directories or URLs

اگر در جلوی دستور نام یک یا چند فایل قرار گرفته باشد، feh آن فایل‌ها را برای نمایش باز می‌کند و در صورت قرار گرفتن نام دایرکتوری کلیه تصاویر آن دایرکتوری را نمایش می‌دهد. اگر نه نام فایل و نه دایرکتوری برای نمایش وجود نداشته باشد، feh تصاویر دایرکتوری فعلی را برای نمایش در نظر می‌گیرد.

یکی از مهمترین و کاربردی‌ترین ویژگی‌های feh قابلیت آن در نصب تصویر پس‌زمینه یا wallpaper است.

چند مثال و نکته برای شروع

عکس‌های img-1.jpg و img-2.jpg و img-16.jpg را نمایش دهید.
Bash
$ feh img-1.jpg img-2.jpg img-16.jpg

کلیه عکس‌های دایرکتوری فعلی را نمایش دهید.

Bash
$ feh

کلیه عکس‌های قابل نمایش دایرکتوری فعلی را به صورت تمام صفحه full screen نمایش دهید.

Bash
$ feh --fullscreen

عکس‌های دایرکتوری doc/pic/~ را نمایش دهید.

Bash
$ feh ~/doc/pic

  • هنگام نمایش عکس اگر روی عکس دگمه x و یا q و یا Esc را بزنید از برنامه خارج می‌شوید.
  • دگمه p (ابتدای کلمه previous) عکس قبلی و دگمه n (ابتدای کلمه next) عکس بعدی را می‌آورد.
  • دگمه d نام عکس و شماره عکس در میان کل عکس‌های موجود را در بالا سمت چپ عکس نمایش می‌دهد. با زدن دوباره دگمه p این اطلاعات از روی عکس حذف می‌شوند .

مدهای feh

feh دارای چندین مد مختلف می‌باشد. هر مد با استفاده از سوییچ ویژه‌ای در جلوی دستور feh مشخص می‌گردد. در زیر به بررسی این مدها همراه با چندین مثال می‌پردازیم.

مد slideshow

مد پیش فرض feh است. یک پنجره باز می‌شود و عکس‌ها درون آن پنجره نمایش داده می‌شوند . با فشردن arrow‌ key های چپ و راست می‌توان در لیست عکس‌ها به عکس بعدی یا عکس قبلی رفت. در هر حال فقط یک عکس نمایش داده می‌شود. این مد به هیچ سوییچی نیاز ندارد.

عکس‌هایی که در نامشان عدد ۱ می‌باشد را نمایش بدهید.

Bash
$ feh *1*

مد multiwindow

اگر تعداد عکس‌هایتان زیاد است از این مد استفاده نکنید! این مد به ازای هر عکس یک پنجره جدید باز می‌کند. پنجره‌ها همزمان باز می‌شوند. برای استفاده از این مد از سوییچ multiwindow-- استفاده کنید.

عکس‌هایی که نامشان با img-2 شروع می‌شوند را در پنجره‌های جداگانه نمایش دهید.

Bash
$ feh --multiwindow img-2*

مد montage

یک عکس از کلیه عکس‌های موجود در لیست نمایش، می‌سازد . این عکس می‌تواند نمایش داده شده و یا ذخیره شود. برای استفاده از این مد از سوییچ montage-- استفاده کنید.

یک مونتاژ از عکس‌های موجود در این دایرکتوری نمایش دهید.

Bash
$ feh --montage

مد index

مانند مد montage می‌باشد. با این تفاوت که در زیر تمام عکس‌ها نام فایل عکس نیز نمایش داده می‌شود. این مد با سوییج index-- فعال می‌شود.

عکس‌های این دایرکتوری را در مد index نمایش دهید.

Bash
$ feh --index

مد thumbnails

مانند مد index می‌باشد یعنی در عکسی که مونتاژ می‌کند، زیر هر عکس نام فایل عکس را نیز نمایش می‌دهد با این تفاوت که در اینجا تمام عکس‌های کوچک قابل کلیک هستند. با کلیک بر روی هر عکس کوچک، در پنجره‌ای جداگانه عکس اصلی در مقیاس واقعی نمایش داده می‌شود. این مد با سوییچ thumbnails-- فعال می‌شود.

عکس‌هایی که به 2.jpg ختم می‌شوند را در مد thumbnails نمایش دهید.

Bash
$ feh --thumbnails *2.jpg

مد list

مد list هیچ تصویری نشان نمی‌دهد در عوض در خروجی استاندارد (اکثر مواقع ترمینال‌) اطلاعاتی از تصاویری که در لیست قابل نمایش خود دارد را به فرمت شبیه به دستور ls -l نمایش می‌دهد. این اطلاعات شامل نام فایل، فرمت فایل، عرض و ارتفاع عکس، تعداد پیکسل و سایز تصویر و چند اطلاع دیگر می‌باشد. این مد با سوییچ list-- فعال می‌شود.

اطلاعات کلیه تصاویر موجود در این دایرکتوری را نمایش دهید.

Bash
$ feh --list
 
NUM	FORMAT	WIDTH	HEIGHT	PIXELS	SIZE	ALPHA	FILENAME
1	png	540	598	322k	 72k	X	./f1.png
2	jpeg	460	288	132k	 27k	-	./img-1.jpg
3	jpeg	1280	960	  1M	431k	-	./img-10.jpg
4	jpeg	1280	1024	  1M	350k	-	./img-11.jpg
5	jpeg	1024	768	786k	340k	-	./img-12.jpg
6	jpeg	1024	768	786k	341k	-	./img-13.jpg
7	jpeg	2592	1944	  5M	899k	-	./img-14.jpg
8	jpeg	1024	768	786k	173k	-	./img-15.jpg
9	jpeg	1280	854	  1M	893k	-	./img-16.jpg
10	jpeg	480	417	200k	 49k	-	./img-2.jpg
11	jpeg	816	612	499k	 60k	-	./img-3.jpg
12	jpeg	1280	1024	  1M	997k	-	./img-4.jpg
13	jpeg	600	400	240k	 74k	-	./img-5.jpg
14	jpeg	521	834	434k	 36k	-	./img-6.jpg
15	jpeg	1600	1200	  1M	577k	-	./img-7.jpg
16	jpeg	1600	1200	  1M	309k	-	./img-8.jpg
17	jpeg	1600	1200	  1M	146k	-	./img-9.jpg

اطلاعات ۵ عکس در این دایرکتوری که دارای بیشترین عرض و ارتفاع می‌باشند را نمایش دهید.

Bash
$ feh --list | sed '1 d' | sort -k3,3nr -k4,4nr | head -n 5
 
7	jpeg	2592	1944	  5M	899k	-	./img-14.jpg
15	jpeg	1600	1200	  1M	577k	-	./img-7.jpg
16	jpeg	1600	1200	  1M	309k	-	./img-8.jpg
17	jpeg	1600	1200	  1M	146k	-	./img-9.jpg
12	jpeg	1280	1024	  1M	997k	-	./img-4.jpg

مد loadable

این مد عکسی نمایش نمی‌دهد بلکه نام کلیه فایل‌های قابل نمایش را در خروجی استاندارد می‌نویسد. این مد با سوییچ loadable-- فعال می‌شود. از این مد می‌توان برای شناسایی عکس‌ها استفاده کرد.

نام کلیه عکس‌هایی که قابل load شدن توسط feh می‌باشند را نمایش دهید.

Bash
$ feh --loadable

مد unloadable

مانند مد loadable عکسی را نمایش نمی‌دهد ولی بر عکس آن، لیست فایل‌هایی که قابل نمایش دادن توسط feh نیستند را نمایش می‌دهد. این مد با سوییچ unloadable-- فعال می‌شود.

فایل‌هایی که برای feh ناشناخته‌اند را لیست کنید.

Bash
$ feh --unloadable
 
./1.sh

مد customlist

هیچ عکسی نشان نمی‌دهد بلکه اطلاعات عکس‌ها را بر مبنای فرمتی که در جلوی سوییچ می‌آید در خروجی استاندارد چاپ می‌کند. در این فرمت می‌بایست از جا نگه‌دار‌ها استفاده کنیم.

نام فایل، عرض و ارتفاع عکس‌های دایرکتوری فعلی را در خروجی استاندارد چاپ کنید.

Bash
$ feh --customlist "%n   %w   %h"
 
1.jpg	4000	3000
10.jpg	1974	3000
100.jpg	1920	1200
101.jpg	1920	1200
102.jpg	1536	2196

حل مشکل پنجره شناور feh با geometry--

در مد slideshow پنجره نمایش‌دهنده عکس با توجه به عرض و ارتفاع هر عکس بزرگ و کوچک می‌شود. اگر این موضوع شما را آزار می‌دهد و یا اینکه خواسته شما را در لحظه‌ی بخصوصی برآورده نمی‌کند می‌توانید با استفاده از سوییچ geometry-- طول و عرض پنجره را ثابت کنید. استفاده از این سوییچ باعث می‌شود که عکس‌هایی که بزرگ‌تر از عرض و ارتفاع پنجره باشند به نسبت کوچک‌تر شده (scale) و به طور کامل درون پنجره نمایش داده شوند.

عکس‌های دایرکتوری فعلی را در پنجره‌ای به ابعاد ثابت 600x450 باز کنید.

Bash
$ feh --geometry 600x450

format specification ها یا جانگهدارها

بعضی از سوییچ‌های feh بر مبنای خواست کاربر می‌توانند اطلاعات تعریف شده‌ای را نمایش دهند. مثلا سوییچ title-- برای نمایش title پنجره عکس استفاده می‌شود. کاربری علاقه دارد عنوان پنجره فقط نام عکس باشد، دیگری علاقمند است که این عنوان مسیر کامل فایل عکس باشد و کاربر دیگری می‌خواهد شماره عکس در میان کل عکس‌ها به اضافه نام عکس نمایش داده شود مثلا: 8 of 39 - london.jpg برای برآورده‌ کردن این خواسته ابتدا می‌بایست جانگهدارهای تعریف شده را بشناسیم.

ردیفجا نگه‌دارتوضیحات
۱f% مسیر فایل عکس همراه با نام عکس را بر می‌گرداند.
۲F% مانند f% بجز اینکه رشته برگشتی escape شده است و مناسب استفاده در shell script می‌باشد.
۳w% عرض عکس. w ابتدای کلمه width است.
۴h% ارتفاع عکس. h ابتدای کلمه height است.
۵u% شماره فایل عکس جاری داخل لیست عکس‌ها. مثلا عکس شماره ۸ از ۴۰
۶l% تعداد فایل‌های داخل لیست عکس‌ها. l ابتدای کلمه length می‌باشد.
۷n% نام فایل عکس.
۸N% نام فایل عکس به صورت Escape شده. مناسب استفاده در shell script
۹m% مد فعلی feh
۱۰p% تعداد پیکسل‌های عکس. p ابتدای کلمه pixel است.
۱۱P% تعداد پیکسل‌های عکس به صورت کیلو پیکسل و مگا پیکسل
۱۲s% حجم عکس به صورت بایت. s ابتدای کلمه size است.
۱۳S% حجم عکس به صورت قابل خواندن مثلا بر حسب کیلو بایت و مگا بایت
۱۴t% فرمت عکس. t ابتدای کلمه type است.
۱۵o% آفست پنجره عکس از گوشه تصویر یعنی فاصله بالا سمت چپ عکس از بالا سمت چپ صفحه نمایش.
۱۶r% گردش عکس فعلی (rotation)
۱۷z% زوم عکس فعلی
۱۸v% شماره نسخه کنونی feh. حرف v ابتدای کلمه version می‌باشد.

معرفی چند سوییچ مفید و پر کاربرد

هر دستوری قدرت اصلی خود را از سوییچ‌هایش می‌گیرد. feh هم از این قاعده مستثنی نیست. سوییچ‌های بسیاری در دستور feh تعبیه شده است که در مواقع مورد نیاز گره از کار باز می‌کنند. در این قسمت به بررسی چند سوییچ می‌پردازیم.

سوییچ info--

این سوییچ، دستوری که در جلوی آن می‌آید را اجرا می‌کند و خروجی دستور را در قسمت پایین سمت چپ عکس چاپ می‌کند. از جانگهدارها نیز می‌توانیم با توجه به نوع دستور استفاده کنیم.

نام عکس و تاریخ دقیق را در کنار هر عکس نمایش دهید.

Bash
$ feh --geometry 500x400 --info "echo -n %n \"  \"; date" ~/doc/pic

سوییچ scale-down--

این سوییچ عرض و ارتفاع عکس‌های بزرگ را کوچک می‌کند یا به عبارت دیگر عکس را scale می‌کند تا تمامی عکس در صفحه قابل نمایش باشد.

عکس‌های دایرکتوری doc/pic/~ را به صورت scale-down نمایش دهید.

Bash
$ feh --scale-down ~/doc/pic
در اکثر مثال‌هایی که در بخش‌های بعد می‌آیند از این سوییچ استفاده می‌کنیم تا پنجره عکس، بزرگ‌تر از صفحه نمایش نشود.

سوییچ title--

این سوییچ عنوان پنجره نمایش عکس را تنظیم می‌کند و می‌تواند شامل جانگه‌دارها هم باشد. متن و مقدار جایگزین جانگه‌دارهایی که در جلوی سوییچ می‌آیند در عنوان پنجره عکس نمایش داده می‌شوند.

عکس‌های دایرکتوری doc/pic/~ را نمایش بدهید. عنوان پنجره را به این صورت تنظیم کنید: safarionline.ir - [current Image Number] of [Total Image Number] - [Image Name]

Bash
$ feh --scale-down --title "safarionline.ir - %u of %l - %n" ~/doc/pic

سوییچ filelist--

دقیقا مشابه play list نرم افزار پخش موسیقی! نام یک فایل در جلوی سوییچ filelist-- قرار می‌گیرد. محتوای هر خط این فایل آدرس یک عکس می‌باشد و feh تنها عکس‌های موجود در این فایل را نمایش می‌دهد.

اگر نام فایل - (علامت dash) باشد به معنای ورودی استاندارد است و لیست عکس‌ها از ورودی استاندارد (در اینجا اکثرا pipe) خوانده می‌شود. توجه کنید که ورودی استاندارد در اکثر مواقع صفحه کلید است ولی در اینجا تایپ کردن آدرس تک تک عکس‌ها برای نمایش چندان منطقی نیست!

به جای سوییچ طولانی filelist-- می‌توانید از سوییچ مختصر f- نیز استفاده کنید.

عکس‌های موجود در این دایرکتوری را از حجم بزرگتر به کوچکتر نمایش دهید.

Bash
$ ls -S | feh --scale-down --filelist -

کلیه عکس‌های jpg این دایرکتوری را نمایش دهید.

Bash
$ find . -d 1 -iname "*.jpg" >filelist
$ feh --scale-down --filelist filelist

سوییچ slideshow-delay--

هنگامی که در مد slideshow یعنی همان مد پیش فرض feh هستید برای نمایش عکس بعدی می‌بایست از arrow key راست استفاده کنید. ولی گاهی اوقات مثلا برای ارایه مطلب نیاز دارید تا تصویر، بعد از مدتی خود به خود عوض شده و تصویر بعدی به نمایش درآید. در این صورت می‌بایست از سوییچ slideshow-delay-- استفاده کنید. این ویژگی در ساخت screen-saver هم به کار می‌آید.

اگر هنگام نمایش اسلایدها دگمه h را بزنید حرکت خودکار عکس‌ها متوقف می‌شود. برای شروع دوباره می‌بایست مجددا کلید h را فشار دهید.

عکس‌ها دایرکتوری فعلی را به صورت تمام صفحه نشان دهید. هر عکس ۵ ثانیه نمایش داده شود و بعد به صورت خودکار عکس بعدی بیاید.

Bash
$ feh --fullscreen --slideshow-delay 5

سوییچ recursive--

کلیه تصاویر یک دایرکتوری و کلیه زیر دایرکتوری‌های آن را به صورت تو در تو بررسی می‌کند و بسته به اینکه از کدام مد استفاده می‌کنید آن‌ها را نمایش داده و یا اینکه در خروجی استاندارد می‌نویسد.

به جای استفاده از سوییچ طولانی recursive-- می‌توانید از سوییچ کوتاه r- استفاده کنید.

کلیه عکس‌های دایرکتوری doc/pic/~ و زیر دایرکتورهای آن را نمایش دهید. مدت نمایش هر عکس ۱۰ ثانیه باشد و عکس‌ها به صورت fullscreen به نمایش در بیایند.

Bash
$ feh --fullscreen --recursive --slideshow-delay  10  ~/doc/pic

سوییچ randomize--

در هنگام نمایش عکس‌ها به صورت slideshow لیست عکس‌ها را بُر زده و سپس اقدام به نمایش پنجره عکس می‌کند.

عکس‌هایی که با img-1 شروع می‌شوند را به صورت تصادفی نمایش دهید.

Bash
$ feh --scale-down --randomize img-1*

سوییچ sort--

این سوییچ لیست عکس‌ها را بر مبنای یکی از کلمات کلیدی زیر به صورت صعودی مرتب کرده و آماده استفاده می‌کند:
  • name
  • filename
  • width
  • height
  • pixels
  • size
  • format

غیر از دو مرتب‌سازی name و filename، مقداری تاخیر در شروع برنامه داریم، چون feh می‌بایست اطلاعات عکس‌ها را استخراج کند و سپس مرتب‌سازی را انجام دهد.

عکس‌های دایرکتوری جاری را بر مبنای نام عکس مرتب کرده و نمایش دهید.

Bash
$ feh --scale-down --sort name

عکس‌های دایرکتوری فعلی را بر مبنای عرض مرتب کرده و نمایش دهید.

Bash
$ feh --scale-down  --sort width

سوییچ reverse--

لیست عکس‌ها را معکوس می‌کند.

عکس‌های دایرکتوری doc/pic/~ و کلیه زیر دایرکتوری‌های آن را از بزرگترین عرض به کوچکترین عرض نمایش دهید.

Bash
$ feh --info "echo '%wx%h'" --geometry 700x550 --recursive --sort width --reverse ~/doc/pic

برای اینکه عرض و ارتفاع عکس‌ها کنترل شده باشد اندازه پنجره عکس را در ابعاد 700x550 ثابت کرده‌ایم و با استفاده از سوییچ info-- ابعاد واقعی عکس را در قسمت پایین سمت چپ عکس می‌نویسیم تا درستی عملکرد دستور را تصدیق کنیم.

بسته به تعداد عکس‌ها ممکن است آماده شدن تصاویر طول بکشد چون feh می‌بایست ابتدا کلیه عکس‌ها را بررسی کرده و عرض آن‌ها را به دست بیاورد، سپس عمل مرتب‌سازی را انجام داده و نهایتا لیست حاصل شده را بر عکس کرده و مورد استفاده قرار دهد. البته عمل زمانبر، همان بررسی عرض عکس‌ها می‌باشد و نه مرتب‌سازی و معکوس کردن.

سوییچ cycle-once--

به صورت پیش فرض feh در حالت slideshow بعد از نمایش آخرین عکس، اقدام به نمایش اولین عکس موجود در لیست عکس‌ها می‌کند. سوییچ cycle-once-- به این حالت پایان می‌دهد، یعنی بعد از نمایش آخرین عکس، پنجره نمایش بسته و feh خاتمه می‌یابد.

فقط یک‌بار تمام عکس‌های png دایرکتوری فعلی را نمایش بده.

Bash
$ find . -d 1 -iname "*.png" | feh --scale-down --filelist - --cycle-once

سوییچ draw-tinted--

بعضی سوییچ‌ها باعث می‌شوند که متنی روی عکس نوشته شود. سوییچ draw-tinted-- پس زمینه متن مورد نظر را کمی شفاف‌تر می کند تا بیشتر قابل مشاهده باشد.

مثال در سوییچ draw-filename--

سوییچ draw-filename--

این سوییچ نام فایل عکس را در بالا سمت چپ تصویر می‌نویسد.

عکس‌های این دایرکتوری و کلیه زیر دایرکتوری‌های آن را بر مبنای نام فایل مرتب کرده و نمایش دهید. نام فایل عکس روی آن نمایش داده شود تا بتوانیم بررسی کنیم که آیا مرتب‌سازی درست انجام شده است یا خیر.

Bash
$ feh --scale-down --recursive --sort filename --draw-filename --draw-tinted

سوییچ start-at--

بعد از سوییچ start-at-- نام یک فایل عکس می‌آید. این سوییچ به feh می‌گوید که در لیست عکس‌ها بگرد و عکس با نام داده شده را پیدا کن و از این عکس به بعد اقدام به نمایش عکس‌ها کن. این سوییچ مناسب جلسات ارایه مطلب می‌باشد آنجاییکه در مد پیش فرض slideshow هستید و می‌خواهید از یک عکس به خصوص به بعد بحث را شروع یا پیگیری کنید.

عکس‌های من با پیشوند -img شروع می‌شوند و سپس یک عدد به دنبال هر عکس می‌آید. این عدد به صورت صعودی می‌باشد. یعنی اول ۱ و بعد ۲ و الی آخر. عکس‌ها را مرتب کرده و سپس از عکس img-8.jpg به بعد اقدام به نمایش عکس‌ها کنید.

Bash
$ ls | sort -k1.5,1.10n | feh --start-at img-8.jpg --filelist -

سوییچ hide-pointer--

این سوییچ باعث عدم نمایش نشانگر موس می‌شود.

مثال در معرفی سوییچ fullscreen--

سوییچ fullscreen--

با استفاده از این سوییچ عکس‌ها در حالت تمام صفحه به نمایش در می‌آیند.

کلیه عکس‌هایی که نامشان متشکل از ۹ حرف است را در حالت تمام صفحه نمایش دهید. کاربر امکان کار با موس را نداشته باشد و نام فایل به صورت خوانا روی عکس نمایش داده شود.

Bash
$ feh --draw-filename --draw-tinted --fullscreen --hide-pointer ?????????

سوییچ index-info--

تنها در دو مد index و thumbnails کاربرد دارد و در متن جلوی آن، که فرمت متن قرار گرفته در زیر هر عکس کوچک را مشخص می‌کند، می‌توان از جانگه‌دارها استفاده کرد.

یک عکس از کلیه عکس‌های موجود در دایرکتوری فعلی تهیه کنید. زیر هر عکس نام آن و عرض و ارتفاع مربوط به آن نوشته شده باشد.

Bash
$ feh --index --index-info "%n\n%wx%h"

سوییچ fullindex--

این سوییچ راه میانبری برای سوییچ ترکیبی --index --index-info "%n\n%S\n%wx%h" می‌باشد. مشاهده می‌کنید که این سوییچ مد index را فعال می‌کند و فقط متن زیر هر عکس کوچک، حاوی اطلاعات بیشتری نسبت به مد index معمولی می‌باشد. این اطلاعات شامل نام فایل عکس، حجم عکس به صورت خوانا و عرض و ارتفاع هر عکس می‌باشد.

سوییچ max-dimension--

کاربرد این سوییچ به این صورت است: --max-dimension widthxheigth. با استفاده از این سوییچ feh تنها عکس‌هایی را نمایش می‌دهد که عرض آن width و یا کمتر و ارتفاعش height و یا کمتر باشد. اگر عرض یا ارتفاعی برای شما اهمیت ندارد عدد آنرا یا یک مقدار بسیار بزرگ و یا ۱- بگذارید.

نکته مهم اینست که برای این منظور feh می‌بایست عرض و ارتفاع تمام عکس‌ها را محاسبه کند لذا ممکن است در زمان شروع برنامه کمی تاخیر به وجود بیاید.

عکس‌های دایرکتوری doc/pic/~ و کلیه زیر دایرکتوری‌های آن‌را که نهایتا ابعادی به اندازه 800x600 دارند به صورت اسلایدی و با توقف هر اسلاید ۳ ثانیه نمایش دهید.

Bash
$ feh --slideshow-delay 3 --recursive --max-dimension 800x600 ~/doc/pic

سوییچ min-dimension--

کاربرد این سوییچ به این صورت است: --min-dimension widthxheight در صورت استفاده از این سوییچ feh تنها عکس‌هایی را نشان می‌دهد که حداقل عرض و ارتفاعش اعداد داده شده باشند. اگر عرض یا ارتفاعی برای شما اهمیت ندارد آنرا صفر بگذارید.

عکس‌های دایرکتوری doc/pic/~ را نمایش دهید. حداقل ارتفاع عکس‌ها می‌بایست ۴۵۰ پیکسل باشد.

Bash
$ feh --info "echo %wx%h" --geometry 700x550 --min-dimension 0x450 ~/doc/pic

برای کنترل پنجره نمایش عکس، آنرا در ابعاد 700x500 محصور کرده‌ایم. ابعاد واقعی عکس را با استفاده از سوییچ info-- در پایین سمت چپ هر عکس می‌نویسیم تا درستی عملکرد دستور را مشاهده کنیم.

سوییچ no-menus--

به صورت پیش فرض می‌توان روی هر عکس کلیک راست کرد و در این صورت منویی باز می‌شود. برای غیر فعال کردن این ویژگی از سوییچ no-menus-- استفاده می‌شود.

عکس‌های دایرکتوری doc/pic/~ را به صورت تو در تو و تمام صفحه نمایش دهید. بعد از ۳ ثانیه مکث روی هر عکس، عکس بعدی به نمایش در بیاید. امکان راست کلیک کردن روی هر عکس را از کاربر بگیرید.

Bash
$ feh --recursive --fullscreen --slideshow-delay 3 --no-menus ~/doc/pic

سوییچ version--

شماره نسخه کنونی دستور feh را در خروجی استاندارد (اکثرا ترمینال) می‌نویسد.

از چه نسخه feh استفاده میکنید؟

Bash
$ feh --version
feh version 2.7
Compile-time switches: curl xinerama

سوییچ image-bg--

تنها سه مقدار تعریف شده می‌گیرد : checks یا white یا black. گاهی اوقات در حاشیه عکس فضای شفاف و استفاده نشده‌ای قرار می‌گیرد. مثلا در سوییچ geometry-- که عکس‌های بزرگ با توجه به ابعاد پنجره به نسبت عرض و ارتفاع کوچک می‌شوند ممکن است در اطراف عکس فضای خالی وجود داشته باشد. با استفاده از سوییچ image-bg-- این فضای خالی را با سه رنگ شطرنجی، سفید و سیاه می‌توانیم پر کنیم.

عکس‌های دایرکتوری doc/pic/~ را در پنجره‌ای به ابعاد 750x450 نمایش دهید. فضای اطراف عکس‌ها سیاه رنگ باشد. نام و عرض و ارتفاع واقعی هر عکس را نیز درون عکس نمایش دهید.

Bash
$ feh --image-bg black --draw-tinted --info "echo %n; echo %wx%h" --geometry 750x450 ~/doc/pic

سوییچ caption-path--

اگر نام عکسی name.jpg باشد می‌توان هرگونه اطلاعاتی در مورد آن عکس را در فایلی به نام name.jpg.txt ذخیره کرد و از feh خواست که آن متن را درون عکس نمایش دهد. با استفاده از سوییچ caption-path-- به feh می‌گویید که فایل caption عکس‌ها در کجا قرار گرفته است.

نکته مهم: این آدرس به صورت نسبی نسبت به آدرس هر عکس سنجیده می‌شود.

caption هر عکس را در صورت وجود، روی عکس نمایش دهید.

Bash
$ feh --geometry 750x450 --caption-path . ~/doc/pic

action ها

خوشبختانه feh علاوه بر تعریف امکانات درونی بسیار زیاد امکان تعریف ۱۰ عملیات شخصی کاربر را نیز فراهم می‌کند. این ۱۰ عملیات از سوییچ action-- و action1-- شروع و تا action9-- ادامه دارد.

در جلوی این سوییچ‌ها دستور دلخواه کاربر می‌آید که در محیط sh اجرا می‌گردد. از جانگه‌دار‌ها می‌توان بسته به نوع هر دستور در این مکان استفاده کرد. سوییچ action-- با زدن دگمه 0 اجرا می‌شود. سوییچ action1-- باز زدن دگمه 1 و به همین ترتیب action های بعدی با کلیدهای همسان با شماره‌شان اجرا می‌گردند.

با اجرا شدن هر اکشن به صورت پیش فرض عکس بعدی به نمایش در می‌آید. برای غیر فعال کردن این حالت قبل از دستور ; بگذارید.

دستور feh بنویسید که با زدن دگمه ۷ آدرس فایل عکس و عرض و ارتفاع عکس نمایش داده شده را در خروجی استاندارد (ترمینال) چاپ کند.

Bash
$ feh --geometry 750x450 --action7 "echo '%f ---> %wx%h'" ~/doc/pic

دستور feh بنویسید که با زدن دگمه ۹ آدرس دقیق عکس را در فایل images.txt/~ ذخیره کند. بعد از اجرا شدن دستور، عکس عوض نشود و همان عکسی که آدرسش در فایل قرار گرفته است نمایش داده شود.

Bash
$ feh --geometry 750x450 --action9 ';y=`realpath "%f"`; echo "$y" >>~/images.txt' ~/doc/pic

به ; که قبل از دستورات اکشن آمده است توجه کنید. این کاراکتر باعث می‌شود که پس از اجرای اکشن، عکس فعلی دوباره نمایش داده شود و نه عکس بعدی.

سوییچ draw-action--

با استفاده از این سوییچ در صورتیکه action یا action هایی تعریف کرده باشیم، لیست آن‌ها در بالا سمت چپ عکس نمایش داده می‌شود.

دستور feh بنویسید که با زدن دگمه ۸ عکس جاری را در دایرکتوری images/~ کپی کند. لطفا لیست اکشن‌ها را در هر عکس نمایش دهید.

Bash
$ mkdir ~/images
$ feh --draw-action --action8 ';cp "%f" ~/images' ~/doc/pic

نکته مهم: جا‌نگه‌دار f% را بین "" محصور کرده‌ایم تا فایل‌هایی که حاوی space در نامشان هستند درست quote شوند.

به جای استفاده از سوییچ draw-action--، می‌توان هنگام نمایش عکس، دگمه a را زد. برای پنهان کردن اکشن‌ها، مجددا هنگامی که فوکوس روی عکس است a را فشار دهید.

سیگنالها و feh

دو سیگنال SIGUSER1 و SIGUSR2 در feh به ترتیب برای حرکت به سمت عکس بعدی و حرکت به سمت عکس قبلی آماده استفاده هستند. به مثال زیر توجه کنید.

با استفاده از سیگنال SIGUSR1 عکس‌های دایرکتوری doc/pic/~ را به صورت اسلاید نمایش دهید. مدت نمایش هر عکس ۳ ثانیه باشد.

Bash
$ feh --geometry 500x500 --scale-down ~/doc/pic &
$ while pidof feh 1>/dev/null 2>&1
do 
	kill -SIGUSR1 `pidof feh`
	sleep 3
done

در مثال فوق ابتدا feh در پس زمینه اجرا می‌کنیم تا خط فرمان برای پذیرش دستورات بعدی آزاد شود. سپس در حلقه while مداوما از وجود پروسس feh اطمینان حاصل می‌کنیم. اگر پروسس وجود داشت با استفاده از دستور kill سیگنال SIGUSR1 را به آن ارسال می‌کنیم.

استفاده از سیگنال SIGUSR2 برای نمایش عکس قبلی دقیقا مشابه سیگنال SIGUSR1 است.

عکس‌های دایرکتوری فعلی را بر حسب حجم فایل به صورت نزولی مرتب کنید ولی با استفاده از سیگنال SIGUSR2 لیست عکس‌ها را به صورت معکوس (از کمترین به بیشترین حجم) مرور کنید.

Bash
$ ls -S  | feh --filelist - --geometry 500x500 --scale-down &
$ while pidof feh 1>/dev/null 2>&1
do 
	kill -SIGUSR2 `pidof feh`
	sleep 3
done

feh بعنوان تنظیم کننده wallpaper

یکی از مفیدترین قابلیت‌های feh همانا قابلیت نصب wallpaper است. feh به صورت پیش فرض کد اجرا شده جهت نصب wallpaper جدید را در فایل fehbg./~ قرار میدهد. با قرار دادن آدرس این فایل در فایل startup محیط گرافیگی خود (فایل xinitrc.) همیشه می‌توانید آخرین wallpaper خود را در پس زمینه داشته باشید.

feh قابلیت نصب عکس زمینه در ۵ حالت مختلف را دارد. این حالت‌ها را به صورت جداگانه در زیر مرور می‌کنیم. لطفا بعد از خواندن توضیحات سه عکس با این ابعاد انتخاب کنید: یکی بسیار بزرگ، دومی متوسط و سومی کوچک و ۵ سوییچ زیر را روی هر ۳ عکس اجرا کنید تا تفاوت سوییچ‌ها را بهتر متوجه شوید.

سوییچ bg-center--

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

عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت center استفاده کنید.

Bash
$ feh --bg-center ~/doc/pic/5.jpg

سوییچ bg-fill--

عکس تمام صفحه‌ی پس زمینه را می‌پوشاند. ممکن است عکس کوچک و بزرگ شود ولی نسبت عرض و ارتفاع آن حفظ می‌شود و همچنین احتمال دارد قسمتهایی از عکس در پس زمینه حذف شود.

عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت fill استفاده کنید.

Bash
$ feh --bg-fill ~/doc/pic/5.jpg

سوییچ bg-max--

مانند سوییچ bg-fill-- نسبت عرض و ارتفاع عکس را حفظ می‌کند ولی سعی در پوشاندن کل فضای پس زمینه ندارد بلکه تصویر را به حدی بزرگ یا کوچک می‌کند که یک طرف صفحه نمایش فضای سیاه رنگ داشته باشد. کل عکس بدون حذف‌شدگی در پس زمینه نمایش داده می‌شود.

عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت max استفاده کنید.

Bash
$ feh --bg-max ~/doc/pic/5.jpg

سوییچ bg-scale--

عکس تمام صفحه را می‌پوشاند و ممکن است عکس کوچک و بزرگ شود و در این کوچک و بزرگ شدن نسبت عرض و ارتفاع حفظ نمی‌شود.

عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت scale استفاده کنید.

Bash
$ feh --bg-scale ~/doc/pic/5.jpg

سوییچ bg-tile--

اگر عکس کوچک باشد آنرا به صورت کاشی‌وار در پس زمینه نشان می‌دهد. عکس‌ها کوچک و بزرگ نمی‌شوند.

عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت tile استفاده کنید.

Bash
$ feh --bg-tile ~/doc/pic/5.jpg

نظر شما



 
 
 
لینک‌های مفید