linux etc xdg,Xdg-menu (简体中文)

news/2024/7/5 1:48:58

翻译状态:本文是 Xdg-menu 的翻译。上次翻译日期:2020-04-10。如果英文版本有所更改,则您可以帮助同步翻译。

xdg-menu是一个为以下窗口管理器生成xdg桌面菜单的工具:

KDE, Gnome, Xfce, Enlightenment已经与XDG兼容。

安装

菜单层次结构

应用

辅助功能

配饰

开发

教育

游戏

图形

互联网

多媒体

办公

其他

科学

系统

配置

Xdg_menu依赖于三组信息来生成菜单:根菜单或换句话说,通常在命令行上传递的XML菜单模板、上次运行时缓存的信息以及一系列配置文件。

您可以在/etc/xdg/menus中找到一些XML菜单模板.

如果更改xdg_menu中的代码以更改布局,请确保删除~/.xdg_menu_cache中的所有内容,否则您将花费数小时试图找出对perl脚本所做的更改不起作用的原因。

您可以在/usr/share/applications中找到各个应用程序配置

其他配置文件目录可以在/usr/share下找到。在大多数情况下你不需要碰这些东西。但是,如果要更改菜单的分层方式,可以更改菜单模板以进行细微更改。主要的更改需要调整实际的 xdg_menu perl脚本。如果您发现应用程序没有出现或者它们被称为奇怪的东西,那么您需要查看/usr/share/applications中的.desktop文件。检查桌面条目规范。

从其他目录添加桌面条目

默认情况下,Xdg菜单将填充那些将桌面条目安装到/usr/share/applications的应用程序。若要将应用程序添加到将桌面项安装到用户文件夹(如~/.local/share/applications的菜单中,请编辑/etc/xdg/menus/arch applications.menu文件,并为相关目录添加标记,请参见以下内容:

/etc/xdg/menus/arch-applications.menu

Applications

Arch-Applications.directory

/home/username/.local/share/applications

...

使用

xdg_menu

xdg_menu [--format ] [--desktop ]

[--charset ] [--language ]

[--root-menu ] [--die-on-error]

[--fullmenu] [--help]

format - output format

possible formats: twm, WindowMaker, fvwm2, icewm, ion3

blackbox, fluxbox, openbox,

xfce4, openbox3, openbox3-pipe, awesome

readable

default: WindowMaker

fullmenu - output a full menu and not only a submenu

desktop - desktop name for NotShowIn and OnlyShowIn

default: the same as format

charset - output charset

default:

language - output language

default:

root-menu - location of root menu file

default: /opt/gnome/etc/xdg/menus/applications.menu

die-on-error - abort execution on any error,

default: try to continue

verbose - print debugging information

help - print this text

update-menus

update-menus 从XDG内容更新窗口管理器的菜单,并可以使用配置自动完成。

这是xdg_menu的脚本包装器,它依赖于 /etc/update-menus.conf

/etc/update-menus.conf 从应该为其生成菜单的窗口管理器列表中进行选择。允许带#的内容。

所有生成的菜单都放在/var/cache/xdg-menu/中。有关更多信息,请参阅本页的“wm特定示例”部分。

示例

Awesome

使用 xdg_menu

$ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu >~/.config/awesome/archmenu.lua

然后编辑 rc.lua ,如下所示

为新的 menu.lua 文件添加一个要求的声明

为调用 xdgmenu 的新菜单的 awful.menu 对象添加一个条目

...

xdg_menu = require("archmenu")

...

...

mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },

{ "Applications", xdgmenu },

{ "open terminal", terminal }

}

})

...

IceWM

使用 xdg_menu

$ xdg_menu --format icewm --fullmenu --root-menu /etc/xdg/menus/arch-applications.menu >>~/.icewm/programs

使用 update-menus

在 /etc/update-menus.conf 取消对icewm的注释

使用root用户运行 update-menus 命令

将 ~/.icewm/programs 符号链接到 /var/cache/xdg-menu/icewm/programs

Ion3

使用 xdg_menu

$ xdg_menu --format ion3 --root-menu /etc/xdg/menus/arch-applications.menu >~/.ion3/default-session--0/_xdg-menu.lua

之后,将 cfg_menus.lua 更改为包含 _xdg-menu.lua 文件,并将菜单添加到主菜单中。例如:

...

dopath("_xdg-menu")

-- Main menu

defmenu("mainmenu", {

submenu("XDG Menu", ""),

submenu("Programs", "appmenu"),

menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"),

menuentry("Help", "mod_query.query_man(_)"),

menuentry("About Ion", "mod_query.show_about_ion(_)"),

submenu("Styles", "stylemenu"),

submenu("Session", "sessionmenu"),

})

...

使用update-menus

在 /etc/update-menus.conf 取消对ion3的注释

使用root用户运行 update-menus 命令

将 cfg_menus.lua 更改为包含 xdg-menu.lua 文件,并将菜单添加到主菜单中

例如:

...

dopath("/var/cache/xdg-menu/ion3/xdg-menu.lua")

-- Main menu

defmenu("mainmenu", {

submenu("XDG Menu", ""),

submenu("Programs", "appmenu"),

menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"),

menuentry("Help", "mod_query.query_man(_)"),

menuentry("About Ion", "mod_query.show_about_ion(_)"),

submenu("Styles", "stylemenu"),

submenu("Session", "sessionmenu"),

})

...

FluxBox

使用 xdg_menu

$ xdg_menu --format fluxbox --root-menu /etc/xdg/menus/arch-applications.menu >~/.fluxbox/my-menu

将菜单文件更改为包含生成的菜单。

例如添加行:

[include] (my-menu)

使用 update-menus

在 /etc/update-menu.conf 中取消对fluxbox的注释

使用root用户运行 update-menus

将菜单文件更改为包含生成的菜单

例如添加行:

[include] (/var/cache/xdg-menu/fluxbox/boxrc)

OpenBox

使用 xdg_menu

生成菜单:

$ xdg_menu --format openbox3 --root-menu /etc/xdg/menus/arch-applications.menu > xdg-menu.xml

然后手动将其添加到 menu.xml 中。例如,将 xdg-menu.xml 放入 menu.xml 并添加:

进入根菜单。

作为管道菜单

使用 xdg_open 作为管道菜单,您可以获得额外的好处,即在安装新应用程序时,菜单会自动更新。

在 menu.xml 中的根菜单标记之间添加以下内容:

一个非常基本的例子:

yes

使用 update-menus

在 /etc/update-menu.conf 中取消对openbox的注释

以root用户运行 update-menus

将 menu.xml 文件更改为包含生成的菜单

例如,在根菜单中添加以下内容:

Twm

使用 xdg_menu

使用

$ xdg_menu --format twm --root-menu /etc/xdg/menus/arch-applications.menu >my-twm-menu

并手动添加到 twmrc 中。对于具有m4预处理的twm衍生物,如vtwm或ctwm,可通过添加

sinclude(`/PATH/TO/my-twm-menu')

到 *twmrc.

使用 update-menus

在 /etc/update-menu.conf 中取消对twm的注释

添加到 /etc/X11/twm/system.twmrc 文件应用程序菜单中 (添加以下这行:

"apps" f.menu "Applications"

)到菜单中

使用root用户运行 update-menus

运行 twm -f /var/cache/xdg-menu/twm/twmrc

(您还需要将其他自定义项添加到 /etc/X11/twm/system.twmrc)

WindowMaker

使用 xdg_menu

使用

$ xdg_menu --format WindowMaker --root-menu /etc/xdg/menus/arch-applications.menu >my-wm-menu

然后添加

#include "my-wm-menu"

到你的 WindowMaker 菜单文件。

您还可以使用WPrefs“应用程序菜单定义”,并将xdg命令作为参数添加到“生成的子菜单”对象中。

使用 update-menus

在 /etc/update-menus.conf 取消对 WindowMaker 的注释

用root用户运行 update-menus

添加

#include "/var/cache/xdg-menu/WindowMaker/wmrc"

到你的菜单文件

Fvwm2

使用 xdg_menu

生成菜单

$ xdg_menu --format fvwm2 --root-menu /etc/xdg/menus/arch-applications.menu >fvwm2-menu

然后把菜单添加到根菜单

read fvwm2-menu

AddToMenu MenuFvwmRoot "Root Menu" Title

+ "&0. XDG Menu" Popup xdg_menu

使用 update-menus

在 /etc/update-menus.conf 取消对 fvwm2 的注释

使用root用户运行 update-menus

修改你的 .fvwm2rc 以使其包含创建的菜单,示例:

AddToMenu MenuFvwmRoot "Root Menu" Title

+ "&0. XDG Menu" Popup xdg_menu

read /var/cache/xdg-menu/fvwm2/fvwm2rc

BlackBox

使用 xdg_menu

$ xdg_menu --format blackbox --root-menu /etc/xdg/menus/arch-applications.menu >my-menu

修改你的菜单文件以使其包含创建的菜单

例如添加:

[include] (my-menu)

使用 update-menus

在 /etc/update-menus.conf 取消 blackbox 的注释

使用root用户运行 update-menus

更改你的菜单文件以使其包含创建的菜单

例如添加:

[include] (/var/cache/xdg-menu/blackbox/boxrc)

另请参见


http://www.niftyadmin.cn/n/2251953.html

相关文章

linux 心脏滴血漏洞,漏洞bash近日“破壳”,当心再次“心脏出血”

2014年9月24日,外媒曝出一个广泛存在于主流操作系统的漏洞bash,该漏洞会影响到Redhat、CentOS、Ubuntu、Debian、Fedora 、Amazon Linux、OS X 10.10等平台,预计影响范围和纵深程度都可能匹敌或者超过今年4月发现的“心脏流血”(Heartbleed)漏…

c语言中void shuru() 是什么意思,C语言:用递回的方法写程式求5!

C语言:用递回的方法写程式求5!以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!C语言:用递回的方法写程式求5!#include long fun(int a){if (a1…

iOS高级工程师面试

1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? Objecitve-C的重要特性是Runtime(运行时&am…

率辉c语言,C语言真题

面试真题302道? 定位准确:面向企业应聘人才,面向编程技术提高者。? 答疑解惑:解析相关课程中难点、疑点和热点,许多都是目前各大网站上热门讨论话题。? 实战性强:收集近些年笔试和面试题目,涵盖常见考点…

显示剩余可输入的数字

一、引入css 1 .clsShowInfoWindow {2 BORDER-RIGHT: #8AB3F4 3px solid;3 PADDING-RIGHT: 0em;4 BORDER-TOP: #8AB3F4 3px solid;5 PADDING-LEFT: 0em;6 FONT-SIZE: smaller;7 font-family:Verdana, Arial, Helvetica;8 font-size:12px;9 Z-I…

飞机大战c语言设计报告,中南大学电信-C语言飞机大战实验报告.doc

中南大学电信-C语言飞机大战实验报告C语言课程设计报告题 目 C语言飞机大战学生姓名学 号指导教师学 院 信息科学与工程学院专业班级 电子信息工程2班完成时间程序框图按任意键进入游戏结束系统具体实现运用C语言编写系统,就是程序模块化设计,编写一个个…

c语言向二进制文件中写入0x00,C语言 :文件操作 -2

C语言获取文件大小:#define _CRT_SECURE_NO_WARNINGS //去掉安全检查#include#include#includechar path1[100] "C:\\Users\\whx\\Desktop\\test.txt"; //文本文件char path2[100] "C:\\Users\\whx\\Desktop\\SpaceSniffer.exe"; //二进制文件…

c语言差速小车算法,差速器在汽车上多方面应用研究.PDF

机械设计与制造 第3期&Manufacture 2010年3月MachineryDesign文章编号:100l一3997(2010)03删棚3差速器在汽车上的多方面应用研究祁炳楠张利鹏20fdifferentiaIinVehiCIeMuIti—appCatiOnQIBing—n粕1,zHANG“呻en92Schoolof and(1 AutomobileT瑚mspor…