Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
216d932ccc | ||
|
|
f6c8dd38ce | ||
|
|
34717961b6 | ||
|
|
770649ff0a | ||
|
|
35e98e2061 |
36
debian/changelog
vendored
36
debian/changelog
vendored
@@ -1,3 +1,39 @@
|
||||
gnome-shell-extension-zorin-taskbar (68.4) noble; urgency=medium
|
||||
|
||||
* Applied monitor selection and reset geometry fixes
|
||||
|
||||
-- Artyom Zorin <azorin@zoringroup.com> Thu, 31 Jul 2025 19:40:58 +0100
|
||||
|
||||
gnome-shell-extension-zorin-taskbar (68.3) noble; urgency=medium
|
||||
|
||||
* Removed code to handle overview startup animation
|
||||
|
||||
-- Artyom Zorin <azorin@zoringroup.com> Mon, 07 Jul 2025 12:56:41 +0100
|
||||
|
||||
gnome-shell-extension-zorin-taskbar (68.2.3) noble; urgency=medium
|
||||
|
||||
* Fixed logic error when adjusting panel menu buttons
|
||||
|
||||
-- Artyom Zorin <azorin@zoringroup.com> Fri, 04 Jul 2025 20:36:32 +0100
|
||||
|
||||
gnome-shell-extension-zorin-taskbar (68.2.2) noble; urgency=medium
|
||||
|
||||
* Added settings schema to metadata file
|
||||
|
||||
-- Artyom Zorin <azorin@zoringroup.com> Fri, 06 Jun 2025 23:03:34 +0100
|
||||
|
||||
gnome-shell-extension-zorin-taskbar (68.2.1) noble; urgency=medium
|
||||
|
||||
* Updated debian control file
|
||||
|
||||
-- Artyom Zorin <azorin@zoringroup.com> Fri, 23 May 2025 20:05:49 +0100
|
||||
|
||||
gnome-shell-extension-zorin-taskbar (68.2) noble; urgency=medium
|
||||
|
||||
* Corrected code to detect Tiling Shell gap offset
|
||||
|
||||
-- Artyom Zorin <azorin@zoringroup.com> Sat, 10 May 2025 23:52:12 +0100
|
||||
|
||||
gnome-shell-extension-zorin-taskbar (68.1) noble; urgency=medium
|
||||
|
||||
* Adjusted app icon margins and padding
|
||||
|
||||
2
debian/control
vendored
2
debian/control
vendored
@@ -8,6 +8,6 @@ Rules-Requires-Root: no
|
||||
|
||||
Package: gnome-shell-extension-zorin-taskbar
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, gnome-shell (>= 46), gnome-shell (<< 48~)
|
||||
Depends: ${misc:Depends}, gnome-shell (>= 46), gnome-shell (<< 49~)
|
||||
Description: Zorin Taskbar extension
|
||||
A taskbar extension for the Zorin OS desktop.
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
"description": "A taskbar extension for the Zorin OS desktop.",
|
||||
"shell-version": [ "46", "47", "48" ],
|
||||
"gettext-domain": "zorin-taskbar",
|
||||
"settings-schema": "org.gnome.shell.extensions.zorin-taskbar",
|
||||
"version": 68
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ let zorinDashDelayId = 0
|
||||
export let DTP_EXTENSION = null
|
||||
export let SETTINGS = null
|
||||
export let TILINGSETTINGS = null
|
||||
export let SHELLSETTINGS = null
|
||||
export let DESKTOPSETTINGS = null
|
||||
export let TERMINALSETTINGS = null
|
||||
export let NOTIFICATIONSSETTINGS = null
|
||||
@@ -53,8 +54,6 @@ export default class ZorinTaskbarExtension extends Extension {
|
||||
constructor(metadata) {
|
||||
super(metadata)
|
||||
|
||||
this._realHasOverview = Main.sessionMode.hasOverview
|
||||
|
||||
//create an object that persists until gnome-shell is restarted, even if the extension is disabled
|
||||
PERSISTENTSTORAGE = {}
|
||||
}
|
||||
@@ -69,6 +68,9 @@ export default class ZorinTaskbarExtension extends Extension {
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
SHELLSETTINGS = new Gio.Settings({
|
||||
schema_id: 'org.gnome.shell',
|
||||
})
|
||||
DESKTOPSETTINGS = new Gio.Settings({
|
||||
schema_id: 'org.gnome.desktop.interface',
|
||||
})
|
||||
@@ -90,16 +92,6 @@ export default class ZorinTaskbarExtension extends Extension {
|
||||
// To remove later, try to map settings using monitor indexes to monitor ids
|
||||
PanelSettings.adjustMonitorSettings(SETTINGS)
|
||||
|
||||
Main.layoutManager.startInOverview = false
|
||||
|
||||
if (Main.layoutManager._startingUp) {
|
||||
Main.sessionMode.hasOverview = false
|
||||
startupCompleteHandler = Main.layoutManager.connect(
|
||||
'startup-complete',
|
||||
() => (Main.sessionMode.hasOverview = this._realHasOverview),
|
||||
)
|
||||
}
|
||||
|
||||
this.enableGlobalStyles()
|
||||
|
||||
let completeEnable = () => {
|
||||
@@ -135,6 +127,7 @@ export default class ZorinTaskbarExtension extends Extension {
|
||||
|
||||
DTP_EXTENSION = null
|
||||
SETTINGS = null
|
||||
SHELLSETTINGS = null
|
||||
DESKTOPSETTINGS = null
|
||||
TERMINALSETTINGS = null
|
||||
panelManager = null
|
||||
@@ -149,8 +142,6 @@ export default class ZorinTaskbarExtension extends Extension {
|
||||
Main.layoutManager.disconnect(startupCompleteHandler)
|
||||
startupCompleteHandler = null
|
||||
}
|
||||
|
||||
Main.sessionMode.hasOverview = this._realHasOverview
|
||||
}
|
||||
|
||||
resetGlobalStyles() {
|
||||
|
||||
12
src/panel.js
12
src/panel.js
@@ -59,6 +59,7 @@ import * as Transparency from './transparency.js'
|
||||
import {
|
||||
SETTINGS,
|
||||
TILINGSETTINGS,
|
||||
SHELLSETTINGS,
|
||||
DESKTOPSETTINGS,
|
||||
PERSISTENTSTORAGE,
|
||||
EXTENSION_PATH,
|
||||
@@ -374,8 +375,10 @@ export const Panel = GObject.registerClass(
|
||||
this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS)
|
||||
|
||||
if (!Main.layoutManager._startingUp)
|
||||
GLib.idle_add(GLib.PRIORITY_LOW, () => {
|
||||
this._waitResetGeomId = GLib.idle_add(GLib.PRIORITY_LOW, () => {
|
||||
this._waitResetGeomId = 0
|
||||
this._resetGeometry()
|
||||
|
||||
return GLib.SOURCE_REMOVE
|
||||
})
|
||||
}
|
||||
@@ -386,6 +389,11 @@ export const Panel = GObject.registerClass(
|
||||
this._timeoutsHandler.destroy()
|
||||
this._signalsHandler.destroy()
|
||||
|
||||
if (this._waitResetGeomId) {
|
||||
GLib.remove_source(this._waitResetGeomId)
|
||||
this._waitResetGeomId = 0
|
||||
}
|
||||
|
||||
this.panel.remove_child(this.taskbar.actor)
|
||||
|
||||
if (this.intellihide) {
|
||||
@@ -1078,7 +1086,7 @@ export const Panel = GObject.registerClass(
|
||||
|
||||
if (
|
||||
TILINGSETTINGS != null &&
|
||||
Main.extensionManager._extensionOrder.includes(ZORIN_TILING_SHELL_UUID) &&
|
||||
SHELLSETTINGS.get_strv('enabled-extensions').includes(ZORIN_TILING_SHELL_UUID) &&
|
||||
TILINGSETTINGS.get_uint('outer-gaps') > 0
|
||||
) {
|
||||
let position = this.getPosition()
|
||||
|
||||
@@ -254,7 +254,9 @@ export const PanelManager = class {
|
||||
'monitors-changed',
|
||||
async () => {
|
||||
if (Main.layoutManager.primaryMonitor) {
|
||||
await PanelSettings.setMonitorsInfo(SETTINGS)
|
||||
await PanelSettings.setMonitorsInfo(SETTINGS).catch((e) =>
|
||||
console.log(e),
|
||||
)
|
||||
this._reset()
|
||||
}
|
||||
},
|
||||
@@ -670,7 +672,7 @@ export const PanelManager = class {
|
||||
}
|
||||
|
||||
_adjustPanelMenuButton(button, monitor, arrowSide) {
|
||||
if (button) {
|
||||
if (button && button.menu) {
|
||||
button.menu._boxPointer._dtpSourceActor =
|
||||
button.menu._boxPointer.sourceActor
|
||||
button.menu._boxPointer.sourceActor = button
|
||||
|
||||
@@ -203,7 +203,7 @@ export function setPanelElementPositions(settings, monitorIndex, value) {
|
||||
setMonitorSetting(settings, 'panel-element-positions', monitorIndex, value)
|
||||
}
|
||||
|
||||
export async function setMonitorsInfo(settings) {
|
||||
export function setMonitorsInfo(settings) {
|
||||
return new Promise((resolve, reject) => {
|
||||
try {
|
||||
let monitorInfos = []
|
||||
@@ -211,7 +211,6 @@ export async function setMonitorsInfo(settings) {
|
||||
proxy.GetCurrentStateRemote((displayInfo, e) => {
|
||||
if (e) return reject(`Error getting display state: ${e}`)
|
||||
|
||||
let gsPrimaryIndex = 0
|
||||
let ids = {}
|
||||
|
||||
//https://gitlab.gnome.org/GNOME/mutter/-/blob/main/data/dbus-interfaces/org.gnome.Mutter.DisplayConfig.xml#L347
|
||||
@@ -227,8 +226,6 @@ export async function setMonitorsInfo(settings) {
|
||||
|
||||
if (ids[id]) id = connector && !ids[connector] ? connector : i
|
||||
|
||||
if (primary) gsPrimaryIndex = i
|
||||
|
||||
monitorInfos.push({
|
||||
id,
|
||||
product,
|
||||
@@ -240,7 +237,7 @@ export async function setMonitorsInfo(settings) {
|
||||
ids[id] = 1
|
||||
})
|
||||
|
||||
_saveMonitors(settings, monitorInfos, gsPrimaryIndex)
|
||||
_saveMonitors(settings, monitorInfos)
|
||||
|
||||
resolve()
|
||||
})
|
||||
@@ -264,20 +261,14 @@ export async function setMonitorsInfo(settings) {
|
||||
})
|
||||
}
|
||||
|
||||
function _saveMonitors(settings, monitorInfos, gsPrimaryIndex) {
|
||||
function _saveMonitors(settings, monitorInfos) {
|
||||
/* Commented out as Zorin Taskbar always uses gnome-shell primary monitor
|
||||
let keyPrimary = 'primary-monitor'
|
||||
let dtpPrimaryMonitor = settings.get_string(keyPrimary)
|
||||
|
||||
// convert previously saved index to monitor id
|
||||
if (dtpPrimaryMonitor.match(/^\d{1,2}$/) && monitorInfos[dtpPrimaryMonitor])
|
||||
dtpPrimaryMonitor = monitorInfos[dtpPrimaryMonitor].id
|
||||
|
||||
// default to gnome-shell primary monitor
|
||||
if (!dtpPrimaryMonitor)
|
||||
dtpPrimaryMonitor = monitorInfos[gsPrimaryIndex]?.id || 0
|
||||
|
||||
settings.set_string(keyPrimary, dtpPrimaryMonitor)
|
||||
settings.set_string(keyPrimary, monitorInfos[dtpPrimaryMonitor].id)
|
||||
*/
|
||||
|
||||
availableMonitors = Object.freeze(monitorInfos)
|
||||
|
||||
Reference in New Issue
Block a user