| BSPWM(1) | Bspwm Manual | BSPWM(1) |
نام (NAME)
bspwm - مدیر پنجره افراز فضای دودویی
خلاصه دستور (SYNOPSIS)
bspwm [-h|-v|-c CONFIG_PATH]
bspc --print-socket-path
bspc DOMAIN [SELECTOR] COMMANDS
bspc COMMAND [OPTIONS] [ARGUMENTS]
توضیحات (DESCRIPTION)
bspwm یک مدیر پنجره کاشیبندی است که پنجرهها را به صورت برگهای یک درخت دودویی کامل نمایش میدهد.
کنترل و پیکربندی آن از طریق bspc انجام میگیرد.
گزینهها (OPTIONS)
-h
-v
-c CONFIG_PATH
--print-socket-path
تعاریف مشترک (COMMON DEFINITIONS)
DIR := north | west | south | east CYCLE_DIR := next | prev
گزینشگرها (SELECTORS)
گزینشگرها برای انتخاب یک گره، میزکار، یا نمایشگر هدف به کار میروند. یک گزینشگر میتواند هدف را به صورت نسبی توصیف کند یا آن را به صورت سراسری نامگذاری نماید.
گزینشگرها شامل یک مرجع اختیاری، یک توصیفکننده و هر تعداد تعدیلکننده بدون تداخل به صورت زیر هستند:
[REFERENCE#]DESCRIPTOR(.MODIFIER)*
اهداف نسبی با توجه به مرجع دادهشده محاسبه میشوند (مقدار مرجع پیشفرض focused است).
میتوان یک علامت تعجب را پیش از هر تعدیلکننده قرار داد تا معنای آن وارونه شود.
نویسههای روبرو را نمیتوان در نامهای نمایشگر یا میزکار به کار برد: #، :، ..
گزینشگر ویژه %<name> میتواند برای انتخاب یک نمایشگر یا میزکار با نام نامعتبر استفاده شود.
گره (Node)
انتخاب یک گره.
NODE_SEL := [NODE_SEL#](DIR|CYCLE_DIR|PATH|any|first_ancestor|last|newest|
older|newer|focused|pointed|biggest|smallest|
<node_id>)[.[!]focused][.[!]active][.[!]automatic][.[!]local]
[.[!]leaf][.[!]window][.[!]STATE][.[!]FLAG][.[!]LAYER][.[!]SPLIT_TYPE]
[.[!]same_class][.[!]descendant_of][.[!]ancestor_of]
STATE := tiled|pseudo_tiled|floating|fullscreen
FLAG := hidden|sticky|private|locked|marked|urgent
LAYER := below|normal|above
SPLIT_TYPE := horizontal|vertical
PATH := @[DESKTOP_SEL:][[/]JUMP](/JUMP)*
JUMP := first|1|second|2|brother|parent|DIR
توصیفکنندهها
(Descriptors)
DIR
CYCLE_DIR
PATH
any
first_ancestor
last
newest
older
newer
focused
pointed
biggest
smallest
<node_id>
جهشهای
مسیر (Path Jumps)
گره اولیه، گره فوکوسشده (یا ریشه در صورتی که مسیر با / آغاز شود) از میزکار مرجع (یا میزکار انتخابشده اگر مسیر دارای پیشوند DESKTOP_SEL باشد) است.
1|first
2|second
brother
parent
DIR
تعدیلکنندهها
(Modifiers)
[!]focused
[!]active
[!]automatic
[!]local
[!]leaf
[!]window
[!](tiled|pseudo_tiled|floating|fullscreen)
[!]same_class
[!]descendant_of
[!]ancestor_of
[!](hidden|sticky|private|locked|marked|urgent)
[!](below|normal|above)
[!](horizontal|vertical)
میزکار / Desktop
یک میزکار را برمیگزیند.
DESKTOP_SEL := [DESKTOP_SEL#](CYCLE_DIR|any|last|newest|older|newer|
[MONITOR_SEL:](focused|^<n>)|
<desktop_id>|<desktop_name>)[.[!]focused][.[!]active]
[.[!]occupied][.[!]urgent][.[!]local]
[.[!]LAYOUT][.[!]user_LAYOUT]
LAYOUT := tiled|monocle
توصیفکنندهها
/ Descriptors
CYCLE_DIR
any
last
newest
older
newer
focused
^<n>
<desktop_id>
<desktop_name>
دگرگونسازها
/ Modifiers
[!]focused
[!]active
[!]occupied
[!]urgent
[!]local
[!](tiled|monocle)
[!](user_tiled|user_monocle)
نمایشگر / Monitor
یک نمایشگر را برمیگزیند.
MONITOR_SEL := [MONITOR_SEL#](DIR|CYCLE_DIR|any|last|newest|older|newer|
focused|pointed|primary|^<n>|
<monitor_id>|<monitor_name>)[.[!]focused][.[!]occupied]
توصیفکنندهها
/ Descriptors
DIR
CYCLE_DIR
any
last
newest
older
newer
focused
pointed
primary
^<n>
<monitor_id>
<monitor_name>
دگرگونسازها
/ Modifiers
[!]focused
[!]occupied
وضعیتهای پنجره (WINDOW STATES)
tiled
pseudo_tiled
floating
fullscreen
پرچمهای گره (NODE FLAGS)
hidden
sticky
private
locked
marked
urgent
لایههای پشتهسازی (STACKING LAYERS)
سه لایه پشتهسازی وجود دارد: BELOW، NORMAL و ABOVE.
در هر لایه، پنجرهها به این ترتیب قرار میگیرند: tiled & pseudo-tiled < floating < fullscreen.
جایگاهها (RECEPTACLES)
یک گره برگ که هیچ پنجرهای را نگه نمیدارد، جایگاه (receptacle) نامیده میشود. هنگامی که در حالت خودکار گرهای روی یک جایگاه درج میشود، جایگزین آن جایگاه خواهد شد. یک جایگاه میتواند روی یک گره درج شود، از پیش برگزیده شود یا نابود گردد. بنابراین میتوان از جایگاهها برای ساخت درختی استفاده کرد که برگهای آن جایگاهها هستند. با استفاده از قواعد مناسب، میتوان پنجرهها را روی برگهای این درخت فرستاد. این قابلیت در examples/receptacles برای ذخیره و بازسازی چینشها به کار رفته است.
دامنهها (DOMAINS)
گره (Node)
نحو
عمومی (General Syntax)
node [NODE_SEL] COMMANDS
اگر NODE_SEL حذف شود، focused فرض میگردد.
فرمانها
(Commands)
-f, --focus [NODE_SEL]
-a, --activate [NODE_SEL]
-d, --to-desktop DESKTOP_SEL [--follow]
-m, --to-monitor MONITOR_SEL [--follow]
-n, --to-node NODE_SEL [--follow]
-s, --swap NODE_SEL [--follow]
-p, --presel-dir [~]DIR|cancel
-o, --presel-ratio RATIO
-v, --move dx dy
-z, --resize top|left|bottom|right|top_left|top_right|bottom_right|bottom_left dx dy
-y, --type CYCLE_DIR|horizontal|vertical
-r, --ratio RATIO|(+|-)(PIXELS|FRACTION)
-R, --rotate 90|270|180
-F, --flip horizontal|vertical
-E, --equalize
-B, --balance
-C, --circulate forward|backward
-t, --state ~|[~]STATE
-g, --flag hidden|sticky|private|locked|marked[=on|off]
-l, --layer below|normal|above
-i, --insert-receptacle
-c, --close
-k, --kill
میزکار (Desktop)
نحو کلی (General
Syntax)
desktop [DESKTOP_SEL] COMMANDS
اگر DESKTOP_SEL نادیده گرفته شود، focused فرض میشود.
فرمانها
(COMMANDS)
-f, --focus [DESKTOP_SEL]
-a, --activate [DESKTOP_SEL]
-m, --to-monitor MONITOR_SEL [--follow]
-s, --swap DESKTOP_SEL [--follow]
-l, --layout CYCLE_DIR|monocle|tiled
-n, --rename <new_name>
-b, --bubble CYCLE_DIR
-r, --remove
نمایشگر (Monitor)
نحو کلی (General
Syntax)
monitor [MONITOR_SEL] COMMANDS
اگر MONITOR_SEL نادیده گرفته شود، focused فرض میشود.
فرمانها
(Commands)
-f, --focus [MONITOR_SEL]
-s, --swap MONITOR_SEL
-a, --add-desktops <name>...
-o, --reorder-desktops <name>...
-d, --reset-desktops <name>...
-g, --rectangle WxH+X+Y
-n, --rename <new_name>
-r, --remove
پرسوجو (Query)
نحو کلی (General
Syntax)
query COMMANDS [OPTIONS]
فرمانها
(Commands)
انتخابگرهای اختیاری از نوع مرجع هستند.
-N, --nodes [NODE_SEL]
-D, --desktops [DESKTOP_SEL]
-M, --monitors [MONITOR_SEL]
-T, --tree
گزینهها
(Options)
-m,--monitor [MONITOR_SEL|MONITOR_MODIFIERS], -d,--desktop [DESKTOP_SEL|DESKTOP_MODIFIERS], -n,--node [NODE_SEL|NODE_MODIFIERS]
--names
مدیر پنجره (Wm)
نحو کلی (General
Syntax)
wm COMMANDS
فرمانها
(Commands)
-d, --dump-state
-l, --load-state <file_path>
-a, --add-monitor <name> WxH+X+Y
-O, --reorder-monitors <name>...
-o, --adopt-orphans
-h, --record-history on|off
-g, --get-status
-r, --restart
قانون (Rule)
نحو کلی (General
Syntax)
rule COMMANDS
فرمانها
(Commands)
-a, --add (<class_name>|*)[:(<instance_name>|*)[:(<name>|*)]] [-o|--one-shot] [monitor=MONITOR_SEL|desktop=DESKTOP_SEL|node=NODE_SEL] [state=STATE] [layer=LAYER] [honor_size_hints=(true|false|tiled|floating)] [split_dir=DIR] [split_ratio=RATIO] [(hidden|sticky|private|locked|marked|center|follow|manage|focus|border)=(on|off)] [rectangle=WxH+X+Y]
-r, --remove ^<n>|head|tail|(<class_name>|*)[:(<instance_name>|*)[:(<name>|*)]]...
-l, --list
پیکربندی (Config)
نحو کلی (General
Syntax)
config [-m MONITOR_SEL|-d DESKTOP_SEL|-n NODE_SEL] <setting> [<value>]
اشتراک (Subscribe)
نحو کلی (General
Syntax)
subscribe [OPTIONS] (all|report|monitor|desktop|node|...)*
گزینهها
(Options)
-f, --fifo
-c, --count COUNT
خروج / Quit
نحو کلی / General
Syntax
quit [<status>]
کدهای خروج / EXIT CODES
اگر کارساز نتواند پیامی را پردازش کند، bspc با یک کد خروج غیرصفر خارج خواهد شد.
تنظیمات / SETTINGS
رنگها در قالب #RRGGBB هستند، متغیرهای بولی برابر با true، on، false یا off میباشند.
تمام تنظیمات بولی بهطور پیشفرض false هستند مگر خلاف آن ذکر شده باشد.
تنظیمات سراسری / Global Settings
normal_border_color
active_border_color
focused_border_color
presel_feedback_color
split_ratio
status_prefix
external_rules_command
automatic_scheme
initial_polarity
directional_focus_tightness
removal_adjustment
presel_feedback
borderless_monocle
gapless_monocle
top_monocle_padding, right_monocle_padding, bottom_monocle_padding, left_monocle_padding
single_monocle
borderless_singleton
pointer_motion_interval
pointer_modifier
pointer_action1, pointer_action2, pointer_action3
click_to_focus
swallow_first_click
focus_follows_pointer
pointer_follows_focus
pointer_follows_monitor
mapping_events_count
ignore_ewmh_focus
ignore_ewmh_fullscreen
ignore_ewmh_struts
center_pseudo_tiled
remove_disabled_monitors
remove_unplugged_monitors
merge_overlapping_monitors
تنظیمات نمایشگر و میزکار (Monitor and Desktop Settings)
top_padding, right_padding, bottom_padding, left_padding
تنظیمات میزکار (Desktop Settings)
window_gap
تنظیمات گره (Node Settings)
border_width
honor_size_hints
کلیدهای اشارهگر (POINTER BINDINGS)
click_to_focus
pointer_modifier + button1
pointer_modifier + button2
pointer_modifier + button3
رفتار pointer_modifier + button<n> را میتوان از طریق تنظیم pointer_action<n> تغییر داد.
رویدادها (EVENTS)
report
monitor_add <monitor_id> <monitor_name> <monitor_geometry>
monitor_rename <monitor_id> <old_name> <new_name>
monitor_remove <monitor_id>
monitor_swap <src_monitor_id> <dst_monitor_id>
monitor_focus <monitor_id>
monitor_geometry <monitor_id> <monitor_geometry>
desktop_add <monitor_id> <desktop_id> <desktop_name>
desktop_rename <monitor_id> <desktop_id> <old_name> <new_name>
desktop_remove <monitor_id> <desktop_id>
desktop_swap <src_monitor_id> <src_desktop_id> <dst_monitor_id> <dst_desktop_id>
desktop_transfer <src_monitor_id> <src_desktop_id> <dst_monitor_id>
desktop_focus <monitor_id> <desktop_id>
desktop_activate <monitor_id> <desktop_id>
desktop_layout <monitor_id> <desktop_id> tiled|monocle
node_add <monitor_id> <desktop_id> <ip_id> <node_id>
node_remove <monitor_id> <desktop_id> <node_id>
node_swap <src_monitor_id> <src_desktop_id> <src_node_id> <dst_monitor_id> <dst_desktop_id> <dst_node_id>
node_transfer <src_monitor_id> <src_desktop_id> <src_node_id> <dst_monitor_id> <dst_desktop_id> <dst_node_id>
node_focus <monitor_id> <desktop_id> <node_id>
node_activate <monitor_id> <desktop_id> <node_id>
node_presel <monitor_id> <desktop_id> <node_id> (dir DIR|ratio RATIO|cancel)
node_stack <node_id_1> below|above <node_id_2>
node_geometry <monitor_id> <desktop_id> <node_id> <node_geometry>
node_state <monitor_id> <desktop_id> <node_id> tiled|pseudo_tiled|floating|fullscreen on|off
node_flag <monitor_id> <desktop_id> <node_id> hidden|sticky|private|locked|marked|urgent on|off
node_layer <monitor_id> <desktop_id> <node_id> below|normal|above
pointer_action <monitor_id> <desktop_id> <node_id> move|resize_corner|resize_side begin|end
لطفاً توجه داشته باشید که bspwm نمایشگرها را پیش از خواندن پیامها از سوکت خود مقداردهی اولیه میکند، بنابراین رویدادهای اولیه نمایشگر قابل دریافت نیستند.
قالب گزارش / REPORT FORMAT
هر پیام رویداد گزارش از مواردی تشکیل شده است که با دونقطه از یکدیگر جدا شدهاند.
هر مورد به شکل <type><value> است که در آن <type> نویسهٔ نخست آن مورد است.
M<monitor_name>
m<monitor_name>
O<desktop_name>
o<desktop_name>
F<desktop_name>
f<desktop_name>
U<desktop_name>
u<desktop_name>
L(T|M)
T(T|P|F|=|@)
G(S?P?L?M?)
متغیرهای محیطی / ENVIRONMENT VARIABLES
BSPWM_SOCKET
مشارکتکنندگان / CONTRIBUTORS
نویسنده / AUTHOR
Bastien Dejean <nihilhill at gmail.com>
| 10/08/2025 | Bspwm 0.9.12 |