screenshot-ui: Add the control panel
The (currently empty) panel resides on the primary monitor. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954>
This commit is contained in:
parent
8ebc478f0f
commit
3b4fe9af31
@ -29,6 +29,7 @@
|
||||
@import 'widgets/osd';
|
||||
@import 'widgets/switcher-popup';
|
||||
@import 'widgets/workspace-switcher';
|
||||
@import 'widgets/screenshot';
|
||||
// Panel
|
||||
@import 'widgets/panel';
|
||||
@import 'widgets/corner-ripple';
|
||||
|
9
data/theme/gnome-shell-sass/widgets/_screenshot.scss
Normal file
9
data/theme/gnome-shell-sass/widgets/_screenshot.scss
Normal file
@ -0,0 +1,9 @@
|
||||
// Screenshot UI
|
||||
.screenshot-ui-panel {
|
||||
background-color: $osd_bg_color;
|
||||
border-radius: 12px + 21px;
|
||||
padding: 18px;
|
||||
padding-bottom: 18px - 6px;
|
||||
margin-bottom: $base_margin * 8;
|
||||
spacing: $base_padding * 2;
|
||||
}
|
@ -30,6 +30,7 @@ theme_sources = files([
|
||||
'gnome-shell-sass/widgets/_panel.scss',
|
||||
'gnome-shell-sass/widgets/_popovers.scss',
|
||||
'gnome-shell-sass/widgets/_screen-shield.scss',
|
||||
'gnome-shell-sass/widgets/_screenshot.scss',
|
||||
'gnome-shell-sass/widgets/_scrollbars.scss',
|
||||
'gnome-shell-sass/widgets/_search-entry.scss',
|
||||
'gnome-shell-sass/widgets/_search-results.scss',
|
||||
|
@ -4,6 +4,7 @@
|
||||
const { Clutter, Gio, GObject, GLib, Meta, Shell, St } = imports.gi;
|
||||
|
||||
const GrabHelper = imports.ui.grabHelper;
|
||||
const Layout = imports.ui.layout;
|
||||
const Lightbox = imports.ui.lightbox;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
@ -39,6 +40,19 @@ class ScreenshotUI extends St.Widget {
|
||||
actionMode: Shell.ActionMode.POPUP,
|
||||
});
|
||||
|
||||
this._primaryMonitorBin = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||
this._primaryMonitorBin.add_constraint(
|
||||
new Layout.MonitorConstraint({ 'primary': true }));
|
||||
this.add_child(this._primaryMonitorBin);
|
||||
|
||||
this._panel = new St.BoxLayout({
|
||||
style_class: 'screenshot-ui-panel',
|
||||
y_align: Clutter.ActorAlign.END,
|
||||
y_expand: true,
|
||||
vertical: true,
|
||||
});
|
||||
this._primaryMonitorBin.add_child(this._panel);
|
||||
|
||||
Main.layoutManager.connect('monitors-changed', () => {
|
||||
// Nope, not dealing with monitor changes.
|
||||
this.close(true);
|
||||
|
Loading…
Reference in New Issue
Block a user