O Linux-Mint Maya Mate perde o menu Alt-F1 e o diálogo de execução Alt-F2 com o Compiz

2

Eu gosto do menu Linux-Mint 13 Mate Alt-F1 e da Alt-F2 run-dialog, mas assim que instalei o Compiz, essas chaves tornaram-se não-funcionais.

O Conpiz tem um painel de configurações de compatibilidade do Gnome que permite que você configure essas teclas, mas usar esse painel de configurações do Compix não fez diferença alguma (provavelmente porque o Mate não é Gnome, estritamente falando) ...

Existe alguma maneira de obter essas duas teclas de atalho de volta ao Acton com o Compiz?

    
por Peter.O 03.09.2012 / 11:49

2 respostas

6

Alt + F2 dos fóruns da Mint link

Em suma (para aqueles que querem pular a leitura do tópico inteiro). Cole o código abaixo em 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;
}

Compile e instale com:

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

e simplesmente no CCSM > Os comandos adicionam um comando que vincula "mate-run" à combinação de teclas "ALT + F2".

Funciona no Maya x64 (eu tenho build-essentials e outros enfeites, então você pode querer verificar o que instalar para ter bibliotecas X11 e gcc).

Eu não mereço nenhum crédito por isso além de descobri-lo nos fóruns.

    
por 02.11.2012 / 08:49
0

Como parece que não há uma maneira padrão de fazer isso, eu escrevi um script que permite que Alt-F1 abra o menu principal. Utiliza o Applet do Painel Main Menu (o menu principal do MATE)

  • Adicione um novo applet de psanel: Main Menu
  • Torne o ícone mais à esquerda no painel superior. Se você quiser uma posição diferente, altere o primeiro 'mousemove' de acordo, para que ele clique na posição da tela do seu ícone.
  • Coloque este script em algum lugar do seu 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
    
  • No sistema - > Preferências - > Atalhos de teclado, clique em Adicionar.
    Note que porque compiz é o gerenciador de desktop, não há conflito com o Alt-F1 anterior)

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

É isso. Alt+F2 ainda está pendente . mas pelo menos Alt+F1 funciona. Não é perfeito, mas funciona muito bem.

    
por 22.09.2012 / 17:09