Commit Graph

878 Commits

Author SHA1 Message Date
Mikhail Zolotukhin
c577368dff refactor: generate js config from C++ 2022-02-07 17:15:23 +03:00
Mikhail Zolotukhin
5fe5619727 chore: generate config for core
This generates the config from XML representation to be used directly in
the C++ code.
2022-02-07 17:15:23 +03:00
Mikhail Zolotukhin
ce251e115a chore: basic core plugin
This plugin will encapsulate all the logic of the window tiling
extension. It is intended to replace the legacy TypeScript logic,
to be more robust, testable and more feature rich.

The explanations on why TypeScript is not a way to go can be found in
the following section of the blog post:

https://genda.life/posts/bismuth-future/#motivation
2022-02-07 17:15:23 +03:00
Mikhail Zolotukhin
0d1796b1d8 chore!: force c++17 to the project 2022-02-07 17:15:23 +03:00
Mikhail Zolotukhin
65b27f4eb5 chore: move the config xml to the separate folder
This config will also be used by the core C++ module in the future.
Since it is a shared resource, it should not be placed in only one
module's folder.
2022-02-07 15:45:17 +03:00
Mikhail Zolotukhin
9f3c341f2c chore!: remove KDECompilerSettings
Those settings break every sane testing framework in the existence:
GTest, Catch, Doctest. Given, that they do not provide any tangible
benefit, they should be disabled.
2022-02-07 15:45:17 +03:00
Mikhail Zolotukhin
f12cd6ed08 chore: add clang-format generation 2022-02-07 15:45:17 +03:00
Mikhail Zolotukhin
88ea838e4b chore: add JetBrains IDE dir to gitignore 2022-02-07 15:45:17 +03:00
biqqles
4c16f5c549 docs: add Solus to distributions 2022-02-07 15:15:40 +03:00
Mikhail Zolotukhin
f9a2a279a4 refactor: remove space from Floating Layout id 2022-01-30 21:28:38 +03:00
Mikhail Zolotukhin
28a5522ca9 refactor: remove factory from config 2022-01-30 21:28:38 +03:00
Mikhail Zolotukhin
e8b876d4e7 refactor: merge WindowLayoutClass into WindowLayout 2022-01-30 21:28:38 +03:00
github-actions[bot]
f31342f95b chore: release 2.3.0 2022-01-26 20:53:44 +03:00
Bartosz Błaszków
285a432d90
chore: fix the link to shortcuts import script
Just a typo in a link to Krohnkite shortcuts import script
2022-01-26 20:14:10 +03:00
Mikhail Zolotukhin
61b0421045
chore: fix the window border instructions (#273) 2022-01-26 20:13:13 +03:00
Nicolai Weitkemper
4e929a4fc8
fix typo (#267)
TypeScirpt → TypeScript
2022-01-22 00:48:26 +03:00
Mikhail Zolotukhin
07eab41b64
chore: add donation button to GitHub 2022-01-20 22:23:47 +03:00
Mikhail Zolotukhin
095756d694
chore: add donation link 2022-01-19 20:32:44 +03:00
Mikhail Zolotukhin
111fda9cd4
chore: add matrix room 2022-01-19 01:34:50 +03:00
Mikhail Zolotukhin
bf6131670b
chore: add gcc compiler to sysdep-install script (#257) 2022-01-14 21:48:49 +03:00
Philipp Reichmuth
04b6124d35
chore: add OpenSUSE Tubleweed repository
Co-authored-by: Philip Reichmuth <reichmuth@spot-on.org>
2022-01-13 19:58:23 +03:00
Yuvraj Mishra
dde0c499ab
feat: add keyboard shortcut entry for Spiral Layout
Co-authored-by: vanillabase1lb <vanillabase1lb@users.noreply.github.com>
2022-01-11 21:10:32 +03:00
Mikhail Zolotukhin
a6f3344a0a docs: rearrange readmes 2022-01-08 01:01:18 +03:00
Mikhail Zolotukhin
03af511eff chore: specify licensing info in dep5 file 2022-01-08 01:01:18 +03:00
Ignacy Kajdan
4a478b6fc0 chore: add plasmashell restart script to npm run 2022-01-08 01:00:32 +03:00
volitank
8419654e6b
docs(packaging): add Debian/Ubuntu package
Also added a period after the Fedora Copr for uniformity
2021-12-19 16:53:10 +03:00
João Capucho
073882ce39 docs(packaging): add fedora package 2021-12-12 02:00:48 +03:00
Fabian Preuß
2548aa5dbd fix: use correct min/max func and start val for finding closest window 2021-12-06 00:38:10 +03:00
github-actions[bot]
10151209d3 chore: release 2.2.0 2021-12-05 02:04:33 +03:00
Fabian Preuß
84a0ac5bbd refactor: move parts of getNeighborByDirection() into separate functions 2021-12-02 16:00:59 +03:00
Fabian Preuß
1570d7c385 refactor: addressing comments for EngineImpl.getNeighborByDirection()
Refactor of the switch statement and variable names.
2021-12-02 16:00:59 +03:00
Fabian Preuß
969cf96e8d fix: select last used window when moving focus up or to the left
When bismuth finds two windows are equally distanced from the current
window, the last used window will be chosen when focus is moved via
keyboard shortcuts.

Before, the closest windows were always determined based on the top-left
corner of each window. This is fine when focusing a window below or to
the right, since adjacent edge aligned windows will have the top-left
corner on the same line either horizontally or vertically.

When moving the focus up or to the left, however, this is no longer
guaranteed. Even though the bottom of two candidate windows might be
edge to edge with the current window, the top-left corners might be on
different levels since the candidate windows don't have to have the same
height. To correctly select the last used adjacent edge aligned window
to the top or to the left, the bottom-right corner will be used to find
the closest windows.
2021-12-02 16:00:59 +03:00
Mikhail Zolotukhin
8023c50384 chore: fix documentation building 2021-12-01 16:38:58 +03:00
Mikhail Zolotukhin
843144af99 chore: pin dependencies to prevent random brakages 2021-12-01 16:12:19 +03:00
Ignacy Kajdan
0ca6bab506 chore: refactor cmake files 2021-11-30 13:23:04 +03:00
Fabian Preuß
4c3b17d492 fix: focus lone window with move focus shortcut
Before, when no window was focused, focusing a window with keyboard
shortcuts would only work if there were two or more windows visible. It
would also only consider tiled windows at all.

Now, any window, floating or tiled, is considered when no window was
focused previously.
2021-11-25 15:28:55 +03:00
Fabian Preuß
3d9c874439 fix: properly maximize windows via window decoration buttons
Apparently pressing the maximize button doesn't actually force the
window into any specific geometry. This resulted in windows staying in their
tiled geometry while all other windows would be rearranged as if the
maximized window would be floating.

This fix makes the maximized window fill the entire working area.
2021-11-24 17:05:42 +03:00
Mikhail Zolotukhin
cc27485d18 chore: support not using npm for some packagers 2021-11-20 04:56:14 +03:00
Mikhail Zolotukhin
54eec739dc chore: add an ption to turn off TSC check step
This also speeds up the recompilation times, since TSC is now used only
if the output is missing or the typescript files are changed.
2021-11-20 04:56:14 +03:00
Mikhail Zolotukhin
3154606047 chore: add eslint_d as a devdep 2021-11-20 04:56:14 +03:00
Mikhail Zolotukhin
54fc9158ce chore: move package search to the top cmakelists 2021-11-20 04:56:14 +03:00
Mikhail Zolotukhin
b065bf6827 chore: remove version from kcm 2021-11-20 04:56:14 +03:00
Mikhail Zolotukhin
1fd49761a3 chore: ignore all clang format files 2021-11-20 04:56:14 +03:00
Ace Christian F. Serraon
9f1beb4152
chore: add KDE Neon to the sysdep-install.sh 2021-11-15 10:51:28 +03:00
Mikhail Zolotukhin
695ed3e63e docs: add roadmap 2021-11-15 01:20:34 +03:00
Mikhail Zolotukhin
39dacf93d3 docs: add api docs link in contrib guide 2021-11-15 01:20:34 +03:00
Mikhail Zolotukhin
80cf1c0b30 docs: add a reminder to enable tiling 2021-11-15 01:20:34 +03:00
Ignacy Kajdan
b0491978fd
feat: display layout icons in the OSD popup
When switching layouts, you can now see icons in the OSD.
2021-11-13 21:52:41 +03:00
Mikhail Zolotukhin
3d1233ea6f chore: pin super linter version 2021-11-13 20:43:58 +03:00
Mikhail Zolotukhin
fd41ea2ec7 chore: add TS sources to build system 2021-11-13 20:10:07 +03:00