Я пытаюсь изменить положение всплывающего окна с уведомлением, как здесь http://www.webupd8.org/2012/06/how-to-change-notifications-position-in.html . Но добавление или изменение margin-from-top-edge-of-screen
вообще не имеет никакого эффекта. Напротив, изменение margin-from-right-edge-of-screen
работает нормально.
Я использую Linux Mint 17.3 с темой Linux Mint
и мои # уведомления выглядят так:
#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
}
Есть идеи, почему изменение margin-from-top-edge-of-screen
имеет никакого эффекта?
Это потому, что маржа от верхнего края экрана не является реальной собственностью. Такого не существует, поэтому Корица просто игнорирует это. Пост, на который вы указали, действительно старый. С тех пор, вероятно, все изменилось.
Хорошо, есть ли способ переместить это всплывающее окно, чтобы оно не превышало кнопки свертывания / развертывания / закрытия? Очень неприятно размещать всплывающие окна в правом верхнем углу экрана ...
//РЕДАКТИРОВАТЬ
хорошо, я нашел код, отвечающий за размещение уведомления, /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'
});
},
Он перестанет работать после обновления корицы, так как этот файл будет перезаписан.
Закрытие, поскольку исходная проблема касается свойства, которого даже не существует, и у нас есть другие открытые проблемы, связанные с возможностью перемещать уведомления.
Самый полезный комментарий
Хорошо, есть ли способ переместить это всплывающее окно, чтобы оно не превышало кнопки свертывания / развертывания / закрытия? Очень неприятно размещать всплывающие окна в правом верхнем углу экрана ...
//РЕДАКТИРОВАТЬ
хорошо, я нашел код, отвечающий за размещение уведомления, /usr/share/cinnamon/js/ui/messageTray.js:
},
Он перестанет работать после обновления корицы, так как этот файл будет перезаписан.