Commit Graph

878 Commits

Author SHA1 Message Date
Eon S. Jeon
51e5e73d50 implement slide utility function 2019-01-26 01:22:24 +09:00
Eon S. Jeon
78459e463c reorder parameters of clip to simplify callers 2019-01-26 01:21:26 +09:00
Eon S. Jeon
8cc4d04aa6 clip masterRatio to prevent breakage 2019-01-26 01:19:01 +09:00
Eon S. Jeon
6c85873574 implement layout-updating based on geometry change 2019-01-25 18:04:01 +09:00
Eon S. Jeon
6e1576cb51 implement Tile.subtract 2019-01-25 17:09:56 +09:00
Eon S. Jeon
7b0250ddad add placholder for mouseResize option 2019-01-25 13:21:24 +09:00
Eon S. Jeon
4c92c27c78 regression: do not handle ignored windows 2019-01-25 13:20:29 +09:00
Eon S. Jeon
3810869022 restore border status when hideBorder is false
directly setting `client.noBorder` to  `hideBorder` adds borders to
windows that originally had no borders.
2019-01-24 16:59:13 +09:00
Eon S. Jeon
7ff5e6b3f8 implement sole tile maximization option
removes screen gap and tile border if there's only one tile on the screen
2019-01-24 16:36:36 +09:00
Eon S. Jeon
557a922172 regression: commit changes on non-tileable windows 2019-01-24 16:18:59 +09:00
Eon S. Jeon
1e9af8a085 implement Tile.applyGap 2019-01-22 19:02:25 +09:00
Eon S. Jeon
b51f6cf50a regression: arrange after floating 2019-01-22 17:11:25 +09:00
Eon S. Jeon
69772e6827 regress: unset keepBelow/noBorder for floating windows 2019-01-22 16:27:31 +09:00
Eon S. Jeon
b06e170e10 refactor: fix Tile interface 2019-01-22 07:20:54 +09:00
Eon S. Jeon
4a526a6a76 remove tile jiggling hack
This became obsolete as window freezing problem is mostly solved by delaying
tile size enforcement.
2019-01-22 06:37:55 +09:00
Eon S. Jeon
0ce1908b70 regression: don't bind events for ignored windows 2019-01-22 05:17:47 +09:00
Eon S. Jeon
485fd9bb67 prevent duplicated geometry change event 2019-01-22 05:08:18 +09:00
Eon S. Jeon
4bfc1a8f2d implement Tile.toString 2019-01-22 04:48:28 +09:00
Eon S. Jeon
e072eff7d6 refactor: split event logic to TilingContoller
* Splits event handling logic in `KWinDriver` into `TilingController`.
 * Update signal connection logic accordingly. (`engine` -> `control`)
 * These feature are removed while refactoring:
   - jiggle: this hack is not needed anymore.
   - `TilingEngine#arranging` flag: nested `arrange` call does not happen
     anymore.
 * Minor naming changes
2019-01-22 04:41:30 +09:00
Eon S. Jeon
2e8e15cb4f regression: fix tile removal failure 2019-01-21 17:58:46 +09:00
Eon S. Jeon
8c096f17ed mount project directory to test container 2019-01-21 17:24:44 +09:00
Eon S. Jeon
bbed477ea8 add interfaces.ts 2019-01-21 17:14:28 +09:00
Eon S. Jeon
2f8eee0e13 add docker test environment builder script 2019-01-21 04:00:51 +09:00
Eon S. Jeon
94bf9f7c53 refactor: definition files under extern/ 2019-01-21 00:20:12 +09:00
Eon S. Jeon
323d33beb9 refactor: LayoutStorage to LayoutStore 2019-01-20 21:12:29 +09:00
Eon S. Jeon
93be357bd6 refactor: Tile abstracts KWin.Client
* `Tile` is created in and registered to `Driver`
 * `Driver` keeps a mapping from string representation to `Tile`
 * `Engine` still keeps the list of tiles for ordering.
2019-01-20 21:00:03 +09:00
Eon S. Jeon
0f8b4edaf2 detailed client resize/move event 2019-01-18 17:13:18 +09:00
Eon S. Jeon
32154d4f4e cleanup signal binding logic
- `windowShown` signal disconnection
 - `onClientChanged` for handling general rearranging signasl
2019-01-17 02:36:47 +09:00
Eon S. Jeon
00a44f2b0c update years in copyright notice 2019-01-16 14:29:42 +09:00
Eon S. Jeon
b1ca95c3f6 split LayoutStorage into a separate file 2019-01-16 14:23:05 +09:00
Eon S. Jeon
3e7bdc3f7a remove unnecessary 1 px shift in tiling layout
The shift caused unwanted 1 px gap b/w master and stack.
2019-01-03 11:38:12 +09:00
Eon S. Jeon
050575c9d2 refactor tile stakcing logic
This specific logic can be reused in other layouts, which will be
implemented soon(?)
2019-01-03 04:31:04 +09:00
Eon S. Jeon
c9d2b9e851 do not apply layout if there's no tiles 2019-01-02 21:29:46 +09:00
Eon S. Jeon
841c540984 allow moving focus when focusing ignored window 2019-01-02 19:12:22 +09:00
L1Q
db0754ffb7
Fix a typo
titel -> title
2018-12-27 05:01:32 +02:00
Eon S. Jeon
7c54d59764 fix regression: size enforcement blocks fullscreen
If an application tries to enable fullscreen for its window, KWin fires up
`geometryChanged` signal before `fullScreenChanged`. This, after 10ms, returns
the window back to its original position.
2018-12-26 17:26:59 +09:00
Eon S. Jeon
c2576c19d6 fix regression related to floating
un-floating tile threw it back to previous window
2018-12-25 22:19:51 +09:00
Eon S. Jeon
4a485dba6e add instruction for installing KWin script package 2018-12-24 21:36:27 +09:00
Eon S. Jeon
9f0ec52613 bump version number to 0.3 2018-12-24 21:20:50 +09:00
Eon S. Jeon
36c97226d1 distinguish QByteArray from string
there was a type safety issue during development.
2018-12-24 20:55:42 +09:00
Eon S. Jeon
b631f44ab4 fix stupid regression
- I'll just call it a stupid regression, becuase it is.
2018-12-24 20:31:01 +09:00
Eon S. Jeon
75e4151c5c delayed enforcement of tile geometry
- the behaviour remains the same as before, but prevents windows
   from freezing by delaying geoemtry commit
 - would likely resolve issue #16 too
2018-12-24 18:49:11 +09:00
Eon S. Jeon
cfa9a38bb6 better debugging message for Engine.arrange 2018-12-24 14:05:51 +09:00
Eon S. Jeon
7d5ea74cea fix source code wildcard pattern 2018-12-24 13:52:37 +09:00
Eon S. Jeon
b5cc33e764 prevent concurrent rearrangement
- add a flag to protect the critical area
 - possible fix for issue #16
2018-12-19 08:36:48 +09:00
Eon S. Jeon
cb7f96837b fix unit size computation
include padding(title + border) size in unit factor computation
2018-12-19 08:17:03 +09:00
Eon S. Jeon
7ebfe76d47 float tiles as soon as manually moved/resized.
- there was a race condition b/w moveResizeChanged and screenChanged
- screenChanged signals for floating tiles are effectively ignored
2018-12-18 20:36:44 +09:00
Eon S. Jeon
d249ea6386 add debug printing option 2018-12-18 20:14:06 +09:00
Eon S. Jeon
b9fb00ae90 adjust tile geometry whenever it is updated 2018-12-18 19:47:36 +09:00
Eon S. Jeon
8023304921 Add issue templates 2018-12-17 16:28:10 +09:00