Commit Graph

878 Commits

Author SHA1 Message Date
Eon S. Jeon
a3d0ed981c implement Window.context 2019-02-21 10:26:48 +09:00
Eon S. Jeon
81a2a4f3a0 simplify activity name retrieval inside KwinContext
No need to build a separate mapping inside `Driver`. `KWinContext` is a
part of driver layer, so let's just access `activityInfo` QML object
directly.
2019-02-21 10:13:54 +09:00
Eon S. Jeon
2ffbe74669 refactor: adjust names related to Context class 2019-02-21 10:02:37 +09:00
Eon S. Jeon
dec01eed74 replace term "tile" w/ "window" 2019-02-21 09:51:53 +09:00
Eon S. Jeon
cbc1b6ab06 bump version number to 0.5 2019-02-18 15:55:19 +09:00
Eon S. Jeon
b979fc3574 move setLayout to LayoutStore 2019-02-15 19:41:59 +09:00
Eon S. Jeon
cddec7d4ec Context.includes should also check screen 2019-02-15 14:02:37 +09:00
Eon S. Jeon
378fae3d65 simplify Tile class interface
* replace `toggleFloat` with `float` setter
 * remove `isGeometryChanged` - too simple
 * remove one-shot properties by moving filtering into `Tile`
   (`className`, `modal`, `title`, `special`, `utility`)
 * reorder members
2019-02-15 14:00:28 +09:00
Eon S. Jeon
42c946551e implement activity ID to name translation
* Necessary to implement #23
 * Tried `DataEngine` method, but was unreliable.
2019-02-15 02:38:18 +09:00
Eon S. Jeon
33ce8cae54 split context information into Context 2019-02-15 01:19:58 +09:00
Eon S. Jeon
8b1e607d17 bugfix: quarter layout multi-screen bug
include XY-coord of the area in calcuation.
2019-02-14 16:34:38 +09:00
Eon S. Jeon
97e08fc580 add DataSource definition 2019-02-12 08:54:19 +09:00
Eon S. Jeon
f7ab98778c option for ignoring activity and screen
* ignore screen with screen id
 * ignore activity with **activity id**
   - need to implement activity id -> activity name mapping
2019-02-12 08:54:19 +09:00
Eon S. Jeon
40d8975611 regression: fullscreeen kept below in some cases 2019-02-12 08:53:00 +09:00
Eon S. Jeon
2f3b91adf6 regression: keep floating windows over tiled ones 2019-02-12 03:40:24 +09:00
Eon S. Jeon
52cd58396d uppercase constant variables 2019-02-11 18:46:07 +09:00
Eon S. Jeon
3ef7b89a3f Tile class refactor
* rather minor changes to ensure separation b/w layers
 * prevent direct access
   - make `client` private
   - add new properties to `Tile`
 * move client activation from driver to `Tile`
 * remove unused functions
2019-02-11 18:19:00 +09:00
Eon S. Jeon
1101284321 simplify isEnabled into enabled property 2019-02-11 03:13:21 +09:00
Eon S. Jeon
1129b6a6e6 ignore/float windows by matching title string
* dumb substring match on window title
 * implements user suggested feature (#23)
2019-02-11 02:29:24 +09:00
Eon S. Jeon
7282e32073 organize config UI
* split gap settings into a new tab
 * rename & re-label some widgets
 * remove superficial tab index info
2019-02-11 01:30:57 +09:00
Eon S. Jeon
4673135436 implement monocle maximization option
* When enabled, always maximizes tiles in monocle layout
 * implements user suggestion (#28)
2019-02-10 19:35:38 +09:00
Eon S. Jeon
241a9445b9 make ILayout.handleUserInput optional 2019-02-10 19:16:05 +09:00
Eon S. Jeon
b85b34c89a add option for Quarter layout 2019-02-10 18:59:50 +09:00
Eon S. Jeon
518a21db9a disable keepBlow of soft-float tiles in quarter 2019-02-10 17:54:48 +09:00
Eon S. Jeon
f1f125a40b soft-float tiles in quarter layout
Instead of force-floating extra tiles, set their geometries to their
`floatGeometry`. This doesn't mess up other logic.
2019-02-10 17:16:37 +09:00
Eon S. Jeon
8c72bf3b5c apply gaps in QuarterLayout 2019-02-09 07:58:36 +09:00
Eon S. Jeon
6c777ca789 float excessive tiles in QuarterLayout 2019-02-09 07:58:36 +09:00
Eon S. Jeon
ad84060233 implement QuarterLayout.adjust 2019-02-09 07:58:36 +09:00
Eon S. Jeon
1ae5b204ca implement basic QuarterLayout 2019-02-09 07:58:36 +09:00
Eon S. Jeon
3817cfc559 refactor: re-split applyResizeIncrement 2019-02-08 18:53:17 +09:00
Eon S. Jeon
5b0952fcea fix debug print messages 2019-02-08 16:34:58 +09:00
Eon S. Jeon
7a3f111098 add relative timestamp to debug prints
(NOTE: keep it relative to protect user privacy)
2019-02-08 14:46:18 +09:00
Eon S. Jeon
9e750b172e adjust size before enforcing geometry 2019-02-07 15:04:38 +09:00
Eon S. Jeon
e2c2afe080 disregard window border size if tile has no border 2019-02-07 14:36:56 +09:00
Eon S. Jeon
e9bea92135 bugfix: weird gap in Tile layout (#26) 2019-02-06 18:31:39 +09:00
Eon S. Jeon
31a7f30de9 regression: adjust geometry when updated 2019-02-06 18:14:27 +09:00
Eon S. Jeon
e71d58ad47 do not adjust Tile layout if no stack 2019-01-31 22:35:44 +09:00
Eon S. Jeon
7c0a8637f1 designate tab order in config.ui 2019-01-29 16:49:57 +09:00
Eon S. Jeon
c8bddea422 increase height of config.ui 2019-01-29 16:47:15 +09:00
Eon S. Jeon
70961870f8 regression: missing parens in screen gap calc 2019-01-29 15:53:00 +09:00
Eon S. Jeon
440dff82a5 readonly Tile.client 2019-01-29 15:52:21 +09:00
Eon S. Jeon
1086a4b6e8 make Rect immutable
This eliminates the need for `Tile.setGeometry*` methods.
2019-01-29 15:52:21 +09:00
Eon S. Jeon
54f9470af0 remove interfaces.ts, leftover from refactoring 2019-01-29 15:52:21 +09:00
Eon S. Jeon
01da0d014e bump version number to 0.4 2019-01-29 15:51:40 +09:00
Eon S. Jeon
530ca22f1b update user documentaion
I'm pretty sure I wasn't having enough sleep during those days. lol
Such verbosity.
2019-01-28 16:05:16 +09:00
Eon S. Jeon
4a7c4b1986
Fix a typo in README.md
Merged pull request #19 from L1Q/patch-1
2019-01-28 14:55:11 +09:00
Eon S. Jeon
7638543a19 make it harder to float tile by moving it
* Tile will become float if moved by more than 30 px
 * Removed `arrangeCount` hack due to logical collision
2019-01-28 14:46:49 +09:00
Eon S. Jeon
4949d43a35 bugfix: TileLayout.masterRatio precision error
precission error in `masterRatio` was preventing ratio update.

i.e. Once `masterRatio` becomes 0.6 + epsilon, `slice(-0.5)` can't go below
0.6, since the value is already bigger than 0.6.
2019-01-28 05:02:27 +09:00
Eon S. Jeon
b9dbe76e73 ignore manual resizing instead of floating client 2019-01-27 19:07:59 +09:00
Eon S. Jeon
3f0d4be581 add option mouseAdjustLayout 2019-01-27 19:03:09 +09:00