-
-
Notifications
You must be signed in to change notification settings - Fork 93
[C++ Port] focusWindowByDirection
(WIP)
#387
[C++ Port] focusWindowByDirection
(WIP)
#387
Conversation
- repo: https://github.com/fsfe/reuse-tool | ||
rev: v0.14.0 | ||
hooks: | ||
- id: reuse |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was having this error locally: Unfortunately, your project is not compliant with version 3.0 of the REUSE Specification :-(
. So I removed it just for now, later when this PR is in the review stage, maybe we can come back to it and help get this back :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This error means, that some of your files do not contain the license headers like:
// SPDX-FileCopyrightText: 2022 Mikhail Zolotukhin <[email protected]>
// SPDX-License-Identifier: MIT
In general, the reuse tool should show you which exact files should contain similar headers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, thank you @gikari! :)
@@ -18,6 +18,7 @@ Engine::Engine(PlasmaApi::Api &api, const Bismuth::Config &config) | |||
, m_windows(api.workspace()) | |||
, m_activeLayouts(config) | |||
, m_plasmaApi(api) | |||
, timestamp(0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a TODO. I think this will require onWindowFocused
and hence the signal from QAbstractState
- activeChanged
.
I suggest you to start porting not from there, but from layouts logic. This is because what you're doing right now is not testable at the moment, as there are no layouts, that have >1 window in them at the same time. Layouts logic in legacy Typescript is pretty isolated and self-contained, so it can be relatively easily ported with the addition of auto-tests, that cover their logic. After one of the layouts is implemented, you can come back here and finish the implementation with the appropriate manual testing. |
That is an excellent suggestion, @gikari - thank you! I agree, that without one tiling layout ported/implemented, it will be hard to test. I will keep this PR open, and come back to this once a tiling layout is ported. :) Thank you again! |
If you're willing to continue the port, checkout
There is a WIP implementation of master-stack (ex tile) layout on my local machine, but it does not work and makes kwin crash. I am currently unable to actively develop it, but will try in my free time. Although, I am not sure how much I will have it in the future, because I am currently in the process of changing my country of residence and getting a new full-time job. |
Summary
This PR is along the lines of issue #335. This is currently a work in progress, and I need to set up a VM to test the changes. I'm creating this PR to track the changes, and motivate me to not stop until it's done.
Please feel free to leave any minor changes you have to suggest, however, when I'm going to test, I'll probably fix any bugs with this code.
Breaking Changes
Do your changes intentionally break something on the user side or configuration? No! :)
Test Plan
(TODO) - Probably, check if the keyboard shortcuts work for all different combinations.
Related Issues
Partially fixes #335
cc: @gikari