diff --git a/CHANGELOG.md b/CHANGELOG.md index c3c03ec..9e5021b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ Changelog +### 4.1.2 + + * Fixed a bug that can prevent pinned apps from being dragged. + * Corrected the icon padding looking off-centered in some themes. + * Updated translations. + +### 4.1.1 + + * Added a new option allowing you to apply the monitor move option to all windows. + * Fixed a bug that prevents some users from using the settings dialog. + +### 4.1.0 + + * Fixed the wrong windows appearing active when switching to a new workspace while the group apps option is disabled. + * Fixed window thumbnails not sorting by last active window when the sort thumbnails option is enabled. + * The default icon padding is now more dependent on the theme's icon padding, and it will reset when changing themes + * New feature by [zqq90](https://github.com/jaszhix/icingtaskmanager/pull/64): + * Added a new assignable hotkey to show the order of apps with Super + ` by default. + +### 4.0.9 + + * Bulgarian translation added by [AdmiralAnimE](https://github.com/jaszhix/icingtaskmanager/commit/5e59cb1595c600db135cb8f841f167598708d565). + +### 4.0.8 + + * Simplified Chinese translation added by [zqq90](https://github.com/jaszhix/icingtaskmanager/pull/60). + ### 4.0.7 * German translation corrections by [NoXPhasma](https://github.com/jaszhix/icingtaskmanager/pull/59). diff --git a/CREDITS.md b/CREDITS.md index b8b531d..cff9e17 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -4,7 +4,11 @@ Special thanks to the contributors of this project. ### Pull requests + * AdmiralAnimE: + * https://github.com/jaszhix/icingtaskmanager/commit/5e59cb1595c600db135cb8f841f167598708d565 * zqq90: + * https://github.com/jaszhix/icingtaskmanager/pull/64 + * https://github.com/jaszhix/icingtaskmanager/pull/60 * https://github.com/jaszhix/icingtaskmanager/pull/58 * https://github.com/jaszhix/icingtaskmanager/pull/57 * NoXPhasma: diff --git a/importPinned.py b/importPinned.py index 1579a4d..a26f04c 100644 --- a/importPinned.py +++ b/importPinned.py @@ -38,6 +38,8 @@ def importConfig(): ('icon-padding', config['icon-padding']), ('enable-iconSize', config['enable-iconSize']), ('icon-size', config['icon-size']), + ('show-apps-order-hotkey', config['show-apps-order-hotkey']), + ('show-apps-order-timeout', config['show-apps-order-timeout']), ('HoverPeek', config['HoverPeek']), ('seperator2', config['seperator2']), ('enable-hover-peek', config['enable-hover-peek']), @@ -57,8 +59,9 @@ def importConfig(): ('AppMenu', config['AppMenu']), ('seperator4', config['seperator4']), ('show-recent', config['show-recent']), - ('autostart-menu-item', config['autostart-menu-item']), ('firefox-menu', config['firefox-menu']), + ('autostart-menu-item', config['autostart-menu-item']), + ('monitor-move-all-windows', config['monitor-move-all-windows']), ('__md5__', config['__md5__']), ]) diff --git a/package.json b/package.json index 21d11fb..0f79593 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "icingtaskmanager", - "version": "4.0.7", + "version": "4.1.2", "description": "Icing Task Manager", "main": "gulpfile.js", "scripts": { diff --git a/src/appGroup.js b/src/appGroup.js index 95d4fb0..7f23826 100644 --- a/src/appGroup.js +++ b/src/appGroup.js @@ -379,9 +379,11 @@ AppGroup.prototype = { // updates the internal list of metaWindows // to include all windows corresponding to this.app on the workspace // metaWorkspace - _updateMetaWindows: function (metaWorkspace, app=null, window=null) { + _updateMetaWindows: function (metaWorkspace, app=null, window=null, _wsWindows=null) { // Get a list of all interesting windows that are part of this app on the current workspace - var windowsSource = window ? [window] : metaWorkspace.list_windows() + var wsWindows = _wsWindows ? _wsWindows : metaWorkspace.list_windows(); + var windowsSource = window ? [window] : wsWindows; + var filterArgs = _.isEqual(app, this.app) var windowList = _.filter(windowsSource, (win)=>{ if (!app) { @@ -475,6 +477,7 @@ AppGroup.prototype = { } this.hoverMenu.setMetaWindow(this.lastFocused, this.metaWindows) + this._appButton.setMetaWindow(this.lastFocused, this.metaWindows) } @@ -537,6 +540,7 @@ AppGroup.prototype = { if (this.rightClickMenu !== undefined) { this.rightClickMenu.setMetaWindow(this.lastFocused, this.metaWindows) } + this._appButton.setMetaWindow(this.lastFocused, this.metaWindows) } else if (this.isFavapp) { setTimeout(()=>this._applet.refreshAppFromCurrentListById(this.appId, {favChange: true, isFavapp: this.isFavapp}), 0) } diff --git a/src/appList.js b/src/appList.js index 127bcb9..a86e25c 100644 --- a/src/appList.js +++ b/src/appList.js @@ -287,10 +287,10 @@ AppList.prototype = { refApp = -1 } - var initApp = (window=null, index=null)=>{ + var initApp = (wsWindows, window=null, index=null)=>{ var time = Date.now() let appGroup = new AppGroup.AppGroup(this._applet, this, app, isFavapp, window, time, index, appId) - appGroup._updateMetaWindows(metaWorkspace, app, window) + appGroup._updateMetaWindows(metaWorkspace, app, window, wsWindows) appGroup.watchWorkspace(metaWorkspace) // disable for windows to stay persistent across ws' app.connect_after('windows-changed', Lang.bind(this, this._onAppWindowsChanged, app)) @@ -312,10 +312,13 @@ AppList.prototype = { initApp() } else { var windows = app.get_windows() + var wsWindows = metaWorkspace.list_windows(); + windows = _.intersectionWith(windows, wsWindows, _.isEqual); + var _windows = windows.length > 0 ? windows : [null] for (let i = 0, len = _windows.length; i < len; i++) { - initApp(_windows[i], i) + initApp(wsWindows, _windows[i], i) } } } diff --git a/src/applet.js b/src/applet.js index 1651abe..04c78c8 100644 --- a/src/applet.js +++ b/src/applet.js @@ -297,6 +297,8 @@ MyApplet.prototype = { {key: 'group-apps', value: 'groupApps', cb: this.refreshCurrentAppList}, {key: 'arrange-pinnedApps', value: 'arrangePinned', cb: null}, {key: 'pinned-apps', value: 'pinnedApps', cb: null}, + {key: 'show-apps-order-hotkey', value: 'showAppsOrderHotkey', cb: this._bindAppKey}, + {key: 'show-apps-order-timeout', value: 'showAppsOrderTimeout', cb: null}, {key: 'enable-hover-peek', value: 'enablePeek', cb: null}, {key: 'onclick-thumbnails', value: 'onclickThumbs', cb: null}, {key: 'hover-peek-opacity', value: 'peekOpacity', cb: null}, @@ -316,10 +318,9 @@ MyApplet.prototype = { {key: 'enable-iconSize', value: 'enableIconSize', cb: this.refreshCurrentAppList}, {key: 'icon-size', value: 'iconSize', cb: null}, {key: 'show-recent', value: 'showRecent', cb: this.refreshCurrentAppList}, - {key: 'autostart-menu-item', value: 'autoStart', cb: this.refreshCurrentAppList}, {key: 'firefox-menu', value: 'firefoxMenu', cb: this.refreshCurrentAppList}, - {key: 'show-apps-order-hotkey', value: 'showAppsOrderHotkey', cb: this._bindAppKey}, - {key: 'show-apps-order-timeout', value: 'showAppsOrderTimeout', cb: null} + {key: 'autostart-menu-item', value: 'autoStart', cb: this.refreshCurrentAppList}, + {key: 'monitor-move-all-windows', value: 'monitorMoveAllWindows', cb: this.refreshCurrentAppList}, ] if (this.c32) { @@ -361,6 +362,7 @@ MyApplet.prototype = { this.signals.connect(Main.overview, 'hiding', this._onOverviewHide) this.signals.connect(Main.expo, 'showing', this._onOverviewShow) this.signals.connect(Main.expo, 'hiding', this._onOverviewHide) + this.signals.connect(Main.themeManager, 'theme-set', this.onThemeChange) this._dragPlaceholder = null this._dragPlaceholderPos = -1 @@ -431,6 +433,10 @@ MyApplet.prototype = { return this.metaWorkspaces[this.currentWs].appList }, + onThemeChange(e){ + this.refreshCurrentAppList(); + }, + getAutostartApps(){ var info diff --git a/src/locale/bg.po b/src/locale/bg.po new file mode 100644 index 0000000..06aca63 --- /dev/null +++ b/src/locale/bg.po @@ -0,0 +1,449 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. src->metadata.json->description +msgid "Window list with app grouping and window thumbnails" +msgstr "Списък с прозорци с групиране и миниатюри" + +#. src->metadata.json->name +msgid "Icing Task Manager" +msgstr "Диспечер на задачи" + +#. src->settings-schema.json->thumbnail-size->description +msgid "Thumbnail size" +msgstr "Размер на миниатюрите" + +#. src->settings-schema.json->thumbnail-size->tooltip +msgid "Controls the size of the thumbnails." +msgstr "Регулира размера на миниатюрите." + +#. src->settings-schema.json->thumbnail-size->units +msgid "size" +msgstr "размер" + +#. src->settings-schema.json->icon-spacing->description +msgid "Icon spacing" +msgstr "Разстояние между иконките" + +#. src->settings-schema.json->icon-spacing->tooltip +msgid "Controls how much space is between the icons." +msgstr "Регулира разстоянието между отделните иконки." + +#. src->settings-schema.json->icon-spacing->units +#. src->settings-schema.json->icon-size->units +#. src->settings-schema.json->icon-padding->units +#. src->settings-schema.json->appmenu-width->units +msgid "px" +msgstr "пиксели" + +#. src->settings-schema.json->show-thumbnails->description +msgid "Show thumbnails" +msgstr "Показване на миниатюри" + +#. src->settings-schema.json->show-thumbnails->tooltip +msgid "Show window thumbnails when hovering over an app button." +msgstr "Показване на миниатюри при посочване на програма." + +#. src->settings-schema.json->icon-size->description +msgid "Icon size" +msgstr "Размер на иконките" + +#. src->settings-schema.json->icon-size->tooltip +msgid "Set icon size" +msgstr "Задаване на размера на иконките" + +msgid "Global hotkey to show the order of apps" +msgstr "Global клавишна комбинация, за да се покаже на реда на приложения" + +msgid "Duration of the apps order display on hotkey press" +msgstr "Продължителност на приложенията ред Покажи на клавиш натиснете" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "" +"При задействане етикета на прозореца брой ще бъде заменен с неговия ред в " +"списъка с приложения временно." + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "" +"Определя продължителността етикетите на прозорец броене се заменят с " +"пореден номер на приложението." + +#. src->settings-schema.json->hover-peek-time->description +msgid "Window fade time" +msgstr "Време на избледняване на прозорците" + +#. src->settings-schema.json->hover-peek-time->tooltip +msgid "Controls how quickly a window will fade on hover." +msgstr "Регулира колко бързо избледнява прозорец при посочване." + +#. src->settings-schema.json->hover-peek-time->units +#. src->settings-schema.json->thumbnail-timeout->units +msgid "milliseconds" +msgstr "милисекунди" + +#. src->settings-schema.json->appmenu-number->units +msgid "number" +msgstr "число" + +#. src->settings-schema.json->title-display->description +msgid "Title display" +msgstr "Показване на заглавието" + +#. src->settings-schema.json->title-display->tooltip +msgid "" +"focused: show focused window title, title: display the window title, app: " +"diplay app name, none: don't display anything" +msgstr "" +"Фокусирано: показва заглавието на фокусирания прозорец. Заглавие: показва заглавието на прозореца." +"Програма: показва името на програмата. Без: не показва нищо." + +#. src->settings-schema.json->title-display->options +#. src->settings-schema.json->number-display->options +msgid "None" +msgstr "Без" + +#. src->settings-schema.json->title-display->options +msgid "Focused" +msgstr "Фокусирано" + +#. src->settings-schema.json->title-display->options +msgid "App" +msgstr "Програма" + +#. src->settings-schema.json->title-display->options +msgid "Title" +msgstr "Заглавие" + +#. src->settings-schema.json->show-alerts->description +msgid "Show app alerts and notifications" +msgstr "Показване на известия и предупреждения" + +#. src->settings-schema.json->show-alerts->tooltip +msgid "If enabled, notifications and alerts will appear." +msgstr "Ако е включено, ще се показват известия и предупреждения." + +#. src->settings-schema.json->AppMenu->description +msgid "Context Menu Settings" +msgstr "Настройки на контекстното меню" + +#. src->settings-schema.json->sort-thumbnails->description +msgid "Sort windows for each app by last focused" +msgstr "Подреждане на прозорците на всяка програма по последно фокусиране" + +#. src->settings-schema.json->sort-thumbnails->tooltip +msgid "" +"Controls whether the order windows appear for an app is by last focused, or " +"the order they were opened." +msgstr "" +"Регулира дали реда на прозорците за дадена програма:" +"по последно фокусиране или ред на отваряне." + +#. src->settings-schema.json->hover-peek-opacity->description +msgid "Window opacity" +msgstr "Прозрачност на прозорците" + +#. src->settings-schema.json->hover-peek-opacity->tooltip +msgid "Opacity of the windows on hover." +msgstr "Прозрачност на прозорците при посочване." + +#. src->settings-schema.json->hover-peek-opacity->units +msgid "percent" +msgstr "проценти" + +#. src->settings-schema.json->enable-hover-peek->description +msgid "Show windows when hovered over" +msgstr "Показване на прозорците при посочване" + +#. src->settings-schema.json->enable-hover-peek->tooltip +msgid "Controls whether or not windows display when hovered over." +msgstr "Регулира дали прозорците ще се покажат при посочване на миниатюрите." + +#. src->settings-schema.json->icon-padding->description +msgid "Icon padding" +msgstr "Вътрешно отстояние" + +#. src->settings-schema.json->icon-padding->tooltip +msgid "" +"Controls how much horizontal padding is inside the app buttons. Padding is " +"only applied to instances of this applet on horizontal panels." +msgstr "" +"Регулира колко водоравно вътрешно отстояние има в копчетата." +"Отстоянието се прилага само на водоравни ленти в този аплет." + +msgid "Show autostart option" +msgstr "Показване на опцията за автоматично пускане" + +msgid "Apply the monitor move option to all windows" +msgstr "Нанесете опцията монитор ход на всички прозорци" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" +"Когато кликнете върху \"Преместване да следи\" в контекстното меню, тази " +"опция Ще се премести на всички прозорци на дадено приложение, а не само " +"последната фокусирани Прозорец от приложението." + +msgid "Shows the autostart toggle option in an app's context menu." +msgstr "Показва опцията за автоматично пускане в контекстното меню." + +#. src->settings-schema.json->show-pinned->description +msgid "Show pinned apps" +msgstr "Показване на закачените програми" + +#. src->settings-schema.json->show-pinned->tooltip +msgid "" +"Controls whether or not the pinned apps appear in the panel if they are not " +"open." +msgstr "Регулира показването на закачените програми ако не са отворени." + +#. src->settings-schema.json->WindowList->description +msgid "Window List Settings" +msgstr "Настройки на списъка" + +#. src->settings-schema.json->thumbnail-timeout->description +msgid "Thumbnail timeout" +msgstr "Време за изчакване на миниатюрите" + +#. src->settings-schema.json->thumbnail-timeout->tooltip +msgid "" +"Controls how quickly an app's set of window thumbnails will fade out when " +"the mouse leaves the app button." +msgstr "" +"Регулира колко бързо миниатюрите на дадена програма ще избледнеят, " +"когато мишката излезе извън копчето." + +#. src->settings-schema.json->Thumbnails->description +msgid "Thumbnail Settings" +msgstr "Настройки на миниатюрите" + +#. src->settings-schema.json->show-recent->description +msgid "Show recent items" +msgstr "Показване на скорошните предмети" + +#. src->settings-schema.json->show-recent->tooltip +msgid "Controls whether recent items will appear in the context menu." +msgstr "Регулира дали скорошните предмети ще се показват в контекстното меню." + +msgid "Animate thumbnails" +msgstr "Анимиране на миниатюрите" + +msgid "If enabled, thumbnails will animate when appearing and disappearing." +msgstr "Ако е включено, миниатюрите ще са анимирани при появяване и скриване." + +#. src->settings-schema.json->vertical-thumbnails->description +msgid "Enable vertical thumbnails" +msgstr "Отвесни миниатюри" + +#. src->settings-schema.json->vertical-thumbnails->tooltip +msgid "If enabled, thumbnails will stack vertically." +msgstr "Ако е включено, миниатюрите ще се трупат отвесно." + +#. src->settings-schema.json->close-button-style->description +msgid "Allow themes to control the thumbnail close button" +msgstr "Позволяване на темите да управляват копчето за затваряне на миниатюрите" + +#. src->settings-schema.json->close-button-style->tooltip +msgid "" +"Controls whether or not the theme controls the window thumbnail's close " +"button." +msgstr "" +"Регулира дали темата управлява копчето за затваряне на миниатюрите." + +msgid "Include all app windows" +msgstr "Включване на всички прозорци" + +msgid "" +"Controls whether or not thumbnails for smalller child windows, such as exit " +"confirmations and file dialogues will be included in the thumbnail list." +msgstr "" +"Регулира дали в списъка ще се показват миниатюри за по-малки прозорци," +"като потвърждения и диалози." + +#. src->settings-schema.json->enable-iconSize->description +msgid "Adjust icon size" +msgstr "Регулиране на размера на иконките" + +#. src->settings-schema.json->enable-iconSize->tooltip +msgid "Adjust icon size independent of Cinnamon's panel scaling." +msgstr "Регулиране на размера на иконките независимо от настройките на лентата." + +#. src->settings-schema.json->number-display->description +msgid "Number display" +msgstr "Показване на брой" + +#. src->settings-schema.json->number-display->tooltip +msgid "" +"normal: display window number, smart: display window number if more than one " +"window, none: don't display number, all: display window number for favorites " +"too" +msgstr "" +"Обикновено: показване на брой. Умно: показване на брой при повече от един прозорец." +"Без: не се показва брой. Всички: показване на брой и за любимите." + +#. src->settings-schema.json->number-display->options +msgid "All" +msgstr "Всички" + +#. src->settings-schema.json->number-display->options +msgid "Smart" +msgstr "Умно" + +#. src->settings-schema.json->number-display->options +msgid "Normal" +msgstr "Обикновено" + +#. src->settings-schema.json->onclick-thumbnails->description +msgid "Open thumbnails on click" +msgstr "Отваряне на миниатюрите при щракване" + +#. src->settings-schema.json->onclick-thumbnails->tooltip +msgid "Open the thumbnails on click if there is more than one window open." +msgstr "Отваряне на миниатюрите при щракване, ако има повече от един отворен прозорец." + +#. src->settings-schema.json->HoverPeek->description +msgid "Hover Peek Settings" +msgstr "Настройки при посочване" + +#. src->settings-schema.json->firefox-menu->description +msgid "Firefox context menu" +msgstr "Меню на Файърфокс" + +#. src->settings-schema.json->firefox-menu->tooltip +msgid "" +"Most Visited: show the sites you visit most, Recent History: display the the " +"last pages you visited, Bookmarks: show your favorite bookmarks." +msgstr "" +"Най-посещавани: показва най-посещаваните места. Скорошна история: показва" +"последно посетените страници. Отметки: показва любимите ви отметки." + +#. src->settings-schema.json->firefox-menu->options +msgid "Bookmarks" +msgstr "Отметки" + +#. src->settings-schema.json->firefox-menu->options +msgid "Most Visited" +msgstr "Най-посещавани" + +#. src->settings-schema.json->firefox-menu->options +msgid "Recent History" +msgstr "Скорошна история" + +#. src->settings-schema.json->group-apps->description +msgid "Group apps" +msgstr "Групиране" + +#. src->settings-schema.json->group-apps->tooltip +msgid "Group each app's set of windows." +msgstr "Групиране на прозорците на всяка програма" + +msgid "Show active app indicators" +msgstr "Показване на показателя за активна програма" + +msgid "Active app styling will indicate if an app is active." +msgstr "Показателя указва дали дадена програма е активна." + +#. src->settings-schema.json->arrange-pinnedApps->description +msgid "Arrange pinned apps" +msgstr "Подреждане на закачените програми" + +#. src->settings-schema.json->arrange-pinnedApps->tooltip +msgid "Arrange pinned apps into a different order." +msgstr "Подреждане на закачените програми по друг начин." + +msgid "Visible on all workspaces" +msgstr "Видимо на всички работни места" + +msgid "Only on this workspace" +msgstr "Само на това работно място" + +msgid "Move to left workspace" +msgstr "Преместване на лявото работно място" + +msgid "Move to right workspace" +msgstr "Преместване на дясното работно място" + +msgid "Move to monitor" +msgstr "Преместване на монитор" + +msgid "Remove from Autostart" +msgstr "Премахване от автоматично пусканите" + +msgid "Add to Autostart" +msgstr "Добяване към автоматично пусканите" + +msgid "Unpin from Panel" +msgstr "Откачане от лентата" + +msgid "Pin to Panel" +msgstr "Закачане за лентата" + +msgid "Create Shortcut" +msgstr "Създаване на пряк път" + +msgid "Close" +msgstr "Затваряне" + +msgid "Close All" +msgstr "Затваряне на всички" + +msgid "Settings" +msgstr "Настройки" + +msgid "ReArrange" +msgstr "Преподреждане" + +msgid "Show Pinned" +msgstr "Показване на закачените" + +msgid "Show Thumbs" +msgstr "Показване на миниатюрите" + +msgid "Stack Thumbs" +msgstr "Натрупване на миниатюрите" + +msgid "Hover to Peek" +msgstr "Посочване за надничане към прозорец" + +msgid "Show Recent" +msgstr "Показване на скорошните" + +msgid "Vertical Thumbs" +msgstr "Отвесни миниатюри" + +msgid "Go to Settings" +msgstr "Към настройките" + +msgid "Group apps into single icon" +msgstr "Групиране на програмите в една иконка" + +msgid "Group the open app instances into single icon" +msgstr "Групиране на отворените екземпляри в една иконка" + +msgid "Minimize" +msgstr "Смаляване" + +msgid "Maximize" +msgstr "Уголемяване" + +msgid "Unmaximize" +msgstr "Разуголемяване" + +msgid "Restore" +msgstr "Възстановяване" diff --git a/src/locale/de.po b/src/locale/de.po index ac483c7..6638161 100644 --- a/src/locale/de.po +++ b/src/locale/de.po @@ -66,6 +66,26 @@ msgstr "Symbolgröße" msgid "Set icon size" msgstr "Symbolgröße anpassen" +msgid "Global hotkey to show the order of apps" +msgstr "Globaler Hotkey, um die Reihenfolge der Apps anzuzeigen" + +msgid "Duration of the apps order on hotkey press" +msgstr "Dauer der App-Auftragsanzeige bei Hotkey-Taste" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "" +"Wenn es ausgelöst wird, wird das Fensterzähler-Label durch seine " +"Reihenfolge in der Appliste vorübergehend ersetzt." + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "" +"Legt die Dauer fest, die die Fensterzähler-Etiketten durch die " +"Bestellnummer der App ersetzt werden." + #. src->settings-schema.json->hover-peek-time->description msgid "Window fade time" msgstr "Fenster Einblendungszeit" @@ -172,6 +192,18 @@ msgstr "" msgid "Show autostart option" msgstr "Autostart anzeigen" +msgid "Apply the monitor move option to all windows" +msgstr "Wenden Sie die Monitorbewegungsoption auf alle Fenster an" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" +"Wenn Sie im Kontextmenü auf \"Verschieben zum Monitor\" klicken, wird diese " +"Option Wird alle App-Fenster statt nur die zuletzt fokussiert " +"Fenster aus der App." + msgid "Shows the autostart toggle option in an app's context menu." msgstr "Zeigt die Autostart-Umschaltoption im Kontextmenü einer App an." diff --git a/src/locale/default.pot b/src/locale/default.pot index 97f804c..346ad95 100644 --- a/src/locale/default.pot +++ b/src/locale/default.pot @@ -52,6 +52,22 @@ msgstr "" msgid "Set icon size" msgstr "" +msgid "Global hotkey to show the order of apps" +msgstr "" + +msgid "Duration of the apps order display on hotkey press" +msgstr "" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "" + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "" + #. src->settings-schema.json->hover-peek-time->description msgid "Window fade time" msgstr "" @@ -151,6 +167,15 @@ msgstr "" msgid "Show autostart option" msgstr "" +msgid "Apply the monitor move option to all windows" +msgstr "" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" + msgid "Shows the autostart toggle option in an app's context menu." msgstr "" diff --git a/src/locale/es.po b/src/locale/es.po index bf01d92..3b04c8a 100644 --- a/src/locale/es.po +++ b/src/locale/es.po @@ -65,6 +65,28 @@ msgstr "Tamaño de ícono" msgid "Set icon size" msgstr "Configurar el tamaño del icono" +msgid "Global hotkey to show the order of apps" +msgstr "Tecla de acceso directo global para mostrar el orden de las aplicaciones" + +msgid "Duration of the apps order display on hotkey press" +msgstr "" +"Duración de la visualización del pedido de aplicaciones en la tecla" +" rápida" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "" +"Cuando se activa, la etiqueta de recuento de ventanas se reemplazará " +"temporalmente con su orden en la lista de aplicaciones." + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "" +"Determina la duración en que las etiquetas de recuento de ventanas se " +"reemplazan con el número de pedido de la aplicación." + #. src->settings-schema.json->hover-peek-time->description msgid "Window fade time" msgstr "Tiempo de desvanecimiento de las ventanas" @@ -171,6 +193,18 @@ msgstr "" msgid "Show autostart option" msgstr "Mostrar la opción de inicio automático" +msgid "Apply the monitor move option to all windows" +msgstr "Aplicar la opción de mover el monitor a todas las ventanas" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" +"Al hacer clic en \"Mover a monitor\" en el menú contextual, esta opción " +"Se moverá todas las ventanas de una aplicación en lugar de sólo el último enfoque " +"De la aplicación." + msgid "Shows the autostart toggle option in an app's context menu." msgstr "Muestra la opción de alternar inicio automático en el menú contextual de una aplicación." diff --git a/src/locale/fr.po b/src/locale/fr.po index bd632e5..9b061c8 100644 --- a/src/locale/fr.po +++ b/src/locale/fr.po @@ -67,6 +67,28 @@ msgstr "" "Ajustez la taille de l'icône indépendamment de la mise à l'échelle du \"\n" "\"panneau Cinnamon." +msgid "Global hotkey to show the order of apps" +msgstr "Touche de raccourci globale pour afficher l'ordre des applications" + +msgid "Duration of the apps order display on hotkey press" +msgstr "" +"Durée de l'affichage des commandes d'applications en appuyant sur la touche" +" de raccourci" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "" +"Lorsqu'il est déclenché, l'étiquette du compteur de fenêtres sera " +"remplacée temporairement par son ordre dans la liste des applications." + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "" +"Détermine la durée pendant laquelle les étiquettes de comptage de fenêtre " +"sont remplacées par le numéro de commande de l'application." + #. src->settings-schema.json->hover-peek-time->description msgid "Window fade time" msgstr "Durée de l'animation" @@ -177,6 +199,18 @@ msgstr "" msgid "Show autostart option" msgstr "Afficher l'option de démarrage automatique" +msgid "Apply the monitor move option to all windows" +msgstr "Appliquer l'option de déplacement du moniteur à toutes les fenêtres" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" +"Lorsque vous cliquez sur \"Déplacer vers le moniteur\" dans le menu contextuel, cette option " +"Va déplacer toutes les fenêtres d'une application au lieu de la dernière focalisée " +"De l'application." + msgid "Shows the autostart toggle option in an app's context menu." msgstr "Affiche l'option de basculement automatique dans le menu contextuel d'une application." diff --git a/src/locale/he.po b/src/locale/he.po index 1e19998..3cc68c3 100644 --- a/src/locale/he.po +++ b/src/locale/he.po @@ -65,6 +65,22 @@ msgstr "גודל אייקון" msgid "Set icon size" msgstr "גודל גדר סמל" +msgid "Global hotkey to show the order of apps" +msgstr "מקשי קיצור דרך עולמיים להראות את סדר האפליקציות" + +msgid "Duration of the apps order display on hotkey press" +msgstr "משך אפליקציות סדר תצוגה על עיתונות hotkey" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "כאשר מופעל, התווית חלון הספירה תוחלף מהזמנתו ברשימת היישומים באופן זמני." + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "קובע את המשך זמן תוויות ספירת חלון מוחלפות עם מספר ההזמנה של האפליקציה." + #. src->settings-schema.json->hover-peek-time->description msgid "Window fade time" msgstr "זמן לאפקט" @@ -171,6 +187,18 @@ msgstr "" msgid "Show autostart option" msgstr "אפשרות autostart צג" +msgid "Apply the monitor move option to all windows" +msgstr "החל את אפשרות המעבר לפקח על כל החלונות" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" +"כאשר לחיצה \"הזז לפקח \" בתפריט ההקשר, אפשרות זו " +"יעביר את כל חלונות של אפליקציה במקום רק את הממוקד האחרון " +"חלון מהאפליקציה." + msgid "Shows the autostart toggle option in an app's context menu." msgstr "מציג את האפשרות לעבור autostart ב תפריט ההקשר של יישום." diff --git a/src/locale/mo/bg.mo b/src/locale/mo/bg.mo new file mode 100644 index 0000000..c0a2bd8 Binary files /dev/null and b/src/locale/mo/bg.mo differ diff --git a/src/locale/mo/de.mo b/src/locale/mo/de.mo index 63085dd..e868803 100644 Binary files a/src/locale/mo/de.mo and b/src/locale/mo/de.mo differ diff --git a/src/locale/mo/es.mo b/src/locale/mo/es.mo index 25228d6..dff79d4 100644 Binary files a/src/locale/mo/es.mo and b/src/locale/mo/es.mo differ diff --git a/src/locale/mo/fr.mo b/src/locale/mo/fr.mo index 2bdc5c7..5761b54 100644 Binary files a/src/locale/mo/fr.mo and b/src/locale/mo/fr.mo differ diff --git a/src/locale/mo/he.mo b/src/locale/mo/he.mo index 7bcbca0..57a70b7 100644 Binary files a/src/locale/mo/he.mo and b/src/locale/mo/he.mo differ diff --git a/src/locale/mo/ru.mo b/src/locale/mo/ru.mo index 7d1c0d3..315260c 100644 Binary files a/src/locale/mo/ru.mo and b/src/locale/mo/ru.mo differ diff --git a/src/locale/mo/zh_CN.mo b/src/locale/mo/zh_CN.mo index 7522674..313778a 100644 Binary files a/src/locale/mo/zh_CN.mo and b/src/locale/mo/zh_CN.mo differ diff --git a/src/locale/ru.po b/src/locale/ru.po index 8bf85aa..c48b593 100644 --- a/src/locale/ru.po +++ b/src/locale/ru.po @@ -65,6 +65,26 @@ msgstr "Размер значка" msgid "Set icon size" msgstr "Установить размер значка приложения на панели." +msgid "Global hotkey to show the order of apps" +msgstr "Глобальные горячие клавиши, чтобы показать порядок приложений" + +msgid "Duration of the apps order display on hotkey press" +msgstr "Продолжительность приложения заказать дисплей на нажатием горячей клавиши" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "" +"При срабатывании, метка счетчика окно будет заменено его порядком в " +"списке приложений временно." + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "" +"Определяет длительность счетчик окон метки заменяются с номером для заказа " +"приложения." + #. src->settings-schema.json->hover-peek-time->description msgid "Window fade time" msgstr "Скорость анимации" @@ -172,6 +192,18 @@ msgstr "" msgid "Show autostart option" msgstr "Показать автостарт опция" +msgid "Apply the monitor move option to all windows" +msgstr "Применить опцию монитора перемещения всех окон" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" +"При нажатии \"Переместить в монитор \" в контекстном меню, этот параметр " +"целенаправленной Переместит все окна приложение вместо того, чтобы просто " +"последний Окно из приложения." + #. src->settings-schema.json->autostart-menu-item->tooltip msgid "Shows the autostart toggle option in an app's context menu." msgstr "" diff --git a/src/locale/zh_CN.po b/src/locale/zh_CN.po index a1aadbc..4899802 100644 --- a/src/locale/zh_CN.po +++ b/src/locale/zh_CN.po @@ -64,6 +64,22 @@ msgstr "图标尺寸" msgid "Set icon size" msgstr "调节图标的尺寸" +msgid "Global hotkey to show the order of apps" +msgstr "全局热键以显示应用程序的顺序" + +msgid "Duration of the apps order display on hotkey press" +msgstr "热键按下应用程序顺序的时间显示" + +msgid "" +"When triggered, the window count label will be replaced with its order in " +"the app list temporarily." +msgstr "触发时,窗口计数标签将暂时替换为其在应用程序列表中的顺序。" + +msgid "" +"Determines the duration the window count labels are replaced with the " +"app's order number." +msgstr "确定窗口计数标签被应用程序的订单号替换的持续时间。" + #. src->settings-schema.json->hover-peek-time->description msgid "Window fade time" msgstr "窗口渐变时长" @@ -165,6 +181,18 @@ msgstr "调节图标的宽度(填充多少像素)。仅适用此小程序的 msgid "Show autostart option" msgstr "显示自动启动开关" +msgid "Apply the monitor move option to all windows" +msgstr "将monitor move选项应用于所有窗口" + +msgid "" +"When clicking \"Move to monitor\" in the context menu, this option " +"will move all of an app's windows instead of just the last focused " +"window from the app." +msgstr "" +"在上下文菜单中单击”移至监视器“时,此选项" +"将移动所有的应用程序的窗口,而不是只是最后的焦点" +"窗口从应用程序" + msgid "Shows the autostart toggle option in an app's context menu." msgstr "是否在应用菜单里显示自动启动开关" diff --git a/src/metadata.json b/src/metadata.json index bf7a6bb..7827881 100644 --- a/src/metadata.json +++ b/src/metadata.json @@ -1,9 +1,9 @@ { - "description": "Window list with app grouping and window thumbnails", + "description": "Window list with app grouping and thumbnails", "max-instances": -1, "dangerous": false, "name": "Icing Task Manager", - "version": "4.0.7", + "version": "4.1.2", "role": "panellauncher", "uuid": "IcingTaskManager@json" } \ No newline at end of file diff --git a/src/settings-schema.json b/src/settings-schema.json index b11f966..4b81873 100644 --- a/src/settings-schema.json +++ b/src/settings-schema.json @@ -1,65 +1,65 @@ { "WindowList" : { - "type" : "header", + "type": "header", "description": "Window List Settings" }, "seperator1" : { - "type" : "separator" + "type": "separator" }, "number-display" : { "type": "combobox", - "default" : 1, - "description" : "Number display", + "default": 1, + "description": "Number display", "options" : { - "Smart" : 1, + "Smart": 1, "Normal" : 2, "None" : 3, "All" : 4 }, - "tooltip" : "normal: display window number, smart: display window number if more than one window, none: don't display number, all: display window number for favorites too" + "tooltip": "normal: display window number, smart: display window number if more than one window, none: don't display number, all: display window number for favorites too" }, "title-display" : { "type": "combobox", - "default" : 1, - "description" : "Title display", + "default": 1, + "description": "Title display", "options" : { - "None" : 1, + "None": 1, "App" : 2, "Title" : 3, "Focused" : 4 }, - "tooltip" : "focused: show focused window title, title: display the window title, app: diplay app name, none: don't display anything" + "tooltip": "focused: show focused window title, title: display the window title, app: diplay app name, none: don't display anything" }, "pinned-apps" : { "type": "generic", "default": [] }, "group-apps" : { - "type" : "checkbox", + "type": "checkbox", "default" : true, "description": "Group apps", "tooltip": "Group each app's set of windows." }, "show-active" : { - "type" : "checkbox", + "type": "checkbox", "default" : true, "description": "Show active app indicators", "tooltip": "Active app styling will indicate if an app is active." }, "show-alerts" : { - "type" : "checkbox", + "type": "checkbox", "default" : true, "description": "Show app alerts and notifications", "tooltip": "If enabled, notifications and alerts will appear." }, "show-pinned" : { - "type" : "checkbox", + "type": "checkbox", "default" : true, "description": "Show pinned apps", "tooltip": "Controls whether or not the pinned apps appear in the panel if they are not open." }, "arrange-pinnedApps" : { - "type" : "checkbox", + "type": "checkbox", "default" : true, "description": "Arrange pinned apps", "tooltip": "Arrange pinned apps into a different order." @@ -67,182 +67,191 @@ "icon-spacing" : { "type": "spinbutton", "default" : 7, - "min" : 0, - "max" : 15, - "step" : 1, - "units" : "px", - "description" : "Icon spacing", - "tooltip" : "Controls how much space is between the icons." + "min": 0, + "max": 15, + "step": 1, + "units": "px", + "description": "Icon spacing", + "tooltip": "Controls how much space is between the icons." }, "icon-padding" : { "type": "spinbutton", - "default" : 0, - "min" : 0, - "max" : 15, - "step" : 1, - "units" : "px", - "description" : "Icon padding", - "tooltip" : "Controls how much horizontal padding is inside the app buttons. Padding is only applied to instances of this applet on horizontal panels." + "default": 0, + "min": 0, + "max": 15, + "step": 1, + "units": "px", + "description": "Icon padding", + "tooltip": "Controls how much horizontal padding is inside the app buttons. Padding is only applied to instances of this applet on horizontal panels." }, "enable-iconSize" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Adjust icon size", "tooltip": "Adjust icon size independent of Cinnamon's panel scaling." }, "icon-size" : { "type": "spinbutton", - "default" : 20, - "min" : 0, - "max" : 150, - "step" : 1, - "units" : "px", - "description" : "Icon size", - "tooltip" : "Set icon size" - }, - "show-apps-order-timeout": { - "type" : "spinbutton", - "default" : 1000, - "min" : 100, - "max" : 10000, - "step" : 10, - "description" : "Show order of apps timeout" + "default": 20, + "min": 0, + "max": 150, + "step": 1, + "units": "px", + "description": "Icon size", + "tooltip": "Set icon size" }, "show-apps-order-hotkey": { - "type" : "keybinding", - "default" : "grave", - "description" : "Global hotkey to show order of apps" + "type": "keybinding", + "default": "grave", + "description": "Global hotkey to show the order of apps", + "tooltip": "When triggered, the window count label will be replaced with its order in the app list temporarily." + }, + "show-apps-order-timeout": { + "type": "spinbutton", + "default": 2500, + "min": 100, + "max": 10000, + "step": 10, + "units": "milliseconds", + "description": "Duration of the apps order display on hotkey press", + "tooltip": "Determines the duration the window count labels are replaced with the app's order number." }, "HoverPeek" : { - "type" : "header", + "type": "header", "description": "Hover Peek Settings" }, "seperator2" : { - "type" : "separator" + "type": "separator" }, "enable-hover-peek" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Show windows when hovered over", "tooltip": "Controls whether or not windows display when hovered over." }, "hover-peek-time" : { "type": "spinbutton", - "default" : 150, - "min" : 0, - "max" : 1000, + "default": 150, + "min": 0, + "max": 1000, "step" : 5, - "units" : "milliseconds", - "description" : "Window fade time", - "tooltip" : "Controls how quickly a window will fade on hover." + "units": "milliseconds", + "description": "Window fade time", + "tooltip": "Controls how quickly a window will fade on hover." }, "hover-peek-opacity" : { "type": "spinbutton", "default" : 10, - "min" : 0, + "min": 0, "max" : 100, "step" : 2, - "units" : "percent", - "description" : "Window opacity", - "tooltip" : "Opacity of the windows on hover." + "units": "percent", + "description": "Window opacity", + "tooltip": "Opacity of the windows on hover." }, "Thumbnails" : { - "type" : "header", + "type": "header", "description": "Thumbnail Settings" }, "seperator3" : { - "type" : "separator" + "type": "separator" }, "thumbnail-timeout" : { "type": "spinbutton", "default" : 50, - "min" : 0, + "min": 0, "max" : 5000, "step" : 5, - "units" : "milliseconds", - "description" : "Thumbnail timeout", - "tooltip" : "Controls how quickly an app's set of window thumbnails will fade out when the mouse leaves the app button." + "units": "milliseconds", + "description": "Thumbnail timeout", + "tooltip": "Controls how quickly an app's set of window thumbnails will fade out when the mouse leaves the app button." }, "thumbnail-size" : { "type": "spinbutton", "default" : 6, - "min" : 0, + "min": 0, "max" : 100, - "step" : 1, - "units" : "size", - "description" : "Thumbnail size", - "tooltip" : "Controls the size of the thumbnails." + "step": 1, + "units": "size", + "description": "Thumbnail size", + "tooltip": "Controls the size of the thumbnails." }, "show-thumbnails" : { - "type" : "checkbox", + "type": "checkbox", "default" : true, "description": "Show thumbnails", "tooltip": "Show window thumbnails when hovering over an app button." }, "animate-thumbnails" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Animate thumbnails", "tooltip": "If enabled, thumbnails will animate when appearing and disappearing." }, "vertical-thumbnails" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Enable vertical thumbnails", "tooltip": "If enabled, thumbnails will stack vertically." }, "sort-thumbnails" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Sort windows for each app by last focused", "tooltip": "Controls whether the order windows appear for an app is by last focused, or the order they were opened." }, "onclick-thumbnails" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Open thumbnails on click", "tooltip": "Open the thumbnails on click if there is more than one window open." }, "close-button-style" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Allow themes to control the thumbnail close button", "tooltip": "Controls whether or not the theme controls the window thumbnail's close button." }, "include-all-windows" : { - "type" : "checkbox", - "default" : false, + "type": "checkbox", + "default": false, "description": "Include all app windows", "tooltip": "Controls whether or not thumbnails for smalller child windows, such as exit confirmations and file dialogues will be included in the thumbnail list." }, "AppMenu" : { - "type" : "header", + "type": "header", "description": "Context Menu Settings" }, "seperator4" : { - "type" : "separator" + "type": "separator" }, "show-recent" : { - "type" : "checkbox", + "type": "checkbox", "default" : true, "description": "Show recent items", "tooltip": "Controls whether recent items will appear in the context menu." }, - "autostart-menu-item" : { - "type" : "checkbox", - "default" : true, - "description": "Show autostart option", - "tooltip" : "Shows the autostart toggle option in an app's context menu." - }, "firefox-menu" : { "type": "combobox", - "default" : 1, - "description" : "Firefox context menu", + "default": 1, + "description": "Firefox context menu", "options" : { - "Most Visited" : 1, + "Most Visited": 1, "Recent History" : 2, "Bookmarks" : 3 }, - "tooltip" : "Most Visited: show the sites you visit most, Recent History: display the the last pages you visited, Bookmarks: show your favorite bookmarks." + "tooltip": "Most Visited: show the sites you visit most, Recent History: display the the last pages you visited, Bookmarks: show your favorite bookmarks." + }, + "autostart-menu-item" : { + "type": "checkbox", + "default" : true, + "description": "Show autostart option", + "tooltip": "Shows the autostart toggle option in an app's context menu." + }, + "monitor-move-all-windows" : { + "type": "checkbox", + "default" : true, + "description": "Apply the monitor move option to all windows", + "tooltip": "When clicking \"Move to monitor\" in the context menu, this option will move all of an app's windows instead of just the last focused window from the app." } } diff --git a/src/specialButtons.js b/src/specialButtons.js index 75d6166..0effcc7 100644 --- a/src/specialButtons.js +++ b/src/specialButtons.js @@ -83,7 +83,7 @@ IconLabelButton.prototype = { this._container.add_actor(this._label) this._container.add_actor(this._numLabel) - this.setIconPadding() + setTimeout(()=>this.setIconPadding(true), 0) this.setIconSize() global.settings.connect('changed::panel-edit-mode', Lang.bind(this, this.on_panel_edit_mode_changed)) @@ -96,10 +96,15 @@ IconLabelButton.prototype = { this.actor.reactive = !global.settings.get_boolean('panel-edit-mode') }, - setIconPadding: function () { + setIconPadding: function (init) { + if (init) { + this.themeNode = this.actor.peek_theme_node() + var themePadding = this.themeNode ? this.themeNode.get_horizontal_padding() : 4 + this.offsetPadding = themePadding > 10 ? _.round(themePadding / 4) : themePadding > 7 ? _.round(themePadding / 2) : 5; + } if (this._applet.orientation === St.Side.TOP || this._applet.orientation == St.Side.BOTTOM) { - var padding = this._applet.iconPadding <= 5 ? ['6px', '0px'] : [`${this._applet.iconPadding}px`, `${this._applet.iconPadding - 5}px`] - this.actor.style = `padding-bottom: 0px;padding-top:0px; padding-left: ${padding[0]};padding-right: ${padding[1]};` + var padding = this._applet.iconPadding <= 5 ? [`${this.offsetPadding % 2 === 1 ? this.offsetPadding : this.offsetPadding - 1}px`, '0px'] : [`${this._applet.iconPadding}px`, `${this._applet.iconPadding - (this.offsetPadding > 0 && this.offsetPadding % 2 === 1 ? 5 : 4)}px`] + this.actor.set_style(`padding-bottom: 0px;padding-top:0px; padding-left: ${padding[0]};padding-right: ${padding[1]};`) } }, @@ -290,6 +295,8 @@ AppButton.prototype = { this._applet = parent._applet this._parent = parent this.isFavapp = parent.isFavapp + this.metaWindow = [] + this.metaWindows = [] IconLabelButton.prototype._init.call(this, this) if (this.isFavapp) { @@ -309,6 +316,11 @@ AppButton.prototype = { } }, + setMetaWindow: function (metaWindow, metaWindows) { + this.metaWindow = metaWindow + this.metaWindows = _.map(metaWindows, 'win') + }, + _onFocusChange: function () { // If any of the windows associated with our app have focus, // we should set ourselves to active @@ -319,7 +331,7 @@ AppButton.prototype = { this._needsAttention = false } else { this.actor.remove_style_pseudo_class('focus') - if (this._applet.showActive) { + if (this._applet.showActive && this.metaWindows.length > 0) { this.actor.add_style_pseudo_class('active') } } @@ -336,7 +348,7 @@ AppButton.prototype = { workspaceIds.push(this.metaWorkspaces[i].workspace.index()) } - var windows = _.filter(this.app.get_windows(), function(win){ + var windows = _.filter(this.metaWindows, function(win){ return workspaceIds.indexOf(win.get_workspace().index()) >= 0 }) @@ -388,24 +400,14 @@ AppButton.prototype = { _isFavorite: function (isFav) { this.isFavapp = isFav - if (isFav) { - if (this._applet.orientation === St.Side.LEFT || this._applet.orientation === St.Side.RIGHT) { - this.setStyle('panel-launcher-vertical') - } else { - this.setStyle('panel-launcher') - } - this._label.text = '' - } else { - this.setStyle('window-list-item-box app-list-item-box') - if (this._applet.orientation == St.Side.TOP) { - this.actor.add_style_class_name('window-list-item-box-top') - } else if (this._applet.orientation == St.Side.BOTTOM) { - this.actor.add_style_class_name('window-list-item-box-bottom') - } else if (this._applet.orientation == St.Side.LEFT) { - this.actor.add_style_class_name('window-list-item-box-left') - } else if (this._applet.orientation == St.Side.RIGHT) { - this.actor.add_style_class_name('window-list-item-box-right') - } + if (this._applet.orientation == St.Side.TOP) { + this.actor.add_style_class_name('window-list-item-box-top') + } else if (this._applet.orientation == St.Side.BOTTOM) { + this.actor.add_style_class_name('window-list-item-box-bottom') + } else if (this._applet.orientation == St.Side.LEFT) { + this.actor.add_style_class_name('window-list-item-box-left') + } else if (this._applet.orientation == St.Side.RIGHT) { + this.actor.add_style_class_name('window-list-item-box-right') } }, diff --git a/src/specialMenus.js b/src/specialMenus.js index 2e8000b..77bbf88 100644 --- a/src/specialMenus.js +++ b/src/specialMenus.js @@ -97,8 +97,21 @@ AppMenuButtonRightClickMenu.prototype = { if (Main.layoutManager.monitors.length > 1) { var connectMonitorEvent = (item, mw, i)=>{ item.connect('activate', ()=>{ - mw.move_to_monitor(i) - this.app.activate(mw, global.get_current_time()) + if (this._applet.monitorMoveAllWindows) { + for (let z = 0, len = this.metaWindows.length; z < len; z++) { + var focused = 0; + this.metaWindows[z].win.move_to_monitor(i) + if (this.metaWindows[z].win.has_focus()) { + ++focused + } + if (z === len - 1 && focused === 0) { + this.app.activate(this.metaWindows[z].win, global.get_current_time()) + } + } + } else { + mw.move_to_monitor(i) + this.app.activate(mw, global.get_current_time()) + } }) } for (let i = 0, len = Main.layoutManager.monitors.length; i < len; i++) { @@ -728,17 +741,13 @@ PopupMenuAppSwitcherItem.prototype = { for (let w = 0, len = children.length; w < len; w++) { this.appContainer.remove_actor(children[w]) } - windows.sort(function (a, b) { - return a.user_time - b.user_time - }) + this.appThumbnails = _.orderBy(this.appThumbnails, ['metaWindow.user_time'], ['asc']) this.reAdd = true } for (let i = 0, len = windows.length; i < len; i++) { var metaWindow = windows[i] if (this.appThumbnails[i] !== undefined && this.appThumbnails[i]) { - this.appThumbnails[i].thumbnail._isFavorite(this.isFavapp, metaWindow, windows) - //this.appThumbnails[i].thumbnail._refresh(metaWindow, windows) if (this.reAdd) { if (this._applet.sortThumbs) { this.appContainer.insert_actor(this.appThumbnails[i].thumbnail.actor, 0) diff --git a/src/stylesheet.css b/src/stylesheet.css index d29f9cc..2053a15 100644 --- a/src/stylesheet.css +++ b/src/stylesheet.css @@ -93,7 +93,7 @@ use to override window-list-item-box */ .window-list-item-demands-attention { } .app-button-label { - padding-left: 4px; + padding-left: 4px; } .panel-launcher-vertical { padding-top: 2px; diff --git a/src/utils.py b/src/utils.py index 1c84eab..2a1bb17 100755 --- a/src/utils.py +++ b/src/utils.py @@ -90,6 +90,8 @@ def handleCli(): ('icon-padding', config['icon-padding']), ('enable-iconSize', config['enable-iconSize']), ('icon-size', config['icon-size']), + ('show-apps-order-hotkey', config['show-apps-order-hotkey']), + ('show-apps-order-timeout', config['show-apps-order-timeout']), ('HoverPeek', config['HoverPeek']), ('seperator2', config['seperator2']), ('enable-hover-peek', config['enable-hover-peek']), @@ -109,8 +111,9 @@ def handleCli(): ('AppMenu', config['AppMenu']), ('seperator4', config['seperator4']), ('show-recent', config['show-recent']), + ('firefox-menu', config['firefox-menu']), ('autostart-menu-item', config['autostart-menu-item']), - ('firefox-menu', config['firefox-menu']) + ('monitor-move-all-windows', config['monitor-move-all-windows']), ('__md5__', config['__md5__']), ])