From cb7e7ce16a24a43194f348dc68c9a9ed83510da8 Mon Sep 17 00:00:00 2001 From: David O'Trakoun Date: Mon, 5 Apr 2021 23:16:21 -0400 Subject: [PATCH] try adding settings to configure sizes --- README.md | 21 +++++++++++++++ contents/code/main.js | 41 +++++++++++++++++++++++------ contents/code/main.spec.js | 14 +++++++++- contents/config/main.xml | 12 +++++++++ contents/ui/config.ui | 51 +++++++++++++++++++++++++++++++++++++ meta/settings.png | Bin 0 -> 57085 bytes metadata.desktop | 13 ++++++---- package.json | 1 + scripts/metadata.njk | 13 ++++++---- 9 files changed, 147 insertions(+), 19 deletions(-) create mode 100644 contents/config/main.xml create mode 100644 contents/ui/config.ui create mode 100644 meta/settings.png diff --git a/README.md b/README.md index 44f23c4..968dec6 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,29 @@ KWin script to resize and move windows. Like Spectacle/Rectangle on mac. + +## Installation + Available in the [KDE store](https://store.kde.org/p/1492899/) +## Configuration + +The sizes can be changed by using the settings button in `System Settings +> KWin Scripts` + +![settings screenshot](meta/settings.png) + +To enable this menu you may need to link the script metadata to kservices5: + +```sh +mkdir -p ~/.local/share/kservices5/ +ln -s ~/.local/share/kwin/scripts/yanjing/metadata.desktop ~/.local/share/kservices5/yanjing.desktop +``` + +Why? See this [issue](https://github.com/faho/kwin-tiling/issues/79#issuecomment-311465357) + +Restarting plasma afterwards in recommended. + ## Commands - Yanjing LEFT - `no default` diff --git a/contents/code/main.js b/contents/code/main.js index 213be76..1012f1c 100644 --- a/contents/code/main.js +++ b/contents/code/main.js @@ -12,14 +12,38 @@ Yanjing.States = { ERROR: 'ERROR', }; -// Percent of screen to fill -Yanjing.Sizes = [ - 75, - 100 / 3 * 2, - 50, - 100 / 3, - 25, -]; +/** + * @param {string} sizesStringList comma separated + * @return {number[]} No zero/falsies + */ +Yanjing.sanitizeSizes = function (sizesStringList) { + return (sizesStringList + .split(',') + .map(function ensureFloat(v) { + return parseFloat(v); // also serves to trim() + }) + .filter(Boolean) // remove 0 and NaN + ); +} + +var DEFAULT_SIZES = '75,66.6666,50,33.3333,25'; + +var configSizes = []; +var configSizesString = ''; +try { + var configSizesString = readConfig('sizes', '').toString(); + configSizes = Yanjing.sanitizeSizes(configSizesString); +} catch (err) { + print(err); +} + +if (configSizes.length > 0) { + Yanjing.Sizes = configSizes; + print('Using custom sizes', configSizesString); +} else { + Yanjing.Sizes = Yanjing.sanitizeSizes(DEFAULT_SIZES); + print('Using DEFAULT_SIZES', DEFAULT_SIZES); +} Yanjing.Dirs = { Left: 'Left', @@ -123,6 +147,7 @@ Yanjing.cycle = function (client, dir) { rect.width = nextWidth; client.geometry = rect; + // Move again after cycle to fix reposition due to resize var after = Yanjing.AfterCycle[dir]; return after && after(client); }; diff --git a/contents/code/main.spec.js b/contents/code/main.spec.js index 5c88201..2e21e95 100644 --- a/contents/code/main.spec.js +++ b/contents/code/main.spec.js @@ -3,6 +3,11 @@ // =========================================================================== global.print = jest.fn()//.mockImplementation((str) => console.error(str)); + +global.readConfig = jest.fn().mockImplementation(function (key, defaults) { + return defaults; +}); + global.registerShortcut = jest.fn(); global.KWin = { @@ -48,6 +53,13 @@ it('calls registerShortcut in main', () => { expect(global.registerShortcut).toHaveBeenCalledTimes(6); }); +describe('sanitizeSizes', () => { + it('returns array of filtered floats', () => { + expect(Yanjing.sanitizeSizes('0, 5, 10, x, 111.111, 0, 222.333')) + .toEqual([5, 10, 111.111, 222.333]); + }); +}); + describe('sizeToWidth', () => { it(`should return px value against work area width`, () => { expect(Yanjing.sizeToWidth(33.333)).toBeCloseTo(615.99384); @@ -59,7 +71,7 @@ describe('sizeToWidth', () => { describe('widthToSizeIndex', () => { it(`should return size index relative to ${global.workspace.workspaceWidth}`, () => { expect(Yanjing.widthToSizeIndex(640)) - .toBe(Yanjing.Sizes.findIndex((s) => s === 100/3)); + .toBe(Yanjing.Sizes.findIndex((s) => s === 33.3333)); expect(Yanjing.widthToSizeIndex(HALF_SCREEN)) .toBe(Yanjing.Sizes.findIndex((s) => s === 50)); }); diff --git a/contents/config/main.xml b/contents/config/main.xml new file mode 100644 index 0000000..3e0c07d --- /dev/null +++ b/contents/config/main.xml @@ -0,0 +1,12 @@ + + + + + + 75,66.6666,50,33.3333,25 + + + diff --git a/contents/ui/config.ui b/contents/ui/config.ui new file mode 100644 index 0000000..415db2e --- /dev/null +++ b/contents/ui/config.ui @@ -0,0 +1,51 @@ + + + KWin::YanjingConfigForm + + + + 0 + 0 + 480 + 320 + + + + Yanjing + + + + + + + + Sizes, float, comma sep + + + + + + + Comma separated window size percentages, e.g. "66.6666, 50, 25" + + + Window width percentages + + + Window width percentages + + + 75,66.6666,50,33.3333,25 + + + e.g. 75,66.6666,50,33.3333,25 + + + + + + + + + + diff --git a/meta/settings.png b/meta/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..4e48683975af6700122361c13433980ccce1ca08 GIT binary patch literal 57085 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

= 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ⅈZYp2>UwwUB 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 z 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 literal 0 HcmV?d00001 diff --git a/metadata.desktop b/metadata.desktop index 916e16b..61a39ba 100644 --- a/metadata.desktop +++ b/metadata.desktop @@ -5,7 +5,11 @@ Comment=Window size and movement Icon=preferences-system-windows-script-test Type=Service -X-KDE-ServiceTypes=KWin/Script +X-KDE-ServiceTypes=KWin/Script,KCModule +X-Plasma-API=javascript +X-Plasma-MainScript=code/main.js + +X-KDE-PluginInfo-EnabledByDefault=true X-KDE-PluginInfo-Name=yanjing X-KDE-PluginInfo-Version=4.1.1 @@ -16,8 +20,7 @@ X-KDE-PluginInfo-Website=https://github.com/davidosomething/yanjing X-KDE-PluginInfo-Email=me@davidosomething.com X-KDE-PluginInfo-License=MIT -X-KDE-PluginInfo-EnabledByDefault=true - -X-Plasma-API=javascript -X-Plasma-MainScript=code/main.js +X-KDE-Library=kwin/effects/configs/kcm_kwin4_genericscripted +X-KDE-PluginKeyword=yanjing +X-KDE-ParentComponents=yanjing diff --git a/package.json b/package.json index f90ab79..55c162a 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "scripts": { "test": "jest", "debugger": "qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.showInteractiveKWinConsole", + "restartplasma": "kquitapp5 plasmashell; kstart5 plasmashell", "kwin:is_installed": "plasmapkg2 --type kwinscript --show yanjing", "kwin:install": "plasmapkg2 --type kwinscript --install .", "kwin:upgrade": "plasmapkg2 --type kwinscript --upgrade .", diff --git a/scripts/metadata.njk b/scripts/metadata.njk index cae5f0c..8b220ed 100644 --- a/scripts/metadata.njk +++ b/scripts/metadata.njk @@ -5,7 +5,11 @@ Comment={{ description }} Icon=preferences-system-windows-script-test Type=Service -X-KDE-ServiceTypes=KWin/Script +X-KDE-ServiceTypes=KWin/Script,KCModule +X-Plasma-API=javascript +X-Plasma-MainScript={{ main }} + +X-KDE-PluginInfo-EnabledByDefault=true X-KDE-PluginInfo-Name={{ name }} X-KDE-PluginInfo-Version={{ version }} @@ -16,7 +20,6 @@ X-KDE-PluginInfo-Website={{ homepage }} X-KDE-PluginInfo-Email={{ author.email }} X-KDE-PluginInfo-License={{ license }} -X-KDE-PluginInfo-EnabledByDefault=true - -X-Plasma-API=javascript -X-Plasma-MainScript={{ main }} +X-KDE-Library=kwin/effects/configs/kcm_kwin4_genericscripted +X-KDE-PluginKeyword=yanjing +X-KDE-ParentComponents=yanjing