fvwm使用 1_vw3a1101使用说明书

fvwm使用 1_vw3a1101使用说明书fvwm是一个X11的窗口管理器,提供虚拟窗口,提供多个桌面。提供键盘命令,控制窗口焦点。支持配置命令和动作命令。fvwm启动时读取配置文件,文件可以在多个位置,但是只有第一个找到的生效:$HOME/.fvwm/config/usr/local/share/fvwm/config$HOME/.fvwm/.fvwm2rc$HOME/.fvwm2rc/usr/local

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

fvwm是一个X11的窗口管理器,提供虚拟窗口,提供多个桌面。

提供键盘命令,控制窗口焦点。

支持配置命令和动作命令。

fvwm启动时读取配置文件,文件可以在多个位置,但是只有第一个找到的生效:

$HOME/.fvwm/config
/usr/local/share/fvwm/config

$HOME/.fvwm/.fvwm2rc
$HOME/.fvwm2rc
/usr/local/share/fvwm/.fvwm2rc
/usr/local/share/fvwm/system.fvwm2rc
/etc/system.fvwm2rc

Fvwm sets two environment variables which are inherited by its children. These are $DISPLAY which describes the display on which fvwm is running. $DISPLAY may be unix:0.0 or :0.0, which doesn’t work too well when passed through ssh to another machine, so $HOSTDISPLAY is set to a network-ready description of the display. $HOSTDISPLAY always uses the TCP/IP transport protocol (even for a local connection) so $DISPLAY should be used for local connections, as it may use Unix-domain sockets, which are faster.

Fvwm has three special functions for initialization: StartFunction, which is executed on startups and restarts; InitFunction and RestartFunction, which are executed during initialization and restarts (respectively) just after StartFunction.

Fvwm has also a special exit function: ExitFunction, executed when exiting or restarting before actually quitting. It could be used to explicitly kill modules, etc.

fvwm配置的重要方面:

图标 图片:F

vwm can load .xbm, .xpm, .png and .svg images. XBM images are monochrome. Fvwm can always display XBM files. XPM and PNG formats are color images. SVG is a vector graphics image format. Compile-time options determine whether fvwm can display XPM, PNG or SVG icons and images. See the INSTALL.fvwm file for more information.

模块:

A module is a separate program which runs as a separate Unix process but transmits commands to fvwm to execute. Users can write their own modules to do any weird or bizarre manipulations without bloating or affecting the integrity of fvwm itself.

Modules must be spawned by fvwm so that it can set up two pipes for fvwm and the module to communicate with. The pipes are already open for the module when it starts and the file descriptors for the pipes are provided as command line arguments.

Modules can be spawned by fvwm at any time during the X session by use of the Module command. Modules can exist for the duration of the X session, or can perform a single task and exit. If the module is still active when fvwm is told to quit, then fvwm closes the communication pipes and waits to receive a SIGCHLD from the module, indicating that it has detected the pipe closure and has exited. If modules fail to detect the pipe closure fvwm exits after approximately 30 seconds anyway. The number of simultaneously executing modules is limited by the operating system’s maximum number of simultaneously open files, usually between 60 and 256.

Modules simply transmit commands to the fvwm command engine. Commands are formatted just as in the case of a mouse binding in the config setup file. Certain auxiliary information is also transmitted, as in the sample module FvwmButtons.

Please refer to the Module Commands section for details.

字体:

键盘快捷按键:

内置的键盘和鼠标绑定:

The following commands are built-in to fvwm:

Key Help R A Popup MenuFvwmRoot
Key F1 R A Popup MenuFvwmRoot
Key Tab A M WindowList Root c c NoDeskSort
Key Escape A MC EscapeFunc
Mouse 1 R A Menu MenuFvwmRoot
Mouse 1 T   A FuncFvwmRaiseLowerX Move
Mouse 1 FS  A FuncFvwmRaiseLowerX Resize
Mouse 2 FST A FuncFvwmRaiseLowerX Move
AddToFunc FuncFvwmRaiseLowerX
+ I Raise
+ M $0
+ D Lower

命令执行:

If fvwm encounters a command that it doesn’t recognize, it checks to see if the specified command should have been

Function (rest of command)
or

Module (rest of command)
This allows complex functions or modules to be invoked in a manner which is fairly transparent to the configuration file.

Example: the config file contains the line

命令扩展:

Whenever an fvwm command line is executed, fvwm performs parameter expansion. A parameter is a ‘$’ followed by a word enclosed in brackets ($[…]) or a single special character. If fvwm encounters an unquoted parameter on the command line it expands it to a string indicated by the parameter name. Unknown parameters are left untouched. Parameter expansion is performed before quoting. To get a literal ‘$’ use “$$”.

If a command is prefixed with a ‘-‘ parameter expansion isn’t performed. This applies to the command immediately following the ‘-‘, in which the expansion normally would have taken place. When uesed together with other prefix commands it must be added before the other prefix.

Example:

Pick -Exec exec xmessage ‘$[w.name]’
opens an xmessage dialog with “$[w.name]” unexpanded.

The longer variables may contain additional variables inside the name, which are expanded before the outer variable.

In earlier versions of fvwm, some single letter variables were supported. It is deprecated now, since they cause a number of problems. You should use the longer substitutes instead.

Example:

# Print the current desk number, horizontal page number
# and the window’s class (unexpanded here, no window).
Echo $[desk.n] $[page.nx] $[w.class]
Note: If the command is called outside a window context, it prints “$[w.class]” instead of the class name. It is usually not enough to have the pointer over a window to have a context window. To force using the window with the focus, the Current command can be used:

Current Echo $[desk.n] $[page.nx] $[w.class]
The parameters known by fvwm are:

$$
A literal ‘$’.

$.
The absolute directory of the currently Read file. Intended for creating relative and relocatable configuration trees. If used outside of any read file, the returned value is ‘.’.

$0 to $9
The positional parameters given to a complex function (a function that has been defined with the AddToFunc command). “$0” is replaced with the first parameter, “$1” with the second parameter and so on. If the corresponding parameter is undefined, the “$…” is deleted from the command line.

$*
All positional parameters given to a complex function. This includes parameters that follow after “$9”.

$[n]
The n:th positional parameter given to a complex function, counting from 0. If the corresponding parameter is undefined, the “$[n]” is deleted from the command line. The parameter is expanded unquoted.

$[n-m]
The positional parameters given to a complex function, starting with parameter n and ending with parameter m. If all the corresponding parameters are undefined, the “$[…]” is deleted from the command line. If only some of the parameters are defined, all defined parameters are expanded, and the remaining silently ignored. All parameters are expanded unquoted.

$[n-]
All the positional parameters given to a complex function, starting with parameter n. If all the corresponding parameters are undefined, the “$[…]” is deleted from the command line. All parameters are expanded unquoted.

$[*]
All the positional parameters given to a complex function. This is equivalent of $[0-].

$[version.num]
The version number, like “2.6.0”.

$[version.info]
The version info, like ” (from cvs)”, empty for the official releases.

$[version.line]
The first line printed by the –version command line option.

$[vp.x] $[vp.y] $[vp.width] $[vp.height]
Either coordinate or the width or height of the current viewport.

$[desk.n]
The current desk number.

$[desk.name<n>]
These parameters are replaced with the name of the desktop number <n> that is defined with the DesktopName command. If no name is defined, then the default name is returned.

$[desk.width] $[desk.height]
The width or height of the whole desktop, i.e. the width or height multiplied by the number of pages in x or y direction.

$[desk.pagesx] $[desk.pagesy]
The number of total pages in a desk in x or y direction. This is the same as the values set by DesktopSize.

$[page.nx] $[page.ny]
The current page numbers, by X and Y axes, starting from 0. page is equivalent to area in the GNOME terminology.

$[w.id]
The window-id (expressed in hex, e.g. 0x10023c) of the window the command was called for or “$[w.id]” if no window is associated with the command.

$[w.name] $[w.iconname] $[w.class] $[w.resource] $[w.visiblename] $[w.iconfile] $[w.miniiconfile] $[w.iconfile.svgopts] $[w.miniiconfile.svgopts]
The window’s name, icon name, resource class and resource name, visible name, file name of its icon or mini icon defined with the Icon or MiniIcon style (including the full path if the file was found on disk), and (if fvwm is compiled with SVG support) the icon or mini icon svg rendering options (including the leading colon), or unexpanded “$[w.<attribute>]” string if no window is associated with the command.

Note, the first 5 variables may include any kind of characters, so these variables are quoted. It means that the value is surrounded by single quote characters and any contained single quote is prefixed with a backslash. This guarantees that commands like:

Style $[w.resource] Icon norm/network.png
work correctly, regardless of any special symbols the value may contain, like spaces and different kinds of quotes.

In the case of the window’s visible name, this is the value returned from the literal title of the window shown in the titlebar. Typically this will be the same as $[w.name] once expanded, although in the case of using IndexedWindowName then this is more useful a distinction, and allows for referencing the specific window by its visible name for inclusion in things like Style commands.

$[w.x] $[w.y] $[w.width] $[w.height]
Either coordinate or the width or height of the current window if it is not iconified. If no window is associated with the command or the window is iconified, the string is left as is.

$[w.desk]
The number of the desk on which the window is shown. If the window is sticky the current desk number is used.

$[w.layer]
The layer of the window.

$[cw.x] $[cw.y] $[cw.width] $[cw.height]
These work like $[w….] but return the geometry of the client part of the window. In other words: the border and title of the window is not taken into account.

$[i.x], $[it.x], $[ip.x] $[i.y], $[it.y], $[ip.y] $[i.width], $[it.width], $[ip.width] $[i.height], $[it.height], $[ip.height]
These work like $[w….] but return the geometry of the icon ($[i….]), the icon title ($[it….]) or the icon picture ($[ip….]).

$[pointer.x] $[pointer.y]
These return the position of the pointer on the screen. If the pointer is not on the screen, these variables are not expanded.

$[pointer.wx] $[pointer.wy]
These return the position of the pointer in the selected window. If the pointer is not on the screen, the window is iconified or no window is selected, these variables are not expanded.

$[pointer.cx] $[pointer.cy]
These return the position of the pointer in the client portion of the selected window. If the pointer is not on the screen, the window is shaded or iconified or no window is selected, these variables are not expanded.

$[screen]
The screen number fvwm is running on. Useful for setups with multiple screens.

$[fg.cs<n>] $[bg.cs<n>] $[hilight.cs<n>] $[shadow.cs<n>]
These parameters are replaced with the name of the foreground (fg), background (bg), hilight (hilight) or shadow (shadow) color that is defined in colorset <n> (replace <n> with zero or a positive integer). For example “$[fg.cs3]” is expanded to the name of the foreground color of colorset 3 (in rgb:rrrr/gggg/bbbb form). Please refer to the Colorsets section for details about colorsets.

$[schedule.last]
This is replaced by the id of the last command that was scheduled with the Schedule command, even if this command was already executed.

$[schedule.next]
This is replaced by the id the next command used with Schedule will get (unless a different id is specified explicitly).

$[cond.rc]
The return code of the last conditional command. This variable is only valid inside a function and can not be used in a conditional command. Please refer to the section Conditional Commands in the command list.

$[func.context]
The context character of the running command as used in the Mouse, Key or PointerKey command. This is useful for example with:

Mouse 3 FS N WindowShade $$[func.context]
$[gt.str]
return the translation of str by looking in the current locale catalogs. If no translation is found str is returned as is. See the LocalePath command.

$[…]
If the string within the braces is neither of the above, fvwm tries to find an environment variable with this name and replaces its value if one is found (e.g. “$[PAGER]” could be replaced by “more”). Otherwise the string is left as is.

Some examples can be found in the description of the AddToFunc command.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186375.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android自动填充短信验证码[通俗易懂]

    Android自动填充短信验证码[通俗易懂]前言短信验证码获取并自动填写现在已经成为一个人性化App的标配了,这篇文章将实现一个短信验证码获取并自动填写的demo。其实就是读取指定号码的短信并提取出验证码,然后赋值给EditText显示。demo效果图:读取短信Android系统在接受到一条短信的时候会发出一条Action为android.provider.Telephony.SMS_RECEIVED的有序广播,因此我们读取短信的…

    2022年7月25日
    24
  • 能向入口函数传入多个参数的 QueueUserWorkItem

    能向入口函数传入多个参数的 QueueUserWorkItem不啰嗦了,花一周时间也没赶上std::async和std::thread的设计,标准库的设计真的,很优秀。我记下这段时间里做了什么;这里包含了把函数拆成两步调用的方法,第一步传参,第二步执行;SplitInvoke;如果我能把第一步放到A线程,第二步放到B线程,就能解决std::thread潜在的两次拷贝和对象(Windows的窗口对象等)绑定到线程问题,就能制造一个优于std::…

    2022年9月24日
    2
  • 链表排序算法_怎么对链表进行排序

    链表排序算法_怎么对链表进行排序排序算法概述盗个图转自:https://www.cnblogs.com/onepixel/articles/7674659.html排序算法复杂度由于是链表排序,首先定义链表节点数据结构common.htypedefstructNodeLNode;structNode{intdata;LNode*next;LNode*prev;};备注:以下排序…

    2022年10月11日
    6
  • mysql 隐式转换_js强制转换和隐式转换

    mysql 隐式转换_js强制转换和隐式转换导读作者徐晨亮,MySQLDBA,知数堂学员。热衷于数据库优化,自动化运维及数据库周边工具开发,对MySQL源码有一定的兴趣本文建议横屏观看,效果更佳一、问题描述roo…

    2022年10月11日
    4
  • bs与cs的区别_试比较CS与BS的工作模式

    bs与cs的区别_试比较CS与BS的工作模式提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、CS二、BS总结前言本文章记录BS和CS的区别和优缺点一、CSCS:客户端服务器架构模式优点:充分利用客户端机器的资源,减轻服务器的负荷(一部分安全要求不高的计算任务存储任务放在客户端执行,不需要把所有的计算和存储都在服务器端执行,从而能够减轻服务器的压力,也能够减轻网络负荷)缺点:需要安装;升级维护成本较高例如:就像平时玩游戏,假如它不是CS模式是BS模式,通过网页的方式展示的。如果你的网络有些卡,你正.

    2022年10月17日
    3
  • jar包和war包区别及理解

    jar包和war包区别及理解在开发阶段不适合使用war包,因为在开发阶段,经常需要添加或删除Web应用程序的内容,更新Servlet类文件,而每一次改动后,重新建立war包将是一件浪费时间的事情。在产品发布阶段,使用war文件比较合适的,因为在这个时候,几乎不需要再做什么改动了。jar包jar是类的归档文件JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为J2EE应用程序创建的jar文件是EAR文件(企业jar文件),jar文件格式以流行的ZIP文

    2022年5月24日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号