ScreenSheild: make notification view scrollable
Place a maximum height on the notification view, and show scrollbars if the list of persistent sources would overflow. https://bugzilla.gnome.org/show_bug.cgi?id=681143
This commit is contained in:
parent
0b7ca098ad
commit
1d484e2278
@ -2228,12 +2228,13 @@ StButton.popup-menu-item:insensitive {
|
||||
}
|
||||
|
||||
#screenShieldNotifications {
|
||||
border-radius: 24px;
|
||||
border-radius: 8px;
|
||||
background-color: rgba(0.0, 0.0, 0.0, 0.9);
|
||||
border: 2px solid #868686;
|
||||
max-height: 500px;
|
||||
}
|
||||
|
||||
#screenShieldNotifications, .screen-shield-notifications-box {
|
||||
.screen-shield-notifications-box {
|
||||
spacing: 8px;
|
||||
}
|
||||
|
||||
|
@ -77,17 +77,18 @@ const NotificationsBox = new Lang.Class({
|
||||
|
||||
_init: function() {
|
||||
this.actor = new St.BoxLayout({ vertical: true,
|
||||
name: 'screenShieldNotifications',
|
||||
margin_top: 20
|
||||
});
|
||||
name: 'screenShieldNotifications',
|
||||
style_class: 'screen-shield-notifications-box' });
|
||||
|
||||
this._residentNotificationBox = new St.BoxLayout({ vertical: true,
|
||||
style_class: 'screen-shield-notifications-box' });
|
||||
let scrollView = new St.ScrollView({ x_fill: false, x_align: St.Align.MIDDLE });
|
||||
this._persistentNotificationBox = new St.BoxLayout({ vertical: true,
|
||||
style_class: 'screen-shield-notifications-box' });
|
||||
scrollView.add_actor(this._persistentNotificationBox);
|
||||
|
||||
this.actor.add(this._residentNotificationBox, { x_fill: true });
|
||||
this.actor.add(this._persistentNotificationBox, { x_fill: false, x_align: St.Align.MIDDLE });
|
||||
this.actor.add(scrollView, { x_fill: true, x_align: St.Align.MIDDLE });
|
||||
|
||||
this._items = [];
|
||||
Main.messageTray.getSummaryItems().forEach(Lang.bind(this, function(item) {
|
||||
@ -172,7 +173,7 @@ const NotificationsBox = new Lang.Class({
|
||||
this._residentNotificationBox.add(item.notificationStackView);
|
||||
} else {
|
||||
[obj.sourceBox, obj.countLabel] = this._makeNotificationSource(item.source);
|
||||
this._persistentNotificationBox.add(obj.sourceBox);
|
||||
this._persistentNotificationBox.add(obj.sourceBox, { x_fill: false, x_align: St.Align.MIDDLE });
|
||||
}
|
||||
|
||||
obj.contentUpdatedId = item.connect('content-updated', Lang.bind(this, this._onItemContentUpdated));
|
||||
|
Loading…
Reference in New Issue
Block a user