Commit Graph

471 Commits

Author SHA1 Message Date
Eon S. Jeon
a86701a077 configurable HJKL behavior (dwm <-> focus) 2020-01-10 04:07:21 +09:00
Eon S. Jeon
376d9b5038 implement generalized focus-to-direction
This commit implements only the function and internal binding.
2020-01-10 03:15:46 +09:00
Eon S. Jeon
10712d27aa auto-switch desktop when layout is full (#22) 2020-01-06 08:52:08 +09:00
Eon S. Jeon
5c341909fa bugfix: floating window cause resize malfunction
Layout#adjust is supposed to be receive a list of tileabled, but was
getting all visible winodws instead. A blind spot in the type system.
2020-01-06 05:56:00 +09:00
Eon S. Jeon
a7e2325035 regress: enforce size of FullTile
Should avoid directly testing state equality, and, instead, should test
state properties.
2020-01-06 04:30:24 +09:00
Eon S. Jeon
c756051334 make KWinTimerPool less verbose
it prints only when a new QQMLTimer is created.
2020-01-05 14:51:18 +09:00
Eon S. Jeon
4190563ce2 make mouse polling optional (KWin-specific) 2020-01-05 14:43:48 +09:00
Eon S. Jeon
73d22addca swap tiles by dragging w/ mouse 2020-01-05 14:29:36 +09:00
Eon S. Jeon
f2df65e616 normalized weight in TCL#adjust 2020-01-05 10:27:09 +09:00
Eon S. Jeon
595c5bf114 fix group calculation in TCL#adjust 2020-01-05 10:26:51 +09:00
Eon S. Jeon
a14f12572e take account of master size when adjusting TCL 2020-01-05 10:24:24 +09:00
Eon S. Jeon
42e465d5fa add shortcut entry for Quarter layout 2020-01-03 03:13:45 +09:00
Eon S. Jeon
3dc29c65b0 add shortcut entry for Three Column layout 2020-01-03 03:11:09 +09:00
Eon S. Jeon
5da15895f8 add option "enable Three Column layout" 2020-01-03 03:10:09 +09:00
Eon S. Jeon
9d6122e9a4 implement Three-Column layout
this is a clone of TCL patch for DWM.
2020-01-03 02:57:32 +09:00
Eon S. Jeon
c8fded547b remove Column layout
It turns out that column-based operations require lots of state
management, which is strictly against the base architecture.
Fully implementing this layout is almost the same as  re-implementating
a whole new window manager.
2020-01-03 02:55:03 +09:00
Eon S. Jeon
adea910396 de-normalize weights in Column Layout 2020-01-02 16:50:08 +09:00
Eon S. Jeon
364731c262 stack as a normal column in Column layout
this simplifies code a lot.
2020-01-02 15:55:55 +09:00
Eon S. Jeon
80bd2e8445 remove shrink/grow override in Tile layout
no idea why it sliped into there
2020-01-02 11:33:10 +09:00
Eon S. Jeon
3c2bbfb2f4 minor fixes in Window 2020-01-02 11:24:14 +09:00
Eon S. Jeon
c57537bfcb ensure window commit happens only when requested
Committing during window state transition is against abstraction, and
might cause undefined behaviours.
2020-01-02 11:19:15 +09:00
Eon S. Jeon
a690906507 set noBorder based on state, not manually
this fixes a regression bug where noBorder state is messed up.
2020-01-02 11:03:10 +09:00
Eon S. Jeon
661c789ab5 split wrapper management into WrapperMap class 2019-12-31 18:58:30 +09:00
Eon S. Jeon
1ea384a8db merge screen update events
Whatever happens to surfaces, all that is needed is rearrangement.
2019-12-31 16:12:41 +09:00
Eon S. Jeon
b5a8193499 fix type name in KWinSurface#toString 2019-12-31 16:03:51 +09:00
Eon S. Jeon
ce41c799a3 removed fulfilled TODO 2019-12-31 15:56:57 +09:00
Eon S. Jeon
89b4887dab handle focus changing in EngineContext, not Window
This is required to update `currentWindow` field in Krohnkite. KWin
doesn't update its `activeClient` field immediatley, so KWinDriver must
track "new" current windows manually.

(NOTE: tracking is not implemented in this cmomit.)
2019-12-31 09:51:58 +09:00
Eon S. Jeon
73156e13bc tsconfig: don't emit output when error occurs
Sometimes compilation succeeds even w/ errors, and this confuses `make`
and let faulty code get installed.
2019-12-28 23:40:58 +09:00
Eon S. Jeon
66e5e70e36 code cleaning and documentation 2019-12-28 17:44:39 +09:00
Eon S. Jeon
e22001050b prevent re-entry while handling shortcut 2019-12-28 13:54:47 +09:00
Eon S. Jeon
4066112042 print and ignore errors that bubbled up to driver 2019-12-28 13:32:04 +09:00
Eon S. Jeon
4cd8173154 remove unused field timerPool
This is handled by KWinTimerPool
2019-12-28 13:31:28 +09:00
Eon S. Jeon
6a8c87e755 use relative step size for window size adjustment 2019-12-27 15:29:57 +09:00
Eon S. Jeon
9636fb6257 add license header to enginecontext.ts 2019-12-27 14:52:07 +09:00
Eon S. Jeon
3092fd9281 remove unused members of EngineContext 2019-12-27 14:52:07 +09:00
Eon S. Jeon
14e618d18b Rect#gap instead of ad-hoc calculation 2019-12-27 14:52:07 +09:00
Eon S. Jeon
d607c37f35 implement general window resize hotkeys (#27, #36)
This commit implements only the actual function, since the keys were
there already (and misled lots of lots of people...).
2019-12-27 14:49:21 +09:00
Eon S. Jeon
1b725d1092 add argument delta to ILayout#adjust
Deltas are and will be used in every `adjust` implementation, and
injecting delta allows arbitrary adjustment of layout and, thus, window
size.
2019-12-27 14:24:00 +09:00
Eon S. Jeon
c7fee18a10 rename WindowResizeDelta to RectDelta 2019-12-27 14:21:02 +09:00
Eon S. Jeon
da74b3bfea tighten up step type from number to -1 | 1 2019-12-27 12:09:06 +09:00
Eon S. Jeon
7b89c28d3a clarify & distinguish windows, tile, and tileable 2019-12-26 17:08:36 +09:00
Eon S. Jeon
00f67a9b94 regress: setTimeout stopped working
Returning the setTimeout function as a value changes `this` context of
the function, resulting in access failure.
2019-12-26 16:09:10 +09:00
Eon S. Jeon
9c35a302fc make Float All toggle (#43) 2019-12-26 15:39:45 +09:00
Eon S. Jeon
7c5013f6bc remove noisy entry-splitter debug message 2019-12-23 12:48:33 +09:00
Eon S. Jeon
4b7222c586 expose ColumnLayout through config 2019-12-22 15:38:22 +09:00
Eon S. Jeon
d64a11fd70 bugfix: correct column switching clipping
One too many, it was.
2019-12-22 14:52:51 +09:00
Eon S. Jeon
ab9b0f5a82 implement ColumnLayout adjustment 2019-12-21 23:20:25 +09:00
Eon S. Jeon
f119d47a4e make WindowResizeDelta dumb 2019-12-21 21:35:14 +09:00
Eon S. Jeon
c134e60fcd simply LayoutUtils.splitAreaHalfWeighted
This is just a wrapper for splitAreaWeighted now.
2019-12-21 11:55:50 +09:00
Eon S. Jeon
5d5f9521a2 add documentation to ColumnLayout 2019-12-21 00:06:14 +09:00