Commit Graph

878 Commits

Author SHA1 Message Date
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
Eon S. Jeon
61e00f0147 assign QRect to geometry of floating tiles
The same reason as commit 87d9683.
2018-12-12 13:07:07 +09:00
Eon S. Jeon
87d96833b8 assign QRect to client.geometry
Instead of updating fields of `client.geometry` one by one, assign a
whole new `QRect` instance. This prevents race condition caused by a
series of partial updates.

Addresses bug #13.
2018-12-12 08:33:39 +09:00
Eon S. Jeon
0c36785851 implement jiggleTiles option
- jiggles tiles when desktop is switched.
 - a workaround for bug #12, where clients ocasionally fail to re-render.
 - this feature is a brutal hack, thus is disabled by default.
2018-12-09 19:07:12 +09:00
Eon S. Jeon
db66747ea3 separate Qt definition file 2018-12-09 18:07:08 +09:00
Eon S. Jeon
a61ca5437e add/remove debug messages 2018-12-09 15:41:45 +09:00
Eon S. Jeon
a460006d0b fix window class rule regression bug 2018-12-09 13:29:50 +09:00
Eon S. Jeon
00c0891813 refactor Tile 2018-12-09 13:16:28 +09:00
Eon S. Jeon
77ed39b327 parametrized Engine::setMaster 2018-12-08 23:34:15 +09:00
Eon S. Jeon
97f3226565 update README (Set Master, Window to Screen) 2018-12-08 10:25:47 +09:00
Eon S. Jeon
e8ef825d7e support moving windows b/w screens
- correctly handle related KWin features:
   * `Window to Next Screen`
   * `Window to Previous Screen`
2018-12-08 10:05:35 +09:00
Eon S. Jeon
ab6ddf7f3b Config in a separate file 2018-12-08 02:45:40 +09:00
Eon S. Jeon
687943f10c split layout.ts 2018-12-08 01:46:38 +09:00
Eon S. Jeon
a82f86fdc2 automatically compile all TS files 2018-12-08 01:44:28 +09:00
Eon S. Jeon
6b40e423f1 code cleanup
- remove expired TODOs
 - sorting and grouping parts
 - simplify geometry value assignment
2018-12-08 01:10:55 +09:00
Eon S. Jeon
9a987e1447 add keybindings for existing layouts
- implements the feature suggested by user (#5)
2018-12-07 16:52:00 +09:00
Eon S. Jeon
168e75c656 optional data parameter for user input handling 2018-12-07 16:51:21 +09:00
Eon S. Jeon
a164d8c102 add option "Remove borders of tiled windows"
- sets `noBorder` for tileables
 - adds user option `noTileBorder`
 - implements a feature suggested by user in #8
2018-12-07 12:16:50 +09:00
Eon S. Jeon
2d4e1132df add AUR shield to README 2018-12-07 11:43:16 +09:00
Eon S. Jeon
68b7df3296 auto-float utility windows
- tests if window type is any of dialog, splash, and utility.
 - adds user option `floatUtility`.
- implements the feature suggested by user in #7
2018-12-06 18:36:32 +09:00
Eon S. Jeon
9e1f54559b configure screen gap per side
implements user suggestion #4
2018-12-06 03:47:49 +09:00
Eon S. Jeon
218631c4bf bump version number to 0.2 2018-12-05 22:29:24 +09:00
Eon S. Jeon
6bab433642 increase spinbox maximum value in config.ui 2018-12-04 11:59:59 +09:00
Eon S. Jeon
fcdd1c5f5f a note regarding keepAbove/Below for fullscreen
KWin currently keeps fullscreen windows on the top, regardless of
keepAbove/Below settings.

I initially wanted to allow other tiled windows to appear when user switches
out of fullscreen windows, but, since KWin ignores those values, it's
impossible to show other windows over fullscreen windows.
2018-12-04 09:36:09 +09:00
Eon S. Jeon
2c8bee79cb add features section to README 2018-12-04 08:38:44 +09:00
Eon S. Jeon
dcd2bcb2ae clean up indentation in README.md 2018-12-02 23:15:23 +09:00
Eon S. Jeon
3807263c97 limiting max/min window size
This is more like a piece testing code, since it's not verified, yet it
likely will prevent some window-breaking resizes.
2018-12-02 23:07:18 +09:00
Eon S. Jeon
00592e2744 do not resize un-resizeable windows 2018-11-23 16:07:17 +09:00
Eon S. Jeon
aa1209ccfd move screenshot.png to img/ 2018-11-19 16:10:26 +09:00
Eon S. Jeon
fa15f51e4f explain how to enable script configuration 2018-11-19 16:09:26 +09:00
Eon S. Jeon
db72a15b1d implement general screen gaps 2018-11-19 15:50:07 +09:00
Eon S. Jeon
12bcb25295 implement tile gaps in Tile layout 2018-11-19 15:46:02 +09:00
Eon S. Jeon
865ff063b6 add more ignoreClass 2018-11-19 07:31:19 +09:00
Eon S. Jeon
38bb5268bb rebuild when debug.ts changes 2018-11-19 07:30:41 +09:00
Eon S. Jeon
cf7836d0cc rearrange when client "activities" is changed.
User can change on which activities a client will show up, and this commit
triggers `arrange` whenever it happens.
2018-11-19 07:30:08 +09:00
Eon S. Jeon
611dfa867e add 'yakuake' to ignoreClass.
This is both a test and a change.
2018-11-19 06:37:19 +09:00
Eon S. Jeon
f3bf68b26a fix invalid default configs 2018-11-19 06:29:46 +09:00
Eon S. Jeon
099f64525c auto-float modal windows 2018-11-19 05:10:36 +09:00
Eon S. Jeon
0c1229b2f3 stop setting keepAbove for floating windows 2018-11-19 05:06:59 +09:00
Eon S. Jeon
39015a4aa6 clean up messy Rect, QRect definitions 2018-11-17 22:51:24 +09:00
Eon S. Jeon
3220129d81 move debugging stuffs out of common.ts 2018-11-17 21:10:16 +09:00
Eon S. Jeon
fddb4cccad move Config to common 2018-11-17 20:19:00 +09:00