Como desativar a minimização de janelas no “botão Atividades” no Gnome?

5

Estou usando o oneiric com o shell do gnome e o Docky. As janelas são minimizadas para a visão geral "Atividades" no painel. Como posso obter o efeito minimizar para o Docky em vez das Atividades?

    
por Edocastillo 15.10.2011 / 07:39

4 respostas

2

Eu queria fazer o mesmo, mas com um painel de fundo falso, em vez do dock. O conceito é o mesmo embora. Eu acho que você pode editar este arquivo:

/usr/share/gnome-shell/js/ui/windowManager.js

Eu tentei identificar o efeito, mas a única coisa que encontro aqui é:

/* scale window down to 0x0.
     * maybe TODO: get icon geometry passed through and move the window towards it?
     */
    this._minimizing.push(actor);

    let primary = Main.layoutManager.primaryMonitor;
    let xDest = primary.x;
    if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
        xDest += primary.width;

    Tweener.addTween(actor,
                     { scale_x: 0.0,
                       scale_y: 0.0,
                       x: xDest,
                       y: 0,
                       time: WINDOW_ANIMATION_TIME,
                       transition: 'easeOutQuad',
                       onComplete: this._minimizeWindowDone,
                       onCompleteScope: this,
                       onCompleteParams: [shellwm, actor],
                       onOverwrite: this._minimizeWindowOverwritten,
                       onOverwriteScope: this,
                       onOverwriteParams: [shellwm, actor]
                     });
},

Se houvesse outras transições, talvez fosse possível substituí-lo. Eu poderia até me contentar com uma transição de fade-out. Eu só não sei onde essas variáveis são especificadas. Acho que as linhas importantes são x: xDest, , y: 0, e transição: 'easeOutQuad',

Se houver alguém disposto a adicioná-lo ou corrigi-lo, por favor ajude.

    
por Zbeefy 06.05.2012 / 04:32
2

Desculpe ressuscitar um tópico antigo, mas estou tentando escrever algumas animações personalizadas para o Gnome Shell e isso é apenas o único tópico que eu acho que foi vagamente útil.

Apenas para o caso de ajudar alguém, aqui está o que eu trabalhei até agora:

// push the current actor onto the 
// minimising stack / queue / list / 
// whatever it is

this._minimizing.push(actor);

// get the main monitor

let primary = Main.layoutManager.primaryMonitor;

// calculate the destination for the x 
// coordinate (0,0 is top left so this 
// is presumably 0 for single monitor set ups)

let xDest = primary.x;

// if Clutter is configured to use 
// right-to-left text, then the 
// activities button is on the 
// right hand side, so add the 
// monitor width to xDest

if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
    xDest += primary.width;

// add the animation to the window

Tweener.addTween(actor,
                 { 

                   // shrink the height and width down to 0

                   scale_x: 0.0,
                   scale_y: 0.0,

                   // move to the calculated destination
                   // (most likely top-left i.e. 0,0)

                   x: xDest,
                   y: 0,

                   // take the correct amount of time

                   time: WINDOW_ANIMATION_TIME,

                   // set the type of curve to use
                   // during the animation

                   transition: 'easeOutQuad',

                   // set up some events to trigger 
                   // when were done

                   onComplete: this._minimizeWindowDone,
                   onCompleteScope: this,
                   onCompleteParams: [shellwm, actor],
                   onOverwrite: this._minimizeWindowOverwritten,
                   onOverwriteScope: this,
                   onOverwriteParams: [shellwm, actor]
                 });

Para encurtar a história, se você tiver o seu encaixe na parte inferior, você pode facilmente fazer a animação ir para o meio dela, fazendo:

x: primary.x + (primary.width / 2)

y: primary.height

Não é perfeito, mas é um começo ...

    
por L Perry 19.07.2013 / 00:46
1

A única maneira de alterar isso (atualmente) sem alterar o código-fonte, seria escrever uma extensão que altere as propriedades da animação minimizada para que ela atinja o encaixe.

    
por RolandiXor 30.03.2012 / 18:20
1

Tente usar a extensão GNOME Desativar animações de janelas :

    
por agus.winger 04.06.2012 / 15:01