Actions: fix binding of this

This commit is contained in:
Peter Fajdiga
2024-09-06 11:57:03 +02:00
parent 4ecced369a
commit 407b24df08

View File

@@ -3,7 +3,7 @@ class Actions {
private readonly config: Actions.Config,
) {}
public focusLeft(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly focusLeft = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const leftColumn = grid.getLeftColumn(column);
if (leftColumn === null) {
return;
@@ -11,7 +11,7 @@ class Actions {
leftColumn.focus();
}
public focusRight(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly focusRight = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const rightColumn = grid.getRightColumn(column);
if (rightColumn === null) {
return;
@@ -19,7 +19,7 @@ class Actions {
rightColumn.focus();
}
public focusUp(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly focusUp = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const aboveWindow = column.getAboveWindow(window);
if (aboveWindow === null) {
return;
@@ -27,7 +27,7 @@ class Actions {
aboveWindow.focus();
}
public focusDown(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly focusDown = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const belowWindow = column.getBelowWindow(window);
if (belowWindow === null) {
return;
@@ -35,7 +35,7 @@ class Actions {
belowWindow.focus();
}
public focusStart(cm: ClientManager, dm: DesktopManager) {
public readonly focusStart = (cm: ClientManager, dm: DesktopManager) => {
const grid = dm.getCurrentDesktop().grid;
const firstColumn = grid.getFirstColumn();
if (firstColumn === null) {
@@ -44,7 +44,7 @@ class Actions {
firstColumn.focus();
}
public focusEnd(cm: ClientManager, dm: DesktopManager) {
public readonly focusEnd = (cm: ClientManager, dm: DesktopManager) => {
const grid = dm.getCurrentDesktop().grid;
const lastColumn = grid.getLastColumn();
if (lastColumn === null) {
@@ -53,7 +53,7 @@ class Actions {
lastColumn.focus();
}
public windowMoveLeft(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly windowMoveLeft = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
if (column.getWindowCount() === 1) {
// move from own column into existing column
const leftColumn = grid.getLeftColumn(column);
@@ -69,7 +69,7 @@ class Actions {
}
}
public windowMoveRight(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly windowMoveRight = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
if (column.getWindowCount() === 1) {
// move from own column into existing column
const rightColumn = grid.getRightColumn(column);
@@ -86,76 +86,76 @@ class Actions {
}
// TODO (optimization): only arrange moved windows
public windowMoveUp(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly windowMoveUp = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
column.moveWindowUp(window);
}
// TODO (optimization): only arrange moved windows
public windowMoveDown(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly windowMoveDown = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
column.moveWindowDown(window);
}
public windowMoveStart(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly windowMoveStart = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const newColumn = new Column(grid, null);
window.moveToColumn(newColumn);
}
public windowMoveEnd(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly windowMoveEnd = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const newColumn = new Column(grid, grid.getLastColumn());
window.moveToColumn(newColumn);
}
public windowToggleFloating(cm: ClientManager, dm: DesktopManager) {
public readonly windowToggleFloating = (cm: ClientManager, dm: DesktopManager) => {
const kwinClient = Workspace.activeWindow;
cm.toggleFloatingClient(kwinClient);
}
public columnMoveLeft(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnMoveLeft = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
grid.moveColumnLeft(column);
}
public columnMoveRight(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnMoveRight = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
grid.moveColumnRight(column);
}
public columnMoveStart(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnMoveStart = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
grid.moveColumn(column, null);
}
public columnMoveEnd(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnMoveEnd = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
grid.moveColumn(column, grid.getLastColumn());
}
public columnToggleStacked(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnToggleStacked = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
column.toggleStacked();
}
public columnWidthIncrease(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnWidthIncrease = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
this.config.columnResizer.increaseWidth(column, this.config.manualResizeStep);
}
public columnWidthDecrease(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnWidthDecrease = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
this.config.columnResizer.decreaseWidth(column, this.config.manualResizeStep);
}
public columnsWidthEqualize(cm: ClientManager, dm: DesktopManager) {
public readonly columnsWidthEqualize = (cm: ClientManager, dm: DesktopManager) => {
dm.getCurrentDesktop().equalizeVisibleColumnsWidths();
}
public gridScrollLeft(cm: ClientManager, dm: DesktopManager) {
public readonly gridScrollLeft = (cm: ClientManager, dm: DesktopManager) => {
this.gridScroll(dm, -this.config.manualScrollStep);
}
public gridScrollRight(cm: ClientManager, dm: DesktopManager) {
public readonly gridScrollRight = (cm: ClientManager, dm: DesktopManager) => {
this.gridScroll(dm, this.config.manualScrollStep);
}
private gridScroll(desktopManager: DesktopManager, amount: number) {
private readonly gridScroll = (desktopManager: DesktopManager, amount: number) => {
const grid = desktopManager.getCurrentDesktop().grid;
grid.desktop.adjustScroll(amount, false);
}
public gridScrollStart(cm: ClientManager, dm: DesktopManager) {
public readonly gridScrollStart = (cm: ClientManager, dm: DesktopManager) => {
const grid = dm.getCurrentDesktop().grid;
const firstColumn = grid.getFirstColumn();
if (firstColumn === null) {
@@ -164,7 +164,7 @@ class Actions {
grid.desktop.scrollToColumn(firstColumn);
}
public gridScrollEnd(cm: ClientManager, dm: DesktopManager) {
public readonly gridScrollEnd = (cm: ClientManager, dm: DesktopManager) => {
const grid = dm.getCurrentDesktop().grid;
const lastColumn = grid.getLastColumn();
if (lastColumn === null) {
@@ -173,11 +173,11 @@ class Actions {
grid.desktop.scrollToColumn(lastColumn);
}
public gridScrollFocused(cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly gridScrollFocused = (cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
grid.desktop.scrollCenterRange(column);
}
public gridScrollLeftColumn(cm: ClientManager, dm: DesktopManager) {
public readonly gridScrollLeftColumn = (cm: ClientManager, dm: DesktopManager) => {
const grid = dm.getCurrentDesktop().grid;
const column = grid.getLeftmostVisibleColumn(grid.desktop.getCurrentVisibleRange(), true);
if (column === null) {
@@ -192,7 +192,7 @@ class Actions {
grid.desktop.scrollToColumn(leftColumn);
}
public gridScrollRightColumn(cm: ClientManager, dm: DesktopManager) {
public readonly gridScrollRightColumn = (cm: ClientManager, dm: DesktopManager) => {
const grid = dm.getCurrentDesktop().grid;
const column = grid.getRightmostVisibleColumn(grid.desktop.getCurrentVisibleRange(), true);
if (column === null) {
@@ -207,11 +207,11 @@ class Actions {
grid.desktop.scrollToColumn(rightColumn);
}
public screenSwitch(cm: ClientManager, dm: DesktopManager) {
public readonly screenSwitch = (cm: ClientManager, dm: DesktopManager) => {
dm.selectScreen(Workspace.activeScreen);
}
public focus(columnIndex: number, cm: ClientManager, dm: DesktopManager) {
public readonly focus = (columnIndex: number, cm: ClientManager, dm: DesktopManager) => {
const grid = dm.getCurrentDesktop().grid;
const targetColumn = grid.getColumnAtIndex(columnIndex);
if (targetColumn === null) {
@@ -220,7 +220,7 @@ class Actions {
targetColumn.focus();
};
public windowMoveToColumn(columnIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly windowMoveToColumn = (columnIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const targetColumn = grid.getColumnAtIndex(columnIndex);
if (targetColumn === null) {
return;
@@ -229,7 +229,7 @@ class Actions {
grid.desktop.autoAdjustScroll();
};
public columnMoveToColumn(columnIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) {
public readonly columnMoveToColumn = (columnIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, grid: Grid) => {
const targetColumn = grid.getColumnAtIndex(columnIndex);
if (targetColumn === null || targetColumn === column) {
return;
@@ -241,7 +241,7 @@ class Actions {
}
};
public columnMoveToDesktop(desktopIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, oldGrid: Grid) {
public readonly columnMoveToDesktop = (desktopIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, oldGrid: Grid) => {
const kwinDesktop = Workspace.desktops[desktopIndex];
if (kwinDesktop === undefined) {
return;
@@ -253,7 +253,7 @@ class Actions {
column.moveToGrid(newGrid, newGrid.getLastColumn());
};
public tailMoveToDesktop(desktopIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, oldGrid: Grid) {
public readonly tailMoveToDesktop = (desktopIndex: number, cm: ClientManager, dm: DesktopManager, window: Window, column: Column, oldGrid: Grid) => {
const kwinDesktop = Workspace.desktops[desktopIndex];
if (kwinDesktop === undefined) {
return;