1
0
Fork 0

Adding 45/vertical-workspaces version 37+20240412 [9b05a79].

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-03-24 19:43:11 +01:00
parent 155878f41e
commit 9a6f4265d9
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
37 changed files with 3192 additions and 3142 deletions

View file

@ -3,7 +3,7 @@
* appDisplay.js
*
* @author GdH <G-dH@github.com>
* @copyright 2022 - 2023
* @copyright 2022 - 2024
* @license GPL-3.0
*
*/
@ -34,6 +34,8 @@ let _timeouts;
const APP_ICON_TITLE_EXPAND_TIME = 200;
const APP_ICON_TITLE_COLLAPSE_TIME = 100;
const shellVersion46 = !Clutter.Container; // Container has been removed in 46
function _getCategories(info) {
let categoriesStr = info.get_categories();
if (!categoriesStr)
@ -187,7 +189,6 @@ export const AppDisplayModule = class {
_setAppDisplayOrientation(vertical = false) {
const CLUTTER_ORIENTATION = vertical ? Clutter.Orientation.VERTICAL : Clutter.Orientation.HORIZONTAL;
const scroll = vertical ? 'vscroll' : 'hscroll';
// app display to vertical has issues - page indicator not working
// global appDisplay orientation switch is not built-in
let appDisplay = Main.overview._overview._controls._appDisplay;
@ -247,7 +248,9 @@ export const AppDisplayModule = class {
}
// value for page indicator is calculated from scroll adjustment, horizontal needs to be replaced by vertical
appDisplay._adjustment = appDisplay._scrollView[scroll].adjustment;
appDisplay._adjustment = vertical
? appDisplay._scrollView.get_vscroll_bar().adjustment
: appDisplay._scrollView.get_hscroll_bar().adjustment;
// no need to connect already connected signal (wasn't removed the original one before)
if (!vertical) {
@ -754,7 +757,7 @@ const BaseAppViewVertical = {
this._nextPageArrow.scale_x = 0;
this._prevPageArrow.scale_x = 0;
this._adjustment = this._scrollView.vscroll.adjustment;
this._adjustment = this._scrollView.get_vscroll_bar().adjustment;
this._adjustment.connect('notify::value', adj => {
const value = adj.value / adj.page_size;
@ -972,12 +975,17 @@ const FolderIcon = {
: St.ButtonMask.ONE | St.ButtonMask.TWO;
this.button_mask = buttonMask;*/
this.button_mask = St.ButtonMask.ONE | St.ButtonMask.TWO;
if (shellVersion46)
this.add_style_class_name('app-folder-46');
else
this.add_style_class_name('app-folder-45');
},
open() {
this._ensureFolderDialog();
this._dialog._updateFolderSize();
// always open folder with the first page
this.view._scrollView.vscroll.adjustment.value = 0;
this.view._scrollView.get_vscroll_bar().adjustment.value = 0;
this._dialog.popup();
},
};
@ -1043,6 +1051,7 @@ const FolderView = {
child._sourceItem = this._orderedItems[i];
child._sourceFolder = this;
child.icon.style_class = '';
child.set_style_class_name('');
child.icon.set_style('margin: 0; padding: 0;');
child._dot.set_style('margin-bottom: 1px;');
child.icon.setIconSize(subSize);
@ -1052,16 +1061,14 @@ const FolderView = {
bin.connect('enter-event', () => {
bin.ease({
duration: 100,
scale_x: 1.14,
scale_y: 1.14,
translation_y: -3,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
});
bin.connect('leave-event', () => {
bin.ease({
duration: 100,
scale_x: 1,
scale_y: 1,
translation_y: 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
});
@ -1072,8 +1079,8 @@ const FolderView = {
}
// if folder content changed, update folder size, but not if it's empty
if (this._dialog && this._dialog._designCapacity !== this._orderedItems.length && this._orderedItems.length)
this._dialog._updateFolderSize();
/* if (this._dialog && this._dialog._designCapacity !== this._orderedItems.length && this._orderedItems.length)
this._dialog._updateFolderSize();*/
return icon;
},
@ -1201,6 +1208,11 @@ const AppFolderDialog = {
// injection to _init()
after__init() {
this._viewBox.add_style_class_name('app-folder-dialog-vshell');
// GS 46 changed the aligning to CENTER which restricts max folder dialog size
this._viewBox.set({
x_align: Clutter.ActorAlign.FILL,
y_align: Clutter.ActorAlign.FILL,
});
// delegate this dialog to the FolderIcon._view
// so its _createFolderIcon function can update the dialog if folder content changed
@ -1224,9 +1236,14 @@ const AppFolderDialog = {
},
after__addFolderNameEntry() {
// edit-folder-button class has been replaced with icon-button class which is not transparent in 46
this._editButton.add_style_class_name('edit-folder-button');
if (shellVersion46)
this._editButton.add_style_class_name('edit-folder-button-46');
// Edit button
this._removeButton = new St.Button({
style_class: 'edit-folder-button',
style_class: 'icon-button edit-folder-button',
button_mask: St.ButtonMask.ONE,
toggle_mode: false,
reactive: true,