АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

FvwmPerl - Интернет в облаке

Запустите FvwmPerl в провайдере бесплатного хостинга OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда FvwmPerl, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


FvwmPerl - манипулятор и препроцессор perl fvwm

СИНТАКСИС


FvwmPerl должен создаваться фввм(1) для нормальной работы.

Чтобы запустить этот модуль, поместите эту команду где-нибудь в конфигурации:

Модуль FvwmPerl [параметры]

или:

ModuleSynchronize FvwmPerl [параметры]

если вы хотите сразу начать отправлять команды в FvwmPerl.

ОПИСАНИЕ


Этот модуль предназначен для расширения команд fvwm с помощью сценариев Perl. Это позволяет
для встраивания выражений Perl в файлы конфигурации fvwm и создания команд fvwm.

ПРИЗЫВ


Если вы хотите вызвать уникальный и постоянный экземпляр FvwmPerl, рекомендуется
сделать это из СтартФункция. Вызов его сверху также возможен, но требует
некоторые вопросы здесь не обсуждаются.

AddToFunc StartFunction I Модуль FvwmPerl

Есть несколько переключателей командной строки:

ФввмПерл [ --евал линия ] [ --нагрузка файл ] [ --предпроцесс [ --Цитировать char] [ --винид wid] [
--cmd ] [ - носик ] [ - удалить ] [строка | файл ] ] [ - экспорт [имена]] [ --оставаться ] [
--нолок ] [псевдоним]

Длинные переключатели могут быть сокращены до коротких однобуквенных переключателей.

-e|--евал line - оценить данный Perl-код

-l|--нагрузка file - оценить код Perl в данном файле

-p|--предпроцесс [файл] - предварительно обработать указанный файл конфигурации fvwm

Следующие 5 вариантов действительны только вместе с --предпроцесс опцию.

-c|--cmd строка - команда fvwm для предварительной обработки вместо файла

-q|--Цитировать char - изменить цитату по умолчанию '%'

-w|--винид wid - установить явный контекст окна (должен начинаться с цифры, может быть в окт. или
шестнадцатеричная форма; этот идентификатор окна перезаписывает неявный контекст окна, если таковой имеется)

- носик - не отправлять предварительно обработанный файл в фввм для Читатьing, по умолчанию - send.
Полезно для предварительной обработки файлов конфигурации, отличных от fvwm.

- удалить - не удалять предварительно обработанный файл после его отправки в фввм для Читатьing,
по умолчанию - удалить. Полезно для отладки.

-x|- экспорт [имена] - определение функций быстрого доступа fvwm (по умолчанию две функции с именами
«Эвал» и «.»). Этот вариант подразумевает --оставаться.

-s|--оставаться - продолжает казнь после --евал, --нагрузка or --предпроцесс обрабатываются. К
по умолчанию в этом случае модуль не является постоянным, т.е. - пребывание предполагается.

--нолок - когда указан один из 3 вариантов действия, эта опция вызывает разблокировку фввм
немедленно. По умолчанию запрошенное действие выполняется синхронно; это только делает
разница при вызове как:

ModuleSynchronous FvwmPerl --предварительная обработка someconfig.ppp

If --нолок добавлен здесь, Модуль: Синхронный немедленно возвращается. Обратите внимание, что Модули Возвращает
сразу независимо от этого варианта.

С ПОМОЩЬЮ ALIAS


Псевдонимы позволяют иметь несколько вызовов модуля и работать отдельно со всеми вызовами,
вот пример:

МодульSynchronous 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". Существуют промежуточные решения Hovewer, которые только предварительно обрабатывают
отдельные строки конфигурации (или, альтернативно, выполнить отдельные команды Perl, которые
производить команды fvwm).

Следующий фрагмент кода добавляет возможность арифметики и создания строковых сценариев для определенных
строки, которые в этом нуждаются. Чтобы использовать это, вы хотите запустить FvwmPerl в качестве своей первой команды, поэтому
что другие команды могут быть запрошены для предварительной обработки.

Модуль синхронизации FvwmPerl

AddToFunc.
+ I SendToModule FvwmPerl препроцесс -c - $ *

. Exec exec xterm -name xterm -% {++ $ i}% # использовать уникальное имя

. GotoDesk 0% {$ [desk.n] + 1}% # перейти к следующему столу

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

# центрировать окно
Далее (MyWindow). Двигаться \
% {($ WIDTH - $ [ширина ширины]) / 2}% p% {($ HEIGHT - $ [ширина ширины]) / 2}% p

. Exec exec xmessage% {2 + 2}% # простой калькулятор

. % {main :: show_message (2 + 2, «Еще один калькулятор»); ""}%

Действия


FvwmPerl может выполнять несколько действий:

Eval Perl-код
Оцените строку кода Perl.

Специальная функция cmd ("команда") может использоваться в коде Perl для отправки команд обратно в
фввм.

Если код perl содержит ошибку, он печатается в стандартном потоке ошибок с
[FvwmPerl] [eval]: заголовок добавлен.

загрузка имя файла
Загрузите файл с кодом Perl. Если файл не полностью определен, он ищется в
каталог пользователя $ FVWM_USERDIR (обычно ~ / .fvwm) и общесистемный каталог данных
$ FVWM_DATADIR.

Специальная функция cmd ("команда") может использоваться в коде Perl для отправки команд обратно в
фввм.

Если код perl содержит ошибку, он печатается в стандартном потоке ошибок с
[FvwmPerl] [загрузка]: заголовок добавлен.

предобработки [-q | --quote char] [-c | --cmd] [линия | файл]
Предварительная обработка конфигурации fvwm файл или (если задано --cmd) линия. Этот файл содержит строки,
не затрагиваются (обычно это команды fvwm) и специально отформатированный код Perl, который
обработано и заменено. Текст заключен в %{ ... }% разделители, которые могут начинаться где угодно
на строке и где-нибудь в конце той же или другой строки - это код Perl.

Ассоциация цену параметр изменяет разделители кода Perl. Если указан один символ, например
'@', разделители @{ ... }@. Если данная цитата состоит из двух символов, например <>, цитаты
Он <{ ... }>

Код Perl заменяется результатом его оценки. Т.е.% {$ a = "c"; ++ $ a}%
заменяется на "d".

Оценка не похожа Eval и загрузка выполняется в пакете PreprocessNamespace
и без использование строгий, поэтому вы можете использовать любые имена переменных, не опасаясь
конфликты. Только не используйте неинициализированные переменные для обозначения undef или пустого списка (они
может быть фактически инициализирован предыдущим действием препроцессора), и выполнить очистку, если
нужный. Переменные и функции в main пакет все еще доступен, например
::cmd () или ::пропускать(), но открывать их, пока
предварительная обработка.

Есть специальная функция включают(файл), который загружает файл, предварительно обрабатывает его и
возвращает предварительно обработанный результат. Избегайте рекурсии.

Если какой-либо встроенный код Perl содержит ошибку, он печатается как стандартная ошибка.
поток и добавлен в начало [FvwmPerl] [препроцессор]: заголовок. Результат
в этом случае подстановка пуста.

В коде Perl могут использоваться следующие переменные:

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

При предварительной обработке распознаются следующие директивы на основе строки. Они есть
обрабатывается после замены кода Perl (если есть).

%Повторить считать
Вызывает повторение следующих строк считать раз.

%Конфигурация модуля имя-модуля [ разрушать ]
Заставляет следующие строки интерпретироваться как заданная конфигурация модуля. Если
указано "destroy", предыдущая конфигурация модуля уничтожается первой.

%Префикс префикс
Помещает следующие строки в кавычки префикс.

%Конец любой-необязательный-комментарий
Концы любой из директив, описанных выше, могут быть вложенными.

Примеры:

% Prefix "AddToFunc SwitchToWindow I"
Иконка выключена
WindowShade выключен
Повышение
Деформация окна 50 50
%Конец

% ModuleConfig FvwmPager уничтожить
Набор цветов 0
Шрифт lucidasans-10
Настольный масштаб 28
Минииконы
% End ModuleConfig FvwmPager

% Prefix "Все (MyWindowToAnimate) ResizeMove"
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. Увидеть их
описание вверху.

экспорт [имена функций]
Отправить фввм определение функций быстрого доступа, которые помогают активировать различные
действия модуля (т.е. Eval, загрузка и предобработки).

Имена функций (имена функций) могут быть разделены запятыми и / или пробелами. По умолчанию,
две функции «Eval» и «.» предполагаются.

Фактическое действие, определенное в функции, по возможности определяется по имени функции,
где имя функции "." зарезервировано для предобработки действия.

Например, любая из этих двух команд fvwm

SendToModule MyPerl экспорт PerlEval, PP
FvwmPerl - экспорт PerlEval, PP MyPerl

определите следующие две функции быстрого доступа:

DestroyFunc PerlEval
AddToFunc I SendToModule MyPerl eval $ *
DestroyFunc ПП
AddToFunc I SendToModule MyPerl препроцесс -c - $ *

Эти 4 действия могут быть запрошены одним из трех способов: 3) в командной строке, когда FvwmPerl
вызывается (в этом случае FvwmPerl недолговечен, если --оставаться or - экспорт также дано), 2)
отправив соответствующее сообщение в конфигурации fvwm с помощью SendToModule, 3) вызвав
соответствующая функция Perl в коде Perl.

ФУНКЦИИ


Код Perl может вызывать несколько функций:

cmd ($ fvwm_command)
В случае Eval or загрузка - отправить обратно в fvwm строку $ fvwm_command, В случае
предобработки - добавить строку $ fvwm_command к выводу встроенного кода Perl.

do_eval ($ perl_code)
Эта функция эквивалентна Eval функциональность на строке $ perl_code,
описано выше.

нагрузка($ filename)
Эта функция эквивалентна загрузка функциональность файла $ filename, описанная
выше.

препроцесс (@парамс, ["-c $ command "] [$ filename])
Эта функция эквивалентна предобработки функционал с заданными параметрами
и файл $ filename, описанный выше.

экспорт ($ func_names, [$ do_unexport])
Эта функция эквивалентна экспорт функциональность с заданными $ func_names,
описано выше. Можно также неэкспорт имена функций, если второй параметр истинен.

Имена функций должны быть разделены запятыми и / или пробелами. Если $ func_names is
пустые тогда функции "Eval" и "." предполагаются.

стоп()
Завершает работу модуля.

пропускать()
Пропускает остальную часть кода обратного вызова события, т.е. модуль возвращается, чтобы прослушать новый
события модуля.

разблокировать ()
Несинхронизирует обратный вызов события от fvwm. Это может быть полезно для предотвращения взаимоблокировок,
т.е. обычно fvwm убивает неотвечающий модуль, если обратный вызов события не
закончено в Время ожидания модуля секунд. Это предотвращает это.

В этом примере FvwmPerl приостанавливает выполнение на одну минуту:

SendModule FvwmPerl eval unlock (); спать(60);

Однако убедитесь, что fvwm не может отправить новое сообщение, пока модуль
занято, и fvwm остается заблокированным для этого нового сообщения слишком долго. Также DETACH
решение, если вам нужны длительные операции.

отсоединить ()
Разветвляет и отделяет остальную часть кода обратного вызова события от основного процесса. Это может
быть полезным, чтобы предотвратить убийство модуля, если его обратный вызов события должен занять много времени
завершить, и это может быть сделано в отрешенном ребенке. Отстраненный ребенок все еще может
отправлять команды в fvwm (не полагаться на это), но не получать события, конечно, это
завершается сразу после завершения выполнения обратного вызова.

Если вы используете отсоединить (), лучше отправлять команды на fvwm только одним процессом (основным или
отстраненный), в противном случае часто возникают конфликты.

show_message ($ msg, $ title [, $ use_stderr_too = 1])
Показывает диалоговое окно с заданным сообщением, используя любой инструмент X, найденный в
системы.

Читать FVWM :: Модуль :: Инструментарий::show_message чтобы получить больше информации.

ПЕРЕМЕННЫЕ


В таблице есть несколько глобальных переменных. main пространство имен, которое может использоваться в Perl
код:

$ a, $ b, ... $ h
@а, @б, ... @ч
% a,% b, ...% h

Все они инициализируются пустым значением и могут использоваться для сохранения состояния между
различные вызовы действий FvwmPerl (Eval и загрузка).

Если вам нужны более читаемые имена переменных, либо напишите «no strict 'vars';» в начале
каждый код Perl или используйте для этого хеш, например:

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

или используйте имя пакета, например:

@MyMenu :: терминалы = qw (xterm rxvt);
$ MyMenu :: item_num = @MyMenu :: терминалы;

Может быть опция конфигурации для включения и выключения строгости.

СООБЩЕНИЯ


FvwmPerl может получать сообщения с помощью команды fvwm SendToModule. Имена, значения и
параметры сообщений аналогичны соответствующим действиям, описанным выше.

Дополнительно сообщение остановить вызывает завершение работы модуля.

Сообщение неэкспорт [имена функций] отменяет эффект экспорт, описанных в ДЕЙСТВИЯХ
.

Сообщение дамп выгружает содержимое измененных переменных (пока нет).

ПРИМЕРЫ


Простой тест:

SendToModule FvwmPerl eval $ h {dir} = $ ENV {HOME}
SendToModule FvwmPerl eval load ($ h {dir}. "/Test.fpl")
SendToModule FvwmPerl load $ [HOME] /test.fpl
SendToModule FvwmPerl препроцессирует config.ppp
SendToModule FvwmPerl export Eval, PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl не экспортирует PerlEval, PerlLoad, PerlPP
SendToModule FvwmPerl остановить

В следующем примере обрабатываются корневые фоны в fvwmrc. Все эти команды могут быть добавлены
в StartFunction.

Модуль FvwmPerl --export PerlEval

# найти все фоновые изображения для дальнейшего использования
PerlEval $ a = $ ENV {HOME}. "/ bg"; \
opendir DIR, $ a; @b = grep {/ xpm $ /} readdir (DIR); closedir 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))])

ПОБЕГ


сендтомодуле как и любые другие команды fvwm, расширяет несколько переменных с префиксом доллара.
Это может противоречить долларам, которые использует Perl. Вы можете избежать этого, добавив префикс SendToModule
с ведущим тире. Следующие 2 строки в каждой паре эквивалентны:

SendToModule FvwmPerl eval $$ d = "$ [ДИСПЛЕЙ]"
-SendToModule FvwmPerl eval $ d = "$ ENV {DISPLAY}"

Оценка SendToModule FvwmPerl \
cmd ("Echo desk = $ d, display = $$ d")
SendToModule FvwmPerl препроцесс -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 -c - -Echo "$$% {" d "}%"

Опять же, рекомендуется поместить ваши команды в файл и вместо этого предварительно обработать файл.

Пещеры


FvwmPerl, написанный на Perl и работающий с Perl, следует знаменитому девизу perl:
«Есть несколько способов сделать это», так что выбор за вами.

Вот еще пара эквивалентных строк:

Модуль FvwmPerl --load "my.fpl" --stay
Модуль FvwmPerl -e 'load ("my.fpl")' -s

SendToModule Предварительная обработка FvwmPerl --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
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, созданная с помощью
    Далее JS, Webpack, Babel, Node и
    Экспресс, используя GraphQL и Apollo
    Клиент. Магазин WooCommerce в React (
    содержит: продукты...
    Скачать тему WooCommerce Nextjs React
  • 3
    Archlabs_repo
    Archlabs_repo
    Репозиторий пакетов для ArchLabs Это
    приложение, которое также можно получить
    от
    https://sourceforge.net/projects/archlabs-repo/.
    Он был размещен на OnWorks в...
    Скачать archlabs_repo
  • 4
    Зефир Проект
    Зефир Проект
    Проект Zephyr - новое поколение
    операционная система реального времени (RTOS), которая
    поддерживает несколько аппаратных средств
    архитектуры. Он основан на
    компактное ядро ​​...
    Скачать проект Зефир
  • 5
    SCons
    SCons
    SCons - инструмент для создания программного обеспечения
    это лучшая альтернатива
    классический инструмент сборки "Make",
    мы все знаем и любим. SCons - это
    реализовал ...
    Скачать SCons
  • 6
    PSInt
    PSInt
    PSeInt - интерпретатор псевдокода для
    испаноязычные студенты-программисты.
    Его основная цель - быть инструментом для
    изучение и понимание основных
    концепция ...
    Скачать PSInt
  • Больше »

Команды Linux

Ad