Commit Graph

683 Commits

Author SHA1 Message Date
Mikhail Zolotukhin
6f14c55708 fix: 📝 add simple installation instructions 2021-10-03 00:27:22 +03:00
Mikhail Zolotukhin
cbe4aa129e chore: 🔖 increment version 2021-10-02 23:41:08 +03:00
Mikhail Zolotukhin
d1dc5e1180 ci: 👷 release please action 2021-10-02 23:33:23 +03:00
Mikhail Zolotukhin
58d8e21bf5 build: 📦 package as an archive with install script 2021-10-02 22:58:11 +03:00
Mikhail Zolotukhin
47463ae380 ci: 👷 add prettier eslint plugin 2021-09-30 19:21:10 +03:00
Mikhail Zolotukhin
3c80004543 ci: 👷 enable linting for TS 2021-09-30 18:20:57 +03:00
Derek Stevens
5e262141a1
fix: 🐛 Monocle Layout "minimize unfocused windows" fixes and improvements
## Summary

Fixes Monocle Layout with `Minimize Unfocused Windows` (internally `config.monocleMinimizeRest`) option enabled.

Restores previous functionality (before Wayland patches) and adds
* minimize inactive windows only on same monitor with multimonitor setup
* can switch windows with focus-changing `Actions`
* switches to the next window when closing the active window (still a little buggy in multimonitor, but a big improvment)
* handles moving window onto a `Surface` with this layout properly

## UI Changes

Removed "(WIP)" from "Minimize unfocused windows" option in the config UI.

## Test Plan

1. Reload script
2. Verify all behavior in the Summary

## Related Issues

Closes #43, #55
2021-09-30 14:47:14 +03:00
Mikhail Zolotukhin
d196853941 fix: 🐛 use correct quarter layout id 2021-09-29 11:06:34 +03:00
Mikhail Zolotukhin
3b2152e811 feat: 🔧 ner master area window count shortcuts 2021-09-26 22:03:32 +03:00
Mikhail Zolotukhin
4bd9a76c78 feat: add Krohnkite shortcuts import script 2021-09-26 20:28:15 +03:00
Mikhail Zolotukhin
ca2a53b666 fix: 🐛 use correct key for floating layout 2021-09-24 23:52:57 +03:00
Mikhail Zolotukhin
cf0caff95a chore: 📝 add license symlink for GitHub recognition 2021-09-23 23:00:15 +03:00
Mikhail Zolotukhin
5b727d1a38 chore: add pull request template 2021-09-23 23:00:15 +03:00
Mikhail Zolotukhin
604c5cf577 chore: convert issues templates to forms 2021-09-23 21:29:09 +03:00
Mikhail Zolotukhin
a95c9321a0 chore: 🐛 add config tweak to install script and update docs 2021-09-23 20:39:31 +03:00
Mikhail Zolotukhin
eeed91ef63 docs: 📝 update shortcuts reference 2021-09-23 19:37:06 +03:00
Mikhail Zolotukhin
6ee4ddde4e docs: add conventional commits badge 2021-09-23 18:57:09 +03:00
Mikhail Zolotukhin
e40caee37c docs: 📝 update badges
Add Wayland badge. Change prettier one a bit.
2021-09-23 16:38:30 +03:00
Mikhail Zolotukhin
e59b3b2965 feat: 📝 add issues' templates 2021-09-23 14:31:54 +03:00
Mikhail Zolotukhin
3277a21888 feat(wayland): 🔥 remove qmlSetTimer
It does not work for some reason. Using timer is not a good idea and if
we a bound to do so, it is better to create destinct ones in the qml
itself instead of using arbitary number of ones with singleton.

This will potentially break the code in places, where timer was used. We
need to test it and provide distinct timer in QML, which are working.
2021-09-23 13:50:04 +03:00
Mikhail Zolotukhin
8ca1838f68 feat(wayland): 🔥 remove mouse poller
Mouse poller does not work on Wayland anyway. It uses xdottool, which
does not work on Wayland.

This will break the setup of the users, who used the config setting to
use xdotool
2021-09-23 13:50:04 +03:00
Mikhail Zolotukhin
293e580089 chore: 🔧 add vscode workspace config with wayland CC scope 2021-09-23 13:50:04 +03:00
Mikhail Zolotukhin
f5a1068389 fix(wayland): 🐛 react to the new client immidiately
This should make this part of the script working on wayland.
2021-09-23 13:50:04 +03:00
Mikhail Zolotukhin
062352e1ae fix(wayland): 🔥 remove basicUnit and its usages
I honestly do not understand why is this needed, but it prevents running
script on Wayland session entierly. In the docs this parameter is marked
as unreliable anyway and we do not want to support non-crossplatform
features.

This will surely break something. I do not know what and when.
2021-09-23 13:50:04 +03:00
Mikhail Zolotukhin
3f7d922fea ci: 👷 add commit linting
Add commit linting according to the Conventional Commits spec.
2021-09-22 17:08:23 +03:00
Mikhail Zolotukhin
88a2ea2d0c test(action): add remaining tests 2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
b90a5d49b7 fix(action): 🐛 correctly prefix layout shortcuts
We didn't prefixed them with "bismuth"

BREAKING CHANGE: This will break already binded shortcuts
2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
429c9af212 test(action): add master area tests 2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
da9c10fc16 test(action): add window moving action tests 2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
78c220e496 fix(action): 🐛 notify about rotation non-appliance 2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
9d1e535725 test(action): add move window action tests 2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
d2cb2db82a test(action): add focus action tests 2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
2d2c60874c style(tests): 💡 add eslint ignore for whole test files 2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
32ae23c6a2 test(action): add simple focus up action unit test
This is just a basic unit test.
2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
5416912efd feat: 🐛 use unique key strings instead of description for shortcuts configuration
Using description strings for configuration was unsafe: we could
potentially introduce forbidden characters. Also if we wanted to change
she description of the shortcut, we would break the shortcut
configuration on the user side. Now it is only possible with the change
of the unique config string.

BREAKING CHANGE: This will obviously break the existing shortcuts. But
we are introducing this change along with the previous one, that breaks
the shortcut configuration anyway.
2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
92d57cc82b feat: 🏗️ lean out the shortcuts definitions
This completely changes how are shortcuts are interpreted by the script.
Instead of using the complicated system, where up, down, left and right
keys (hjkl) were used dynamically depended on the mode (directional,
dwm), we just put all the possible shortcuts in the list. This increases
the user's flexibility to bind shortcuts however they want and also
reduces the code complexity.

Since this change breaks the existing shortcuts for the user anyway
and we are currently earlier in the development, it makes sense
to break shortcuts entirely, to we also break the naming scheme.

BREAKING CHANGE: This completely breaks existing shortcuts. Users need
to remove all the existing shortcuts from config file and relogin into
the session immediately. After that, the new set of shortcuts will be
visible in the UI.
2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
dd1212c2b4 refactor: 🎨 rename shortcut to action
Action here it more applicable, since the shortcut is Ctrl-A or Super+Up, but here it is used to denote action.
2021-09-22 02:50:48 +03:00
Mikhail Zolotukhin
9710c664ae build: 🚨 disable linting where we cannot do anyshing in the short term 2021-09-17 23:30:14 +03:00
Mikhail Zolotukhin
0f43507bcb refactor: 🚨 fix a bundh of linter errors 2021-09-17 23:30:14 +03:00
Mikhail Zolotukhin
1b3c14cbfb docs: 📝 add JSDoc to Controller interface 2021-09-17 23:30:14 +03:00
Mikhail Zolotukhin
aea4e9f6c7 docs: 📝 add a bit more docs to KWin Scripting interface 2021-09-17 23:30:14 +03:00
Mikhail Zolotukhin
78957f4cad docs: 📝 add JSDoc to Toplevel KWin interface 2021-09-17 23:30:14 +03:00
Mikhail Zolotukhin
940140dd17 docs: 📝 add video demonstration 2021-09-17 21:24:27 +03:00
Mikhail Zolotukhin
aef0eaa9b5 refactor: 🚨 add missing return types 2021-09-17 19:23:58 +03:00
Mikhail Zolotukhin
f3eae59f60 refactor: 🚨 curly braces 2021-09-17 19:23:58 +03:00
Mikhail Zolotukhin
13f8029578 refactor: do not read useless config value 2021-09-17 19:23:58 +03:00
Mikhail Zolotukhin
8a814857c0 build: disable linting of any in config.ts 2021-09-17 19:23:58 +03:00
Mikhail Zolotukhin
8ec36c3f46 refactor: 🚨 prefix or comment out some unused vars 2021-09-17 19:23:58 +03:00
Mikhail Zolotukhin
b5a58aa1cc build: 🚨 disable template expression rule 2021-09-17 19:23:58 +03:00
Mikhail Zolotukhin
6e2e54c12a refactor: 🚨 ignore empty Qt interface 2021-09-17 19:23:58 +03:00