hdpi: Revert hacks
Revert the hacks that where added in response to a bug caused by
commit ba459f4d20
https://bugzilla.gnome.org/show_bug.cgi?id=705410
This commit is contained in:
parent
3e7e88cd5f
commit
87abbf9b20
@ -31,9 +31,6 @@ const MESSAGE_TRAY_PRESSURE_TIMEOUT = 1000; // ms
|
|||||||
const HOT_CORNER_PRESSURE_THRESHOLD = 100; // pixels
|
const HOT_CORNER_PRESSURE_THRESHOLD = 100; // pixels
|
||||||
const HOT_CORNER_PRESSURE_TIMEOUT = 1000; // ms
|
const HOT_CORNER_PRESSURE_TIMEOUT = 1000; // ms
|
||||||
|
|
||||||
// We scale up when the dpi is higher then this (same value used by gsd)
|
|
||||||
const HIGH_DPI_LIMIT = 192;
|
|
||||||
|
|
||||||
function isPopupMetaWindow(actor) {
|
function isPopupMetaWindow(actor) {
|
||||||
switch(actor.meta_window.get_window_type()) {
|
switch(actor.meta_window.get_window_type()) {
|
||||||
case Meta.WindowType.DROPDOWN_MENU:
|
case Meta.WindowType.DROPDOWN_MENU:
|
||||||
@ -489,25 +486,8 @@ const LayoutManager = new Lang.Class({
|
|||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateScaling: function() {
|
|
||||||
let primary = this.monitors[this.primaryIndex];
|
|
||||||
let width_mm = global.gdk_screen.get_monitor_width_mm(this.primaryIndex);
|
|
||||||
let height_mm = global.gdk_screen.get_monitor_height_mm(this.primaryIndex);
|
|
||||||
if (width_mm == 0 || height_mm == 0) {
|
|
||||||
St.ThemeContext.get_for_stage(global.stage).scale_factor = 1;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
let dpi_x = primary.width / (width_mm / 25.4);
|
|
||||||
let dpi_y = primary.height / (height_mm / 25.4);
|
|
||||||
if (dpi_x > HIGH_DPI_LIMIT && dpi_y > HIGH_DPI_LIMIT)
|
|
||||||
St.ThemeContext.get_for_stage(global.stage).scale_factor = 2;
|
|
||||||
else
|
|
||||||
St.ThemeContext.get_for_stage(global.stage).scale_factor = 1;
|
|
||||||
},
|
|
||||||
|
|
||||||
_monitorsChanged: function() {
|
_monitorsChanged: function() {
|
||||||
this._updateMonitors();
|
this._updateMonitors();
|
||||||
this._updateScaling();
|
|
||||||
this._updateBoxes();
|
this._updateBoxes();
|
||||||
this._updateTrayBarrier();
|
this._updateTrayBarrier();
|
||||||
this._updateHotCorners();
|
this._updateHotCorners();
|
||||||
|
@ -746,6 +746,20 @@ global_stage_after_paint (gpointer data)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
update_scale_factor (gpointer data)
|
||||||
|
{
|
||||||
|
ShellGlobal *global = SHELL_GLOBAL (data);
|
||||||
|
ClutterStage *stage = CLUTTER_STAGE (global->stage);
|
||||||
|
StThemeContext *context = st_theme_context_get_for_stage (stage);
|
||||||
|
GValue value = G_VALUE_INIT;
|
||||||
|
|
||||||
|
g_value_init (&value, G_TYPE_INT);
|
||||||
|
gdk_screen_get_setting (global->gdk_screen, "gdk-window-scaling-factor", &value);
|
||||||
|
g_object_set (context, "scale-factor", g_value_get_int (&value), NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* This is an IBus workaround. The flow of events with IBus is that every time
|
/* This is an IBus workaround. The flow of events with IBus is that every time
|
||||||
* it gets gets a key event, it:
|
* it gets gets a key event, it:
|
||||||
*
|
*
|
||||||
@ -924,9 +938,19 @@ _shell_global_set_plugin (ShellGlobal *global,
|
|||||||
g_signal_connect (global->meta_display, "notify::focus-window",
|
g_signal_connect (global->meta_display, "notify::focus-window",
|
||||||
G_CALLBACK (focus_window_changed), global);
|
G_CALLBACK (focus_window_changed), global);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We connect to GdkScreen's monitors-changed here to avoid
|
||||||
|
* a race condition. GdkScreen's monitors-changed signal is
|
||||||
|
* emitted *after* the xsetting has been updated.
|
||||||
|
*/
|
||||||
|
g_signal_connect (global->gdk_screen, "monitors-changed",
|
||||||
|
G_CALLBACK (update_scale_factor), global);
|
||||||
|
|
||||||
gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL);
|
gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL);
|
||||||
|
|
||||||
global->focus_manager = st_focus_manager_get_for_stage (global->stage);
|
global->focus_manager = st_focus_manager_get_for_stage (global->stage);
|
||||||
|
|
||||||
|
update_scale_factor (global);
|
||||||
}
|
}
|
||||||
|
|
||||||
GjsContext *
|
GjsContext *
|
||||||
|
Loading…
Reference in New Issue
Block a user