Linux-Mint Maya Mate 在 Compiz 中丢失了 Alt-F1 菜单和 Alt-F2 运行对话框

Pet*_*r.O 2 compiz linux-mint mate

我喜欢Linux-Mint 13 Mate Alt-F1菜单和Alt-F2运行对话框,但是一旦我安装了 Compiz,这些键就不起作用了。

Conpiz 有一个Gnome 兼容性设置面板,允许您设置这些键,但是使用 Compix 设置面板没有任何区别(可能是因为 Mate 不是 Gnome,严格来说)...

有什么方法可以让这两个快捷键与 Compiz 一起使用?

Boj*_*vic 6

来自 Mint 论坛的 Alt+F2 http://forums.linuxmint.com/viewtopic.php?f=206&t=104169

简而言之(对于那些想要跳过整个线程的人)。将下面的代码粘贴到 mate-run.c 中

#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>

void die(const char *message)
{
   fputs(message, stderr);
   exit(1);
}

Atom get_atom(Display *display, const char *atom_name)
{
   Atom atom = XInternAtom(display, atom_name, False);
   if (atom == None)
      die("can't find an atom I need");
   return atom;
}

int main()
{
   Display *display;
   Atom gnome_panel_atom, run_atom;
   XClientMessageEvent event;

   display = XOpenDisplay(NULL);
   if (display == NULL)
      die("can't open display");

   gnome_panel_atom = get_atom(display, "_MATE_PANEL_ACTION");
   run_atom = get_atom(display, "_MATE_PANEL_ACTION_RUN_DIALOG");

   event.type = ClientMessage;
   event.window = DefaultRootWindow(display);
   event.message_type = gnome_panel_atom;
   event.format = 32;
   event.data.l[0] = run_atom;
   event.data.l[1] = (Time)(time(NULL) * 1000);

   XSendEvent(display, event.window, False, StructureNotifyMask,
              (XEvent *)&event);

   XCloseDisplay(display);

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译并安装:

$ gcc mate-run.c -o mate-run -L/usr/X11R6/lib -lX11
$ chmod 755 mate-run
$ sudo cp mate-run /usr/local/bin
Run Code Online (Sandbox Code Playgroud)

只需在 CCSM > Commands 中添加一个将“mate-run”链接到“ALT+F2”组合键的命令。

在 Maya x64 中工作(我确实有 build-essentials 和诸如此类的东西,因此您可能想查看要安装什么才能拥有 X11 库和 gcc)。

除了在论坛中发现它之外,我不应该为此获得任何荣誉。