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

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

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

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

有没有办法通过 Compiz 将这两个快捷键重新放回到 acton 中?

答案1

来自 Mint 论坛的 Alt+F2http://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;
}

编译并安装:

$ gcc mate-run.c -o mate-run -L/usr/X11R6/lib -lX11
$ chmod 755 mate-run
$ sudo cp mate-run /usr/local/bin

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

适用于 Maya x64(我确实有 build-essentials 和其他东西,所以您可能需要检查要安装什么才能拥有 X11 库和 gcc)。

除了在论坛上发现它之外,我不值得任何荣誉。

答案2

由于似乎没有标准方法可以做到这一点,我编写了一个脚本,可以Alt-F1打开主菜单。它利用面板小程序 Main Menu(MATE 主菜单)

  • 添加新的 psanel 小程序:Main Menu
  • 将其设置为顶部面板最左侧的图标。如果您想要不同的位置,请更改第一个‘鼠标移动’因此,它会点击您的图标的屏幕位置。
  • 把这个脚本放到你的 PATH 中

    #!/bin/bash
    # name: mouse-click-screen
    { eval $(xdotool getmouselocation --shell)  # save current mouse position
      sleep .15               # It needs a delay (?!).. Your Mileage May Vary
      xdotool mousemove --sync ${1:-10} ${2:-10} click 1
      xdotool mousemove --sync $X $Y           # restore saved mouse position
    } 2>/dev/null
    
  • 在系统 -> 偏好设置 -> 键盘快捷键中,点击添加。
    注意,因为 compiz 是桌面管理器,所以与之前的 Alt-F1 不会发生冲突)

    Name:     main-menu    
    Command:  mouse-click-screen
    Shortcut: Alt+F1
    

就是这样。Alt+F2仍然待办的. 但至少Alt+F1能用。虽然不完美,但效果还不错。

相关内容