Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 57 additions & 51 deletions src/extension.js
Original file line number Diff line number Diff line change
Expand Up @@ -270,14 +270,14 @@ class Manager {
}

// Create UI Indicator
_createUi(ui_class, x, y, w, h, icon, parent) {
_createUi(ui_class, x, y, w, h, icon) {
let ui = new St.Widget({ style_class: ui_class });
if (this._isDarkTheme()) {
ui.add_style_class_name("wgs-dark");
}
// ui.set_clip_to_allocation(true);
ui._icon = null;
ui._parent = parent ? parent : Main.layoutManager.uiGroup;
ui._parent = Main.layoutManager.uiGroup;
if (icon) {
ui._icon = new St.Icon({
icon_name: icon,
Expand Down Expand Up @@ -1927,8 +1927,10 @@ class Manager {
let posCfg = this._settings.get_int(
'winswitch-position'
);
let lW = (pad * 2) + (wins.length * 48);
let lH = (pad * 2) + 32;
let monitor = global.display.get_primary_monitor();
let scale = global.display.get_monitor_scale(monitor);
let lW = ((pad * 2) + (wins.length * 48)) * scale;
let lH = ((pad * 2) + 32) * scale;
let lX = (gsize[0] - lW) / 2;
let lY = 64; // Top
let pivY = 0;
Expand All @@ -1939,26 +1941,26 @@ class Manager {
}
else if (posCfg == 2) {
// Bottom
lY = gsize[1] - (lH + 64);
lY = gsize[1] - (lH + 64 * scale);
pivY = 1;
}
listActor = this._createUi(
"wgs-winswitch", lX, lY, lW, lH
);
listActor.set_pivot_point(0.5, pivY);
listActor.opacity = 0;
listActor.scale_x = 0.5;
listActor.scale_y = 0.5;
listActor.scale_x = listActor.scale_y = 0.5;
listActor._data = [];
let iconSize = 32 * scale;
for (var i = 0; i < wins.length; i++) {
let win = wins[i];
let app = this._winmanWinApp(win);
let ico = app.create_icon_texture(32);
let ico = app.create_icon_texture(iconSize);
ico.add_style_class_name("wgs-winswitch-ico");
// remove_style_class_name
listActor.add_child(ico);
ico.set_size(32, 32);
ico.set_position((pad * 2) + (48 * i), pad);
ico.set_size(iconSize, iconSize);
ico.set_position(((pad * 2) + (48 * i)) * scale, pad * scale);
ico.set_pivot_point(0.5, 0.5);
listActor._data.push(
{
Expand All @@ -1970,8 +1972,8 @@ class Manager {
}
listActor.viewShow({
opacity: 255,
scale_x: 1,
scale_y: 1
scale_x: 1.0,
scale_y: 1.0
}, 200);

// Reorder for next (below 1s) calls
Expand Down Expand Up @@ -2274,43 +2276,47 @@ class Manager {

// Init indicator
if (!ui) {
activeWin = global.display.get_focus_window();
let display = global.get_display()
activeWin = display.get_focus_window();
if (this._isWindowBlacklist(activeWin)) {
activeWin = null;
}
if (activeWin) {
let uipar = activeWin.get_compositor_private();
if (uipar) {
let wrect = activeWin.get_frame_rect();
let uix = ((uipar.get_width() - wrect.width) / 2);
let uiy = (uipar.get_height() / 2) - 32;
if (kid) {
uix += wrect.width - 128;
}
else {
uix += 64;
}
ui = this._createUi(
'wgs-indicator-backforward',
uix,
uiy,
64, 64,
kid ? 'pan-end-symbolic.symbolic' :
'pan-start-symbolic.symbolic',
uipar
);
if (ui) {
ui.translation_x = kid ? -32 : 32;
ui.opacity = 0;
}
else {
ui = -1;
}
this._actionWidgets[kidw] = ui;
let wrect = activeWin.get_frame_rect();
let primary_scale = 1.0;
let primary_monitor = display.get_primary_monitor();
primary_scale = display.get_monitor_scale(primary_monitor);
let win_monitor = activeWin.get_monitor();
let win_scale = 1.0;
if (win_monitor >= 0) {
win_scale = display.get_monitor_scale(win_monitor);
}
let uisize = 64 * primary_scale;
let uix = wrect.x;
let uiy = wrect.y + (wrect.height / 2) - uisize / 2;
if (kid) {
uix += wrect.width - uisize - 64 * win_scale;
}
else {
this._actionWidgets[kidw] = -1;
uix += 64 * win_scale;
}
ui = this._createUi(
'wgs-indicator-backforward',
uix,
uiy,
uisize, uisize,
kid ? 'pan-end-symbolic.symbolic' :
'pan-start-symbolic.symbolic',
);
ui.scale_x = ui.scale_y = win_scale / primary_scale;
if (ui) {
ui.translation_x = kid ? -32 : 32;
ui.opacity = 0;
}
else {
ui = -1;
}
this._actionWidgets[kidw] = ui;
}
else {
this._actionWidgets[kidw] = -1;
Expand Down Expand Up @@ -2389,24 +2395,24 @@ class Manager {
}
}
else {
let display = global.get_display();
let monitor = display.get_primary_monitor();
let scale = display.get_monitor_scale(display);
if (!ui) {
const iconlist = [
'audio-volume-muted-symbolic',
'media-playback-start-symbolic',
'media-skip-forward-symbolic',
'media-skip-backward-symbolic'
];
let display = global.get_display();
let mrect = display.get_monitor_geometry(
display.get_primary_monitor()
);
let mrect = display.get_monitor_geometry(monitor);
let uisize = 128 * scale;
ui = this._createUi(
'wgs-indicator-keys',
mrect.x + (mrect.width / 2) - 64,
mrect.y + (mrect.height / 2) - 64,
128, 128,
mrect.x + (mrect.width / 2) - (uisize / 2),
mrect.y + (mrect.height / 2) - (uisize / 2),
uisize, uisize,
iconlist[id - 14],
null
);
ui.opacity = 0;
ui.scale_x = ui.scale_y = 0;
Expand All @@ -2416,7 +2422,7 @@ class Manager {
// Execute Progress
if (ui && ui != -1) {
if (!state) {
ui.scale_x = ui.scale_y = progress;
ui.scale_x = ui.scale_y = progress / scale;
ui.opacity = Math.round(255 * progress);
}
else {
Expand Down