Commit Graph

869 Commits

Author SHA1 Message Date
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
Eon S. Jeon
18cba1c8d3 respect window resize increment hints
- calculate window size based on increment hint, if available.
- fixes freezing issues with xterm, lxterm, and similar applications
2018-12-17 10:41:19 +09:00
Eon S. Jeon
5caa4e0633 disconnect signals when script is disable
- signals are automatically disconnected when the script is disable
  (either through `KWin Script` or `make unload`)
- prevents old instances from causing race condition and freezes
- addresses issue #16
2018-12-17 06:41:58 +09:00
Eon S. Jeon
faac0df29c remove unnecessary method scope binding 2018-12-17 05:40:45 +09:00
Eon S. Jeon
4ad8707672 manage clients only after being shown
- delay registering tile until client is actually mapped
 - resolves issues related to #14
2018-12-16 12:16:33 +09:00
Eon S. Jeon
e8db3e3020 disable debug output 2018-12-14 12:02:41 +09:00
Eon S. Jeon
af21bb8b96 separate layout per desktop/activity
- update key generation method in `LayoutStorage`
 - add corresponding config options
 - implements feature from #15
2018-12-14 11:14:05 +09:00
Eon S. Jeon
b936cfa434 implement LayoutStorage
- replaces `Screen`-based layout management
2018-12-14 10:14:29 +09:00
Eon S. Jeon
49f1d53a96 improve event debugging 2018-12-13 18:46:38 +09:00
Eon S. Jeon
cf4c2d3d52 fix regression: float moved/resized windows
This is a regression caused by `Tile` refactoring.

The tiles should retain its geometry after moved/resized with mouse.
2018-12-12 13:16:43 +09:00