אנגליתצרפתיתספרדי

Ad


סמל OnWorks

FvwmPerl - מקוון בענן

הפעל את FvwmPerl בספק אירוח חינמי של OnWorks על אובונטו אונליין, פדורה אונליין, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה FvwmPerl שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


FvwmPerl - המניפולטור והקדם-מעבד של fvwm perl

תַקצִיר


FvwmPerl אמור להופיע על ידי fvwm(1) לפונקציונליות רגילה.

כדי להפעיל את המודול הזה, מקם את הפקודה הזו איפשהו בתצורה:

מודול FvwmPerl [פרמס]

או:

ModuleSynchronize FvwmPerl [פרמס]

אם אתה רוצה להתחיל מיד לשלוח פקודות ל-FvwmPerl.

תיאור


מודול זה נועד להרחיב פקודות fvwm עם כוח הסקריפט של perl. זה מאפשר
להטביע ביטויי perl בקבצי התצורה של fvwm ולבנות פקודות fvwm.

קְרִיאָה


אם אתה רוצה להפעיל את הגורם הייחודי והמתמשך של FvwmPerl, מומלץ
לעשות זאת מה- StartFunction. גם לקרוא לזה מלמעלה אפשר, אבל כרוך
כמה נושאים שלא נדונו כאן.

AddToFunc StartFunction I Module FvwmPerl

ישנם מספר מתגי שורת פקודה:

FvwmPerl [ --eval קו ] [ --לִטעוֹן קובץ ] [ -- תהליך מקדים [ --ציטוט char ] [ --wind wid ] [
--cmd ] [ --nosend ] [ --לא להסיר ] [ שורה | קובץ ] ] [ --יְצוּא [שמות] ] [ --שָׁהוּת ] [
--נולוק ] [ כינוי ]

מתגים ארוכים עשויים להיות קיצור של מתגים קצרים בני אות אחת.

-e|--eval שורה - הערך את קוד ה-perl הנתון

-l|--לִטעוֹן file - הערכת קוד perl בקובץ הנתון

-p|-- תהליך מקדים [קובץ] - עבד מראש את קובץ התצורה הנתון של fvwm

5 האפשרויות הבאות תקפות רק יחד עם -- תהליך מקדים אוֹפְּצִיָה.

-c|--cmd line - פקודת fvwm לעיבוד מוקדם במקום קובץ

-q|--ציטוט char - שנה את ברירת המחדל של ציטוט '%'

-w|--wind wid - הגדר הקשר מפורש של חלון (צריך להתחיל בספרה, יכול להיות באוקטובר או
צורת hex; מזהה חלון זה מחליף את הקשר חלון מרומז אם קיים)

--nosend - אל תשלח את הקובץ המעובד מראש אל fvwm ל חומר עיוניing, ברירת המחדל היא שלח.
שימושי לעיבוד מקדים של קבצי תצורה שאינם fvwm.

--לא להסיר - אל תסיר את הקובץ המעובד מראש לאחר שליחתו אל fvwm ל חומר עיוניing, ה
ברירת המחדל היא הסר. שימושי לניפוי באגים.

-x|--יְצוּא [שמות] - הגדר פונקציות קיצור של fvwm (כברירת מחדל, שתי פונקציות בשם
"Eval" ו-"."). אפשרות זו מרמזת --שָׁהוּת.

-s|--שָׁהוּת - ממשיך הוצאה להורג לאחר --eval, --לִטעוֹן or -- תהליך מקדים מעובדים. על ידי
ברירת המחדל, המודול אינו מתמיד במקרה זה, כלומר --nostay מניחים.

--נולוק - כאשר ניתנת אחת מ-3 אפשרויות הפעולה, אפשרות זו גורמת לפתיחה fvwm
מיד. כברירת מחדל הפעולה המבוקשת מבוצעת באופן סינכרוני; זה רק עושה
הבדל כאשר מופעל כמו:

ModuleSynchronous FvwmPerl --preprocess someconfig.ppp

If --נולוק מתווסף כאן, מודול סינכרוני חוזר מיד. ציין זאת מודול החזרות
באופן מיידי ללא קשר לאפשרות זו.

משתמש כינוי


כינויים מאפשרים לקבל מספר קריאות מודול ולעבוד בנפרד עם כל הפניות,
הנה דוגמה:

ModuleSynchronous FvwmPerl FvwmPerl-JustTest
SendToModule FvwmPerl-JustTest eval $a = 2 + 2; $b = $a
SendToModule FvwmPerl-JustTest eval cmd("Echo 2 + 2 = $b")
KillModule FvwmPerl FvwmPerl-JustTest

עיבוד מקדים דוגמא


אחד מפתרונות העיבוד היעילים הוא להעביר את כל תצורת ה-fvwm
קוד perl מוטבע ל-"FvwmPerl --preprocess". גישה חלופית היא לכתוב perl
סקריפט שמייצר פקודות fvwm ושולח אותן לביצוע, סקריפט זה עשוי להיטען
באמצעות "FvwmPerl --load". ישנם פתרונות ביניים שמעבדים מראש בלבד
שורות תצורה נפרדות (או לחילופין, בצע פקודות perl נפרדות
לייצר פקודות fvwm).

קטע הקוד הבא מוסיף יכולת של אריתמטיקה וסקריפט מחרוזת לחלק מסוים
קווים שצריכים את זה. כדי להשתמש בזה, אתה רוצה להפעיל את FvwmPerl בתור הפקודה הראשונה שלך אז
שפקודות אחרות עשויות להתבקש לעבור עיבוד מוקדם.

ModuleSynchronize FvwmPerl

AddToFunc .
+ I SendToModule FvwmPerl preprocess -c -- $*

. Exec exec xterm -name xterm-%{++$i}% # השתמש בשם ייחודי

. GotoDesk 0 %{ $[desk.n] + 1 }% # עבור לשולחן הבא

. Exec exec %{ -x "/usr/bin/X11/aterm" ? "aterm" : "xterm" }% -sb

# מרכז חלון
הבא (MyWindow) . מהלך \ לזוז \ לעבור \
%{($WIDTH - $[w.width]) / 2}%p %{($HEIGHT - $[w.height]) / 2}%p

. Exec exec xmessage %{2 + 2}% # מחשבון פשוט

. %{main::show_message(2 + 2, "עוד מחשבון"); ""}%

פעולות


ישנן מספר פעולות ש-FvwmPerl עשוי לבצע:

הערכה קוד פרל
הערך שורת קוד perl.

פונקציה מיוחדת cmd("פקודה") ניתן להשתמש בקוד perl כדי לשלוח פקודות בחזרה
fvwm.

אם קוד perl מכיל שגיאה, הוא מודפס לזרם השגיאות הסטנדרטי עם
[FvwmPerl][eval]: כותרת ראשית.

לִטעוֹן שם קובץ
טען קובץ של קוד perl. אם הקובץ אינו מוסמך במלואו, הוא נבדק ב-
ספריית המשתמש $FVWM_USERDIR (בדרך כלל ~/.fvwm) וספריית הנתונים בכל המערכת
$FVWM_DATADIR.

פונקציה מיוחדת cmd("פקודה") ניתן להשתמש בקוד perl כדי לשלוח פקודות בחזרה
fvwm.

אם קוד perl מכיל שגיאה, הוא מודפס לזרם השגיאות הסטנדרטי עם
[FvwmPerl][טען]: כותרת ראשית.

עיבוד מקדים [-q|--quote char] [-c|--cmd] [קו | פילה]
עיבוד מוקדם של תצורת fvwm פילה או (אם ניתן --cmd) קו. הקובץ הזה מכיל שורות ש
לא נוגעים בהם (בדרך כלל פקודות fvwm) וקוד פרל מעוצב במיוחד, כלומר
מעובד והוחלף. טקסט מצורף ב %{ ... }% תוחמים, שעשויים להתחיל בכל מקום
על הקו ומסתיים בכל מקום באותה שורה או אחר, הוא קוד perl.

אל האני לצטט שינויים בפרמטרים מפרידי קוד perl. אם ניתן אות בודדת, כמו
'@', המפרידים הם @{ ... }@. אם הציטוט הנתון הוא 2 תווים, כמו <>, הציטוטים
יש לו <{ ... }>

קוד ה-perl מחליף את תוצאת ההערכה שלו. כלומר %{$a = "c"; ++$a}%
מוחלף ב"ד".

ההערכה אינה דומה הערכה ו לִטעוֹן מתבצע תחת החבילה PreprocessNamespace
ובלי להשתמש קַפְּדָנִי, כך שאתה חופשי להשתמש בכל שמות משתנים ללא חשש
קונפליקטים. רק אל תשתמש במשתנים לא מאותחלים במשמעות של חוסר הגדרה או רשימה ריקה (הם
יכול להיות למעשה אתחול על ידי פעולת ההכנה הקודמת), ולבצע ניקוי אם
נָחוּץ. המשתנים והתפקוד ב- ראשי החבילה עדיין זמינה, כמו
::cmd() או ::לדלג(), אבל זה פשוט לא רעיון טוב לגשת אליהם תוך כדי
עיבוד מקדים.

יש פונקציה מיוחדת לכלול(פילה) הטוען קובץ, מעבד אותו מראש ו
מחזיר את התוצאה שעובדה מראש. הימנע רקורסיה.

אם קוד פרל מוטבע כלשהו מכיל שגיאה, הוא מודפס לפי השגיאה הסטנדרטית
זרם והוסיפו עם ה [FvwmPerl][תהליך קדם]: כּוֹתֶרֶת. התוצאה של
ההחלפה ריקה במקרה זה.

ניתן להשתמש במשתנים הבאים בקוד perl:

$USER, $DISPLAY, $WIDTH, $HEIGHT, $FVWM_VERSION, $FVWM_MODULEDIR, $FVWM_DATADIR,
$FVWM_USERDIR

ההנחיות המבוססות על השורות הבאות מוכרות בעת עיבוד מקדים. הם
מעובד לאחר החלפת קוד ה-perl (אם קיים).

%לחזור על לספור
גורם לחזור על השורות הבאות לספור פעמים.

%ModuleConfig שם מודול [ להרוס ]
גורם לשורות הבאות להתפרש כתצורת המודול הנתונה. אם
"הרוס" מצוין, תצורת המודול הקודמת מושמדת תחילה.

%קידומת קידומת
מקדים את השורות הבאות עם המצוטט קידומת.

%סוֹף כל הערה-אופציונלית
מסיים כל אחת מההנחיות שתוארו לעיל, עשוי להיות מקונן.

דוגמאות:

% קידומת "AddToFunc SwitchToWindow I"
סמל כבוי
WindowShade כבוי
להעלות
WarpToWindow 50 50
%סוֹף

%ModuleConfig FvwmPager להרוס
ערכת צבעים 0
פונט lucidasans-10
DeskTopSale 28
מיני אייקונים
%End ModuleConfig FvwmPager

% קידומת "הכל (MyWindowToAnimate) שינוי גודלהזז"
100 100 %{($WIDTH - 100) / 2}% %{($HEIGHT - 100) / 2}%
%חזרה %{$count}%
br w+2c w+2c w-1c w-1c
%סוֹף
%חזרה %{$count}%
br w-2c w-2c w+1c w+1c
%סוֹף
% קידומת סוף

פרמטרי קדם-עיבוד נוספים --nosend ו--noremove עשויים להינתן גם הם. ראה שלהם
תיאור בחלק העליון.

יצוא [func-names]
שלח fvwm ההגדרה של פונקציות קיצור המסייעות להפעיל שונות
פעולות של המודול (כלומר הערכה, לִטעוֹן ו עיבוד מקדים).

שמות פונקציות (func-names) עשוי להיות מופרד באמצעות פסיקים או/ו רווח לבן. כברירת מחדל,
שתי פונקציות "Eval" ו-"." מניחים.

הפעולה המוגדרת בפועל בפונקציה מנחשת משם הפונקציה אם אפשר,
כאשר שם הפונקציה "." שמור ל עיבוד מקדים פעולה.

לדוגמה, כל אחת משתי הפקודות fvwm הללו

SendToModule MyPerl ייצוא PerlEval,PP
FvwmPerl --יצוא PerlEval,PP MyPerl

הגדר את שתי פונקציות הקיצור הבאות:

DestroyFunc PerlEval
AddToFunc I SendToModule MyPerl eval $*
DestroyFunc PP
AddToFunc I SendToModule MyPerl preprocess -c -- $*

ניתן לבקש את 4 הפעולות הללו באחת מ-3 דרכים: 1) בשורת הפקודה כאשר FvwmPerl הוא
מופעל (במקרה זה FvwmPerl הוא קצר מועד אלא אם כן --שָׁהוּת or --יְצוּא ניתן גם), 2)
על ידי שליחת ההודעה המתאימה ב-fvwm config באמצעות SendToModule, 3) על ידי קריאה ל-
פונקציית perl המתאימה בקוד perl.

פונקציות


ישנן מספר פונקציות שקוד perl עשוי לקרוא:

cmd($fvwm_command)
במקרה הערכה or לִטעוֹן - שלח בחזרה ל-fvwm מחרוזת $fvwm_command. במקרה
עיבוד מקדים - הוסף מחרוזת $fvwm_command לפלט של קוד ה-perl המוטבע.

do_eval($perl_code)
פונקציה זו מקבילה ל- הערכה פונקציונליות על המחרוזת $perl_code,
מתואר לעיל.

לִטעוֹן(שם קובץ $)
פונקציה זו מקבילה ל- לִטעוֹן פונקציונליות בקובץ $filename, המתואר
מֵעַל.

תהליך מקדים(@params, ["-ג $command"] [$filename])
פונקציה זו מקבילה ל- עיבוד מקדים פונקציונליות עם הפרמטרים הנתונים
והקובץ $filename שתואר לעיל.

יְצוּא($func_names, [$do_unexport])
פונקציה זו מקבילה ל- יצוא פונקציונליות עם $func_names הנתונים,
מתואר לעיל. יתכן גם לא לייצא שמות הפונקציות אם הפרמטר השני נכון.

יש להפריד בין שמות הפונקציות באמצעות פסיקים או/ו רווח לבן. אם $func_names is
ריק ואז מתפקד "Eval" ו-"." מניחים.

תפסיק()
מסיים את המודול.

לדלג()
מדלג על שאר קוד החזרה לאירוע, כלומר המודול חוזר להאזין לחדש
אירועי מודול.

לבטל נעילה()
מבטל סנכרון של קריאה חוזרת לאירוע מ-fvwm. זה עשוי להיות שימושי כדי למנוע מבוי סתום,
כלומר בדרך כלל fvwm הורג את המודול שאינו מגיב אם ה-callback של האירוע אינו
סיים ב פסק זמן של מודול שניות. זה מונע את זה.

דוגמה זו גורמת ל-FvwmPerl להשעות את ביצועו למשך דקה אחת:

SendModule FvwmPerl eval unlock(); לִישׁוֹן(60);

עם זאת, ודא שאין דרך שנשלחת הודעה חדשה על ידי fvwm בזמן שהמודול נשלח
עסוק, ו-fvwm נשאר נעול על ההודעה החדשה הזו יותר מדי זמן. ראה גם את לנתק
פתרון אם אתה צריך פעולות ארוכות טווח.

לנתק()
מזלג ומנתק את שאר קוד החזרה לאירוע מהתהליך הראשי. זה אולי
להיות שימושי כדי למנוע הרג של המודול אם ההתקשרות חזרה לאירוע אמורה להימשך זמן רב
להשלים וזה עשוי להיעשות בילד המנותק. הילד המנותק אולי עדיין
לשלוח פקודות ל-fvwm (אל תסתמך על זה), אבל לא לקבל את האירועים כמובן, זה
יוצא מיד לאחר סיום ביצוע ההתקשרות חזרה.

אם אתה משתמש לנתק(), עדיף לשלוח רק פקודות ל-fvwm בתהליך אחד (הראשי או
המנותק), עשייה אחרת עלולה לגרום לרוב לקונפליקטים.

הצג הודעה($msg, $title[, $use_stderr_too=1])
מציג חלון דו-שיח עם ההודעה הנתונה, באמצעות כלי X שנמצא ב-
מערכת.

לִרְאוֹת FVWM::Module::ערכת כלים::הצג הודעה לקבלת מידע נוסף.

וריאציות


ישנם מספר משתנים גלובליים ב- ראשי מרחב שמות שניתן להשתמש בו ב-perl
קוד:

$a, $b, ... $h
@a, @b, ... @h
%a, %b, ... %h

כולם מאותחלים לערך הריק וניתן להשתמש בהם לאחסון מצב ביניהם
קריאות שונות לפעולות FvwmPerl (הערכה ו לִטעוֹן).

אם אתה צריך שמות משתנים קריאים יותר, כתוב "ללא 'vars' קפדניים;" בהתחלה של
כל קוד פרל או השתמש ב-hash בשביל זה, כמו:

$h{id} = $h{first_name} . "". $h{second_name}

או השתמש בשם חבילה, כמו:

@MyMenu::terminals = qw( xterm rxvt );
$MyMenu::item_num = @MyMenu::terminals;

ייתכן שיש אפשרות תצורה להפעיל ולכבות הקפדה.

הודעות


FvwmPerl עשוי לקבל הודעות באמצעות הפקודה fvwm SendToModule. השמות, המשמעויות ו
הפרמטרים של ההודעות זהים לפעולות המתאימות, שתוארו לעיל.

בנוסף, הודעה להפסיק גורם למודול להיסגר.

הודעה לא לייצא [func-names] מבטל את ההשפעה של יצוא, המתואר בפעולות
סָעִיף.

הודעה שפך זורק את התוכן של המשתנים שהשתנו (עדיין לא).

דוגמאות


מבחן פשוט:

SendToModule FvwmPerl eval $h{dir} = $ENV{HOME}
SendToModule FvwmPerl eval load($h{dir} . "/test.fpl")
SendToModule FvwmPerl טען $[HOME]/test.fpl
SendToModule FvwmPerl preprocess config.ppp
SendToModule FvwmPerl export Eval,PerlEval,PerlLoad,PerlPP
SendToModule FvwmPerl unexport PerlEval,PerlLoad,PerlPP
SendToModule FvwmPerl עצירה

הדוגמה הבאה מטפלת ברקעי שורש ב-fvwmrc. ניתן להוסיף את כל הפקודות הללו
אל StartFunction.

מודול FvwmPerl --יצוא PerlEval

# מצא את כל מפות הרקע לשימוש מאוחר יותר
PerlEval $a = $ENV{HOME} . "/bg"; \
opendir DIR, $a; @b = grep { /xpm$/ } readdir(DIR); סגור את ה-DIR

# לבנות תפריט של מפות פיקסלים ברקע
AddToMenu MyBackgrounds כותרת "הרקעים שלי".
PerlEval foreach $b (@b) \
{ cmd("AddToMenu MyBackgrounds '$b' Exec fvwm-root $a/$b") }

# בחר רקע אקראי לטעינה בעת ההפעלה
PerlEval cmd("AddToFunc \
InitFunction + I Exec exec fvwm-root $a/" . $b[int(random(@b))])

נמלט


SendToModule בדיוק כמו כל פקודות fvwm אחרות מרחיבה כמה משתנים עם קידומת דולר.
זה עשוי להתנגש עם השימוש בדולרים פרל. תוכל להימנע מכך על ידי הקדמת SendToModule
עם מקף מוביל. 2 השורות הבאות בכל זוג שוות ערך:

SendToModule FvwmPerl eval $$d = "$[DISPLAY]"
-SendToModule FvwmPerl eval $d = "$ENV{DISPLAY}"

SendToModule FvwmPerl eval \
cmd("Echo desk=$d, display=$$d")
SendToModule FvwmPerl preprocess -c \
Echo desk=%("$d")%, display=%{$$d}%

פתרון נוסף כדי למנוע בריחה מסמלים מיוחדים כמו דולרים ונטויים אחוריים הוא
ליצור קובץ perl ב ~/.fvwm ואז טען את זה:

SendToModule FvwmPerl טען build-menus.fpl

אם אתה צריך לעבד מראש פקודה אחת שמתחילה במקף, עליך להקדים אותה באמצעות
"--".

# זה מדפיס את השולחן הנוכחי, כלומר "0"
SendToModule FvwmPerl preprocess -c Echo "$%{$a = "c"; ++$a}%"
# זה מדפיס "$d"
SendToModule FvwmPerl preprocess -c -- -Echo "$%{"d"}%"
# זה מדפיס "$d" (SendToModule מרחיב את $$ ל-$)
SendToModule FvwmPerl preprocess -c -- -Echo "$$%{"d"}%"
# זה מדפיס "$$d"
-SendToModule FvwmPerl preprocess -c -- -Echo "$$%{"d"}%"

שוב, מומלץ להכניס את הפקודות שלך לקובץ ולעבד את הקובץ מראש במקום זאת.

מערות


FvwmPerl נכתב ב-perl ועוסק ב-perl, עוקב אחר המוטו המפורסם של perl:
"יש יותר מדרך אחת לעשות את זה", אז הבחירה היא שלך.

הנה עוד זוגות של שורות שוות:

מודול FvwmPerl --טען "my.fpl" --הישאר
מודול FvwmPerl -e 'load("my.fpl")' -s

SendToModule FvwmPerl preprocess --quote '@' my.ppp
SendToModule FvwmPerl eval preprocess({quote => '@'}, "my.ppp");

אזהרה, אתה עשוי להשפיע על האופן שבו FvwmPerl פועל על ידי הערכת קוד ה-perl המתאים, זה
נחשב תכונה ולא באג. אבל בבקשה אל תעשה זאת, כתוב מודול fvwm משלך
ב-perl במקום.

השתמש ב-FvwmPerl באופן מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

  • 1
    לְגִימָה אֲרוּכָּה
    לְגִימָה אֲרוּכָּה
    SWIG הוא כלי לפיתוח תוכנה
    שמחבר בין תוכניות הכתובות ב-C ו
    C++ עם מגוון של רמות גבוהות
    שפות תכנות. SWIG משמש עם
    שונה...
    הורד את SWIG
  • 2
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    ערכת נושא WooCommerce של React, בנוי עם
    הבא JS, Webpack, Babel, Node ו
    אקספרס, באמצעות GraphQL ו-Apollo
    לָקוּחַ. WooCommerce Store ב-React(
    מכיל: מוצרים...
    הורד את WooCommerce Nextjs React Theme
  • 3
    archlabs_repo
    archlabs_repo
    ריפו חבילה עבור ArchLabs זהו
    יישום שניתן גם לאחזר
    החל מ-
    https://sourceforge.net/projects/archlabs-repo/.
    זה התארח ב-OnWorks ב...
    הורד את archlabs_repo
  • 4
    פרויקט זפיר
    פרויקט זפיר
    פרויקט זפיר הוא דור חדש
    מערכת הפעלה בזמן אמת (RTOS) כי
    תומך במספר חומרה
    ארכיטקטורות. הוא מבוסס על א
    ליבת טביעת רגל קטנה...
    הורד את Zephyr Project
  • 5
    SCons
    SCons
    SCons הוא כלי לבניית תוכנה
    זו אלטרנטיבה מעולה ל-
    כלי לבנות קלאסי "Make" כי
    כולנו מכירים ואוהבים. SCons הוא
    יישם א...
    הורד SCons
  • 6
    PSeInt
    PSeInt
    PSeInt הוא מתורגמן פסאודו-קוד עבור
    סטודנטים לתכנות דוברי ספרדית.
    מטרתו העיקרית היא להיות כלי ל
    ללמוד ולהבין את הבסיס
    קונספט...
    הורד את PSeInt
  • עוד »

פקודות לינוקס

Ad