Adjust latest for larger scale factors

This commit is contained in:
Charles Gagnon
2020-05-03 21:27:40 -04:00
parent 07478c8a39
commit 6eaab5ada0
7 changed files with 27 additions and 19 deletions

View File

@@ -168,7 +168,7 @@ var taskbarAppIcon = Utils.defineClass({
this._updateWindowTitle(); this._updateWindowTitle();
this._updateWindowTitleStyle(); this._updateWindowTitleStyle();
this._scaleFactorChangedId = St.ThemeContext.get_for_stage(global.stage).connect('changed', () => this._updateWindowTitleStyle()); this._scaleFactorChangedId = Utils.getStageTheme().connect('changed', () => this._updateWindowTitleStyle());
box.add_child(this._dtpIconContainer); box.add_child(this._dtpIconContainer);
box.add_child(this._windowTitle); box.add_child(this._windowTitle);
@@ -316,7 +316,7 @@ var taskbarAppIcon = Utils.defineClass({
global.window_manager.disconnect(this._switchWorkspaceId); global.window_manager.disconnect(this._switchWorkspaceId);
if(this._scaleFactorChangedId) if(this._scaleFactorChangedId)
St.ThemeContext.get_for_stage(global.stage).disconnect(this._scaleFactorChangedId); Utils.getStageTheme().disconnect(this._scaleFactorChangedId);
if (this._hoverChangeId) { if (this._hoverChangeId) {
this.actor.disconnect(this._hoverChangeId); this.actor.disconnect(this._hoverChangeId);
@@ -474,16 +474,16 @@ var taskbarAppIcon = Utils.defineClass({
_updateWindowTitleStyle: function() { _updateWindowTitleStyle: function() {
if (this._windowTitle) { if (this._windowTitle) {
let useFixedWidth = Me.settings.get_boolean('group-apps-use-fixed-width'); let useFixedWidth = Me.settings.get_boolean('group-apps-use-fixed-width');
let variableWidth = !useFixedWidth || this.dtpPanel.taskbar.fullScrollView; let variableWidth = !useFixedWidth || Panel.checkIfVertical() || this.dtpPanel.taskbar.fullScrollView;
let fontWeight = Me.settings.get_string('group-apps-label-font-weight'); let fontWeight = Me.settings.get_string('group-apps-label-font-weight');
let maxLabelWidth = Me.settings.get_int('group-apps-label-max-width') * let scaleFactor = Utils.getScaleFactor();
St.ThemeContext.get_for_stage(global.stage).scale_factor; let maxLabelWidth = Me.settings.get_int('group-apps-label-max-width') * scaleFactor;
this._windowTitle[(maxLabelWidth > 0 ? 'show' : 'hide')](); this._windowTitle[(maxLabelWidth > 0 ? 'show' : 'hide')]();
this._windowTitle.clutter_text.natural_width = useFixedWidth ? maxLabelWidth : 0; this._windowTitle.clutter_text.natural_width = useFixedWidth ? maxLabelWidth : 0;
this._windowTitle.clutter_text.natural_width_set = useFixedWidth; this._windowTitle.clutter_text.natural_width_set = useFixedWidth;
this._windowTitle.set_width(variableWidth ? -1 : maxLabelWidth + TITLE_RIGHT_PADDING); this._windowTitle.set_width(variableWidth ? -1 : maxLabelWidth + TITLE_RIGHT_PADDING * scaleFactor);
this._windowTitle.set_style('font-size: ' + Me.settings.get_int('group-apps-label-font-size') + 'px;' + this._windowTitle.set_style('font-size: ' + Me.settings.get_int('group-apps-label-font-size') + 'px;' +
'font-weight: ' + fontWeight + ';' + 'font-weight: ' + fontWeight + ';' +
@@ -514,7 +514,7 @@ var taskbarAppIcon = Utils.defineClass({
let highlightMargin = isWide ? Me.settings.get_int('dot-size') : 0; let highlightMargin = isWide ? Me.settings.get_int('dot-size') : 0;
if(!this.window) { if(!this.window) {
let containerWidth = this._dtpIconContainer.get_width() / St.ThemeContext.get_for_stage(global.stage).scale_factor; let containerWidth = this._dtpIconContainer.get_width() / Utils.getScaleFactor();;
let backgroundSize = containerWidth + "px " + let backgroundSize = containerWidth + "px " +
(containerWidth - (pos == DOT_POSITION.BOTTOM ? highlightMargin : 0)) + "px;"; (containerWidth - (pos == DOT_POSITION.BOTTOM ? highlightMargin : 0)) + "px;";
@@ -958,7 +958,7 @@ var taskbarAppIcon = Utils.defineClass({
}, },
_getRunningIndicatorSize: function() { _getRunningIndicatorSize: function() {
return Me.settings.get_int('dot-size') * St.ThemeContext.get_for_stage(global.stage).scale_factor; return Me.settings.get_int('dot-size') * Utils.getScaleFactor();
}, },
_getRunningIndicatorColor: function(isFocused) { _getRunningIndicatorColor: function(isFocused) {
@@ -1165,11 +1165,10 @@ var taskbarAppIcon = Utils.defineClass({
// We apply an overall scale factor that might come from a HiDPI monitor. // We apply an overall scale factor that might come from a HiDPI monitor.
// Clutter dimensions are in physical pixels, but CSS measures are in logical // Clutter dimensions are in physical pixels, but CSS measures are in logical
// pixels, so make sure to consider the scale. // pixels, so make sure to consider the scale.
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
// Set the font size to something smaller than the whole icon so it is // Set the font size to something smaller than the whole icon so it is
// still visible. The border radius is large to make the shape circular // still visible. The border radius is large to make the shape circular
let [minWidth, natWidth] = this._dtpIconContainer.get_preferred_width(-1); let [minWidth, natWidth] = this._dtpIconContainer.get_preferred_width(-1);
let font_size = Math.round(Math.max(12, 0.3 * natWidth) / scaleFactor); let font_size = Math.round(Math.max(12, 0.3 * natWidth) / Utils.getScaleFactor());
let size = Math.round(font_size * 1.3); let size = Math.round(font_size * 1.3);
let label = bin.child; let label = bin.child;
let style = 'font-size: ' + font_size + 'px;' + let style = 'font-size: ' + font_size + 'px;' +
@@ -1641,7 +1640,7 @@ var ShowAppsIconWrapper = Utils.defineClass({
if (customIconPath) { if (customIconPath) {
this._iconActor.gicon = new Gio.FileIcon({ file: Gio.File.new_for_path(customIconPath) }); this._iconActor.gicon = new Gio.FileIcon({ file: Gio.File.new_for_path(customIconPath) });
} }
return this._iconActor; return this._iconActor;
}; };

View File

@@ -74,7 +74,7 @@ function _enable() {
// Disable Ubuntu Dock // Disable Ubuntu Dock
let extensionOrder = (extensionSystem.extensionOrder || extensionSystem._extensionOrder); let extensionOrder = (extensionSystem.extensionOrder || extensionSystem._extensionOrder);
St.ThemeContext.get_for_stage(global.stage).get_theme().unload_stylesheet(ubuntuDock.stylesheet); Utils.getStageTheme().get_theme().unload_stylesheet(ubuntuDock.stylesheet);
ubuntuDock.stateObj.disable(); ubuntuDock.stateObj.disable();
disabledUbuntuDock = true; disabledUbuntuDock = true;
ubuntuDock.state = 2; //ExtensionState.DISABLED ubuntuDock.state = 2; //ExtensionState.DISABLED

View File

@@ -348,7 +348,7 @@ var dtpPanel = Utils.defineClass({
this._signalsHandler.add( this._signalsHandler.add(
// this is to catch changes to the theme or window scale factor // this is to catch changes to the theme or window scale factor
[ [
St.ThemeContext.get_for_stage(global.stage), Utils.getStageTheme(),
'changed', 'changed',
() => this._resetGeometry() () => this._resetGeometry()
], ],
@@ -650,7 +650,8 @@ var dtpPanel = Utils.defineClass({
//centered relatively to the monitor. This looks misaligned, adjust it here so it //centered relatively to the monitor. This looks misaligned, adjust it here so it
//is centered like the rest of the overview elements. //is centered like the rest of the overview elements.
let paddingSide = getPosition() == St.Side.LEFT ? 'left' : 'right'; let paddingSide = getPosition() == St.Side.LEFT ? 'left' : 'right';
let style = offset ? 'padding-' + paddingSide + ':' + offset + 'px;' : null; let scaleFactor = Utils.getScaleFactor();
let style = offset ? 'padding-' + paddingSide + ':' + (offset / scaleFactor) + 'px;' : null;
let searchEntry = Main.overview._searchEntry || Main.overview._overview._searchEntry; let searchEntry = Main.overview._searchEntry || Main.overview._overview._searchEntry;
searchEntry.get_parent().set_style(style); searchEntry.get_parent().set_style(style);
@@ -692,7 +693,7 @@ var dtpPanel = Utils.defineClass({
}, },
getGeometry: function() { getGeometry: function() {
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor || 1; let scaleFactor = Utils.getScaleFactor();
let panelBoxTheme = this.panelBox.get_theme_node(); let panelBoxTheme = this.panelBox.get_theme_node();
let lrPadding = panelBoxTheme.get_padding(St.Side.RIGHT) + panelBoxTheme.get_padding(St.Side.LEFT); let lrPadding = panelBoxTheme.get_padding(St.Side.RIGHT) + panelBoxTheme.get_padding(St.Side.LEFT);
let topPadding = panelBoxTheme.get_padding(St.Side.TOP); let topPadding = panelBoxTheme.get_padding(St.Side.TOP);

View File

@@ -419,7 +419,7 @@ var ProgressIndicator = Utils.defineClass({
}, },
_drawProgressOverlay: function(area) { _drawProgressOverlay: function(area) {
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; let scaleFactor = Utils.getScaleFactor();
let [surfaceWidth, surfaceHeight] = area.get_surface_size(); let [surfaceWidth, surfaceHeight] = area.get_surface_size();
let cr = area.get_context(); let cr = area.get_context();

View File

@@ -71,7 +71,7 @@ var DynamicTransparency = Utils.defineClass({
_bindSignals: function() { _bindSignals: function() {
this._signalsHandler.add( this._signalsHandler.add(
[ [
St.ThemeContext.get_for_stage(global.stage), Utils.getStageTheme(),
'changed', 'changed',
() => this._updateAllAndSet() () => this._updateAllAndSet()
], ],

View File

@@ -294,6 +294,14 @@ var getWorkspaceCount = function() {
return DisplayWrapper.getWorkspaceManager().n_workspaces; return DisplayWrapper.getWorkspaceManager().n_workspaces;
}; };
var getStageTheme = function() {
return St.ThemeContext.get_for_stage(global.stage);
};
var getScaleFactor = function() {
return getStageTheme().scale_factor || 1;
};
var findIndex = function(array, predicate) { var findIndex = function(array, predicate) {
if (Array.prototype.findIndex) { if (Array.prototype.findIndex) {
return array.findIndex(predicate); return array.findIndex(predicate);

View File

@@ -416,7 +416,7 @@ var PreviewMenu = Utils.defineClass({
isLeftButtons = Meta.prefs_get_button_layout().left_buttons.indexOf(Meta.ButtonFunction.CLOSE) >= 0; isLeftButtons = Meta.prefs_get_button_layout().left_buttons.indexOf(Meta.ButtonFunction.CLOSE) >= 0;
isTopHeader = Me.settings.get_string('window-preview-title-position') == 'TOP'; isTopHeader = Me.settings.get_string('window-preview-title-position') == 'TOP';
isManualStyling = Me.settings.get_boolean('window-preview-manual-styling'); isManualStyling = Me.settings.get_boolean('window-preview-manual-styling');
scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; scaleFactor = Utils.getScaleFactor();
headerHeight = Me.settings.get_boolean('window-preview-show-title') ? HEADER_HEIGHT * scaleFactor : 0; headerHeight = Me.settings.get_boolean('window-preview-show-title') ? HEADER_HEIGHT * scaleFactor : 0;
animationTime = Me.settings.get_int('window-preview-animation-time') * .001; animationTime = Me.settings.get_int('window-preview-animation-time') * .001;
aspectRatio.x = { aspectRatio.x = {