| FVWMREARRANGE(1) | FVWMREARRANGE(1) |
نام (NAME)
FvwmRearrange - بازآرایی و مرتبسازی پنجرههای fvwm
خلاصه دستور (SYNOPSIS)
FvwmRearrange [گزینهها] [کادر محصورکننده] [گزینهها]
دستور FvwmRearrange توسط fvwm فراخوانی و اجرا میشود، بنابراین اجرای مستقیم آن از خط فرمان کار نخواهد کرد.
توضیحات (DESCRIPTION)
این ماژول را میتوان برای کاشیکاری (tile) یا چینش آبشاری (cascade) پنجرهها فراخوانی کرد.
هنگام کاشیکاری، این ماژول پنجرهها را در یک شبکه (جدول یا ماتریس) درون کادر محصورکننده (بهطور پیشفرض ناحیه کاری مانیتور جاری) میچیند. کاشیکاری بهگونهای انجام میشود که پنجرهها با یکدیگر همپوشانی نداشته باشند. هنگام جابهجایی و تغییر اندازه پنجرهها برای جا گرفتن در شبکه، اندازه آنها به نزدیکترین اندازه افزایشی مشخصشده توسط راهنماهای اندازه پنجره (size hints) تغییر مییابد (به همین دلیل ممکن است گاهی بین پنجرههای کاشیکاریشده فاصلهای دیده شود که در برنامههای ترمینال رایج است). برای لغو این رفتار (و حذف فاصلهها) از سبک (Style) ResizeHintOverride روی پنجرههای دارای راهنمای اندازه استفاده کنید.
هنگام چینش آبشاری، این ماژول پنجرهها را درون کادر محصورکننده از گوشه بالا سمت چپ کادر بهصورت آبشاری مرتب میکند. پنجرهها برای قرارگیری در کادر محصورکننده تغییر اندازه میدهند و لایهبندی بهگونهای انجام میشود که نوار عنوان تمامی پنجرههای متوالی در زیر پنجره قبلی قابل دیدن باشد.
رفتار هر دو حالت کاشیکاری و آبشاری را میتوان از طریق گزینههای فهرستشده در زیر پیکربندی کرد. این گزینهها میتوانند اندازه کادر محصورکننده، امکان تغییر اندازه پنجرهها، پنجرههای تحت تأثیر و موارد دیگر را کنترل کنند.
فراخوانی (INVOCATION)
بهتر است FvwmRearrange از طریق یک منو، کلید میانبر یا دکمه فراخوانی شود. گزینههای خط فرمان متعددی وجود دارند که میتوان از آنها برای کنترل نحوه چینش آبشاری/کاشیکاری پنجرهها استفاده کرد که در ادامه شرح داده شدهاند. فراخوانی FvwmRearrange بدون هیچ گزینهای، پنجرههای روی مانیتور جاری را بهطور خودکار کاشیکاری میکند (نگاه کنید به _-auto_tile):
FvwmRearrange
این دستور تمام پنجرههای ناحیه کاری مانیتور جاری را در یک شبکه کاشیکاری میکند. اندازه این شبکه بر اساس تعداد پنجرهها محاسبه میشود تا شبکه حتیالامکان مربعشکل باشد. پنجرههای ردیف بالا برای اشغال فضای اضافی و پر کردن کل ناحیه کاری تغییر اندازه میدهند. افزودن آرگومانهای اضافی میتواند این رفتار را تغییر دهد، برای مثال:
FvwmRearrange -tile -swap 10 10 90 90
این فراخوانی پنجرهها را در یک ستون با کادر محصورکنندهای که از ۱۰ در ۱۰ درصد داخل و پایین ناحیه کاری مانیتور شروع شده و در ۹۰ در ۹۰ درصد داخل و پایین ناحیه کاری پایان مییابد، کاشیکاری میکند. مثالی دیگر:
FvwmRearrange -cascade 10 2 80 70
این فراخوانی پنجرهها را با شروع از ۱۰ در ۲ درصد داخل و پایین ناحیه کاری مانیتور بهصورت آبشاری میچیند. پنجرهها بهگونهای تغییر اندازه میدهند که عرض و ارتفاع آنها ۷۵ درصد کادر محصورکننده باشد، کادری که در ۸۰ در ۷۰ درصد ناحیه کاری پایان مییابد.
همچنین میتوان FvwmRearrange را چندین بار روی یک مانیتور با کادرهای محصورکننده مختلف اجرا کرد. به این ترتیب میتوانید کنترل بهتری بر نحوه کاشیکاری پنجرهها داشته باشید. مثال زیر را در نظر بگیرید:
FvwmRearrange -tile -swap 0 0 35 100 FvwmRearrange 35 0 100 100
دستور نخست یک تکستون از پنجرهها در ۳۵٪ سمت چپ مانیتور ایجاد میکند و دستور دوم پنجرههای سمت راست (۶۵٪ مانیتور) را بهصورت خودکار کاشیکاری مینماید. بدین ترتیب میتوانید نحوه کاشیکاری پنجرهها را در بخشهای مختلف مانیتور بهطور مستقل از یکدیگر مدیریت کنید.
اگر میخواهید هنگام اضافه شدن پنجرههای جدید FvwmRearrange بهطور خودکار اجرا شود، از FvwmEvent برای اجرای FvwmRearrange در رویداد add_window استفاده کنید. در صورت استفاده از چندین کادر محصورکننده (مانند مثال بالا)، سبک ManualPlacement به شما اجازه میدهد پنجره را در همان بخشی از صفحه که میخواهید کاشیکاری شود قرار دهید.
گزینهها (OPTIONS)
تنظیم و پیکربندی FvwmRearrange تنها از طریق گزینههای خط فرمان انجام میشود. این گزینهها میتوانند قبل یا بعد از کادر محصورکننده بیایند و همگی با '-' شروع میشوند. در ادامه، گزینهها به دستههای گزینههای کاشیکاری (TILING OPTIONS)، گزینههای آبشاری (CASCADING OPTIONS)، گزینههای عمومی (GENERAL OPTIONS)، گزینههای تغییر اندازه (RESIZING OPTIONS)، گزینههای فیلتر کردن (FILTERING OPTIONS) و گزینههای مرتبسازی (ORDERING OPTIONS) تقسیم شدهاند.
گزینههای کاشیکاری (TILING OPTIONS)
کاشیکاری پنجرههای درون کادر محصورکننده را دریافت کرده، بر اساس تعداد پنجرهها شبکهای از خانههای هماندازه میسازد، سپس با شروع از گوشه بالا سمت چپ، اندازه پنجرهها را تغییر داده و آنها را برای پر کردن خانهها جابهجا میکند. خانهها ردیف به ردیف (از چپ به راست) و رو به پایین پر میشوند.
پنجرهها ممکن است راهنماهای حداقل اندازه یا گام اندازه EWMH داشته باشند، بنابراین ممکن است میان پنجرهها فاصله بیفتد یا حداقل اندازه برخی پنجرهها بزرگتر از اندازه خانه شبکه باشد. سبک ResizeHintOverride در fvwm این رفتار را لغو کرده و باعث میشود پنجرهها بهتر در خانههای خود جا بگیرند.
-auto_tile
-tile
-max_n N
-swap
-fill_start
-fill_end
-gap_x N, -gap_y N, -gap N
گزینههای آبشاری (CASCADING OPTIONS)
چینش آبشاری تمام پنجرههای درون کادر محصورکننده را دریافت کرده، نخستین پنجره را در گوشه بالا سمت چپ کادر قرار میدهد، سپس پنجره دوم را با کمی جابهجایی به سمت پایین و راست درست روی پنجره اول میچیند تا پنجره قبلی در پشت آن قابل دیدن باشد. این فرایند برای هر پنجره با قرارگیری کمی پایینتر و راستتر از پنجره قبلی تکرار میشود.
بهطور پیشفرض اندازه پنجرهها بهگونهای تغییر میکند که ارتفاع و عرض آنها ۷۵٪ ارتفاع و عرض کادر محصورکننده باشد. با این حال هنگام چینش آبشاری، اندازه پنجرهها کوچک میشود تا درون کادر محصورکننده باقی بمانند. گزینههای -nostretch و -noresize از کشیده شدن یا تغییر اندازه پنجرهها جلوگیری میکنند.
-cascade
-cascadew arg
-cascadeh arg
-inc_equal
-incx arg
-incy arg
-flatx
-flaty
گزینههای عمومی (GENERAL OPTIONS)
-screen name
-noraise
-maximize
-animate
-ewmhiwa
-win_cmd COMMAND
گزینههای تغییر اندازه (RESIZING OPTIONS)
بهطور پیشفرض هر دو حالت کاشیکاری و آبشاری اندازه پنجرهها را بر اساس گزینههای دادهشده تغییر میدهند. این گزینهها این رفتار را محدود میکنند.
-noresize
-nostretch
-nostretchx
-nostretchy
گزینههای فیلتر کردن (FILTERING OPTIONS)
این گزینهها تعیین میکنند کدام پنجرههای داخل کادر محصورکننده کاشیکاری یا آبشاری شوند.
-all
-some
-skiplist
-sticky
-sticky_page
-sticky_desk
-transient
-no_maximized
-no_titled
-desk
-on_screen
گزینههای مرتبسازی (ORDERING OPTIONS)
پنجرهها بر اساس ترتیب خود کاشیکاری یا آبشاری میشوند. بهطور پیشفرض این ترتیب بر اساس ترتیب WindowList در fvwm است (که معمولاً بر اساس ترتیب آخرین فوکوس پنجرههاست). این گزینهها ترتیب پنجرهها را کنترل میکنند.
-order_name
-order_icon
-order_class
-order_resource
-order_xy
-order_yx
-order_hw
-order_wh
-reverse
کادر محصورکننده (BOUNDING BOX)
کادر محصورکننده ناحیهای است که FvwmRearrange پنجرهها را هنگام کاشیکاری/آبشاری در آن یافته و جایگذاری میکند. کادر محصورکننده پایه همان ناحیه کاری مانیتور جاری یا مانیتور مشخصشده از طریق گزینه -screen name است. اگر گزینه -ewmhiwa داده شود، کادر محصورکننده پایه ناحیه کاری را نادیده گرفته و از کل مانیتور استفاده میکند.
میتوان تا چهار عدد را در خط فرمان برای تعیین کادر محصورکننده نسبت به کادر محصورکننده پایه مانیتور مشخص کرد. این اعداد موقعیت گوشههای کادر محصورکننده را به ترتیب زیر مشخص میکنند (پیشفرض "0 0 100 100" است):
چپ بالا راست پایین (Left Top Right Bottom)
این اعداد به عنوان درصدی از کادر محصورکننده پایه در نظر گرفته میشوند. برای نمونه کادر محصورکننده "10 5 85 80" از ۱۰٪ عرض ناحیه کاری از سمت چپ شروع شده و در ۸۵٪ عرض ناحیه کاری پایان مییابد، و از ۵٪ ارتفاع ناحیه کاری از بالا شروع شده و در ۸۰٪ ارتفاع ناحیه کاری پایان مییابد. اگر به هر عدد حرف p پسوند شود، به جای درصد، یک مقدار پیکسلی در نظر گرفته میشود. تعیین صفر برای هر پارامتر معادل تعیین نکردن آن است (برای مثال "0 0 0 0" همان "0 0 100 100" است).
اشکالات (BUGS)
احتمالاً حذف یا بستن پنجرهها در حین بازآرایی آنها ایده خوبی نیست.
نویسندگان (AUTHORS)
Andrew Veliath (ماژولهای اصلی FvwmTile و FvwmCascade)، Dominik Vogt (ادغام FvwmTile و FvwmCascade در FvwmRearrange)، Jaimos Skriletz (بهروزرسانی برای fvwm3 از جمله افزودن گزینه auto_tile).
| 2026-06-28 |