2

Мне нравится меню Linux-Mint 13 Mate Alt-F1 и диалог запуска Alt-F2 , но как только я установил Compiz, эти клавиши перестали работать.

В Conpiz есть панель настроек совместимости с Gnome , которая позволяет вам устанавливать эти ключи, но использование этой панели настроек Compix не имеет никакого значения (вероятно, потому что Mate, строго говоря, не является Gnome)...

Есть ли способ вернуть эти два сочетания клавиш в Acton с помощью Compiz?

2 ответа2

6

Alt+F2 с форумов Mint 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;
}

Скомпилируйте и установите с помощью:

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

и просто в CCSM> Commands добавьте команду, которая связывает «mate-run» с «ALT +F2» key-combo.

Работает в Maya x64 (у меня есть основы сборки и все такое, так что вы можете проверить, что устанавливать, чтобы иметь библиотеки X11 и gcc).

Я не заслуживаю уважения за это, кроме обнаружения его на форумах.

0

Кажется, что нет стандартного способа сделать это, я написал скрипт, который позволяет Alt-F1 открывать главное меню. Используется Main Menu Panel Applet (главное меню 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 работает. Это не идеально, но работает довольно хорошо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .