#
This commit is contained in:
@@ -1,73 +0,0 @@
|
||||
const Shell = imports.gi.Shell
|
||||
const Main = imports.ui.main
|
||||
const Unite = imports.misc.extensionUtils.getCurrentExtension()
|
||||
const Base = Unite.imports.module.BaseModule
|
||||
const DesktopLabel = Unite.imports.panel.DesktopLabel
|
||||
|
||||
var DesktopName = class DesktopName extends Base {
|
||||
_onSetup() {
|
||||
this._enableKey = 'show-desktop-name'
|
||||
this._enableValue = true
|
||||
}
|
||||
|
||||
_onInitialize() {
|
||||
this.appSystem = Shell.AppSystem.get_default()
|
||||
this.winTracker = Shell.WindowTracker.get_default()
|
||||
}
|
||||
|
||||
_onActivate() {
|
||||
this._signals.connect(this.appSystem, 'app-state-changed', 'toggleLabel')
|
||||
this._signals.connect(this.winTracker, 'notify::focus-app', 'toggleLabel')
|
||||
|
||||
this._signals.connect(Main.overview, 'showing', 'toggleLabel')
|
||||
this._signals.connect(Main.overview, 'hiding', 'toggleLabel')
|
||||
|
||||
this._settings.connect('desktop-name-text', 'setLabelText')
|
||||
|
||||
this._createLabel()
|
||||
}
|
||||
|
||||
_onDeactivate() {
|
||||
if (!this._label) return
|
||||
|
||||
this._label.destroy()
|
||||
this._label = null
|
||||
}
|
||||
|
||||
_visibleWindows() {
|
||||
let windows = global.get_window_actors().find(win => {
|
||||
let visible = win.metaWindow.showing_on_its_workspace()
|
||||
let skipped = win.metaWindow.skip_taskbar
|
||||
|
||||
return visible && !skipped
|
||||
})
|
||||
|
||||
return windows
|
||||
}
|
||||
|
||||
_setLabelText() {
|
||||
let text = this._settings.get('desktop-name-text')
|
||||
this._label.setText(text)
|
||||
}
|
||||
|
||||
_toggleLabel() {
|
||||
let appMenu = Main.panel.statusArea.appMenu._targetApp != null
|
||||
let overview = Main.overview.visibleTarget
|
||||
let visible = !appMenu && !overview
|
||||
|
||||
if (visible)
|
||||
visible = visible && !this._visibleWindows()
|
||||
|
||||
this._label.setVisible(visible)
|
||||
}
|
||||
|
||||
_createLabel() {
|
||||
if (this._label) return
|
||||
|
||||
this._label = new DesktopLabel()
|
||||
Main.panel.addToStatusArea('uniteDesktopLabel', this._label, 1, 'left')
|
||||
|
||||
this._setLabelText()
|
||||
this._toggleLabel()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user