Cinnamon: A alteração da propriedade css da margem da borda superior da tela #notification no tema não está funcionando

Criado em 11 mar. 2016  ·  3Comentários  ·  Fonte: linuxmint/cinnamon

Estou tentando mudar a posição do pop-up de notificação como aqui http://www.webupd8.org/2012/06/how-to-change-notifications-position-in.html . Mas adicionar ou alterar margin-from-top-edge-of-screen não tem efeito algum. Em contraste, alterar margin-from-right-edge-of-screen funciona bem.

Estou usando o Linux Mint 17.3 com o tema Linux Mint e minhas #notificações têm a seguinte aparência:

#notification {
font-size: 8.5pt;
border-radius: 10px 10px 10px 10px;
border: 2px solid rgba(214,214,214,0.5);
background-gradient-direction: vertical;
background-gradient-start: rgba(66,66,66,0.9);
background-gradient-end: rgba(55,55,55,0.9);
padding: 8px 8px 8px 8px;
spacing-rows: 10px;
spacing-columns: 10px;
margin-from-right-edge-of-screen: 80px;  
margin-from-top-edge-of-screen: 350px;
width: 34em;
color: white;    
/* The px are a temporary fix until get_theme_node() can return raw numbers. */
opacity:255px;
mouseover-opacity:96px
}

Alguma ideia de por que mudar margin-from-top-edge-of-screen não tem efeito?

Comentários muito úteis

Ok, então há uma maneira de mover este pop-up de forma que não fique sobre os botões minimizar / maximizar / fechar? É realmente irritante colocar pop-ups no canto superior direito da tela ...

//EDITAR

ok encontrei o código responsável por colocar a notificação, /usr/share/cinnamon/js/ui/messageTray.js:

_onNotificationExpanded: function() {
    let expandedY = this._notification.actor.height - this._notificationBin.height;
    // Don't animate the notification to its new position if it has shrunk:
    // there will be a very visible "gap" that breaks the illusion.

    // This isn't really working at the moment, but it was just crashing before
    // if it encountered a critical notification.  expandedY is always 0.  For now
    // just make sure it's not covering the top panel if there is one.

    let monitor = Main.layoutManager.primaryMonitor;
    let panel = Main.panelManager.getPanel(0, false); // We only want the top panel in monitor 0
    let height = 5;
    if (panel)
        height += panel.actor.get_height();
    let newY = monitor.y + height + 50; // ADDED 50 HERE SO POPUP IS NOT OVER WINDOW CONTROLS

    if (this._notificationBin.y < expandedY)
        this._notificationBin.y = expandedY;
    else if (this._notification.y != expandedY)
        this._tween(this._notificationBin, '_notificationState', State.SHOWN,
                    { y: newY,
                      time: ANIMATION_TIME,
                      transition: 'easeOutQuad'
                    });

},

Ele irá parar de funcionar após a atualização do Cinnamon, pois este arquivo será sobrescrito.

Todos 3 comentários

Isso porque a margem da borda superior da tela não é uma propriedade real. Não existe tal coisa, então Canela está apenas ignorando isso. A postagem que você apontou é muito antiga. As coisas provavelmente mudaram desde então.

Ok, então há uma maneira de mover este pop-up de forma que não fique sobre os botões minimizar / maximizar / fechar? É realmente irritante colocar pop-ups no canto superior direito da tela ...

//EDITAR

ok encontrei o código responsável por colocar a notificação, /usr/share/cinnamon/js/ui/messageTray.js:

_onNotificationExpanded: function() {
    let expandedY = this._notification.actor.height - this._notificationBin.height;
    // Don't animate the notification to its new position if it has shrunk:
    // there will be a very visible "gap" that breaks the illusion.

    // This isn't really working at the moment, but it was just crashing before
    // if it encountered a critical notification.  expandedY is always 0.  For now
    // just make sure it's not covering the top panel if there is one.

    let monitor = Main.layoutManager.primaryMonitor;
    let panel = Main.panelManager.getPanel(0, false); // We only want the top panel in monitor 0
    let height = 5;
    if (panel)
        height += panel.actor.get_height();
    let newY = monitor.y + height + 50; // ADDED 50 HERE SO POPUP IS NOT OVER WINDOW CONTROLS

    if (this._notificationBin.y < expandedY)
        this._notificationBin.y = expandedY;
    else if (this._notification.y != expandedY)
        this._tween(this._notificationBin, '_notificationState', State.SHOWN,
                    { y: newY,
                      time: ANIMATION_TIME,
                      transition: 'easeOutQuad'
                    });

},

Ele irá parar de funcionar após a atualização do Cinnamon, pois este arquivo será sobrescrito.

Fechar isso porque o problema original é sobre uma propriedade que nem existe e temos outros problemas em aberto sobre a capacidade de mover notificações.

Esta página foi útil?
0 / 5 - 0 avaliações