summaryrefslogtreecommitdiffstats
path: root/twin/client.cpp
Commit message (Collapse)AuthorAgeFilesLines
* twin: better rules when to set custom_opacity flagAlexander Golubev2026-02-131-4/+17
| | | | | | | | | | | | | | This patch implements next peaces of logic: - If opacity is not completely opaque by default, changing it to opaque won't result it resetting the flag anymore. - Also in such a case the X11 property will be set for completely opaque windows as well. That way we can restore it in case of WM restart. - On WM initialization we check if the X11 opacity property has value we would expectto be left behind by previous WM instance and if it does we won't set the custom_opacity flag. Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit 04b43be9b261f36edc4b0300a9784ec5dcbe1c52)
* twin: treat keepAbove() windows exactly as activeAlexander Golubev2026-02-131-4/+2
| | | | | | | | | | Before this the keepAbove() windows were always completely when inactive regardless whether active windows have some degree of translucency or not. But as prompt in the config says they should be just treated as active. Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit 97e3bd0ca6cdc58c1915038eaf28822a60d0206e)
* twin: refactor Client::updateOpacity() and associated stuffAlexander Golubev2026-02-131-137/+66
| | | | | | | | | | | * deduplicate big chunk of code in updateOpacity() * move logic to get desired opacity according to rules into a dedicated function (defaultOpacity()). * Replace floating point arithmetics with pure integer one in function associated to converting to/from percents. Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit 7a5b6c55a2f750986ede116b8f09bda2588de3a9)
* twin: fix translucency for inactive windowsAlexander Golubev2026-02-131-5/+0
| | | | | | | | | | | | | | Because of this old workaround translucency for inactive windows were not applied correctly: they were almost always using translucency settings for active windows. I don't see any regressions caused by removing it and I can't reproduce the original bug[1]. [1]: http://bugs.trinitydesktop.org/show_bug.cgi?id=2220 Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit 264f1faae9d684b38b3c3fea27912a153546e8b9)
* twin: set opacity to be fully opaque by defaultAlexander Golubev2026-02-131-1/+1
| | | | | | | | | | | | Also set window's opacity after it's getting managed by twin. This resolves issue with windows that don't require input get transparent after move/resize. Bug: https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase/issues/698 Closes: https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase/issues/699 Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit da7db78bfe13860fe8d63654ed4c3427f14f373c)
* Use True/False values for X11 API callsAlexander Golubev2026-01-081-2/+2
| | | | | | | | | | During discussion it was decided that it would be better to use more traditional constants for True/False in X11 calls after all. This effectively fixes-up the changes made by e8fcdbfe9. Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit c7d8ac7d97ca9e593be1851ac1cfe4953e545d40)
* Replace TRUE/FALSE with boolean values true/false [2]Alexander Golubev2026-01-021-2/+2
| | | | | | | | | | | X API calls for some reason were missed in previous commits. Note: Traditionally X Api uses "True" and "False" definitions, but for consistency with the rest of code base it would be better to use modern counterparts. Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit e8fcdbfe90d505ea5c8092915abaa07d08422886)
* Replace TRUE/FALSE with boolean values true/falseMichele Calgaro2025-05-271-37/+37
| | | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 0a439ac80bdf6ffb9cac104ad3098a321ee0403c)
* Use new TQ_METHOD, TQ_SIGNAL, TQ_SLOT definesMichele Calgaro2024-01-161-9/+9
| | | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit a4241b7911d2e0b36edfb02f616b8b282050c0ec)
* twin: use separate bit to inhibit configure request messages. This resolves ↵Michele Calgaro2023-12-131-1/+2
| | | | | | | issue #434. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit f5bdd235fc583f6674581df993165b9e7ae8774c)
* Fix unwanted window resizing. This resolves issue TDE/tde#57.Michele Calgaro2023-11-261-0/+9
| | | | | | | Some applications (like xfce4-terminal) try to manage their sizes by requesting the window manager a different size. The WM responds by resizing the window and the application tries once again to adjust its own size. This can lead to a repeated loop of request-resize which results in the application window to either shrink to the minimum allowed size or expand to the display size. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit a9bd5b50e9b77b8b360dd3620013a320733139aa)
* Replaced various '#define' with actual strings - part 3Michele Calgaro2023-11-251-2/+2
| | | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 36f2e08fd382c7042fbd3c8e7708f3ba1b9c9bd7)
* Replaced time related '#define' with actual stringsMichele Calgaro2023-11-231-8/+8
| | | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 81ad1f9e3c9d494edc38a7aad96fdcab9d44a795)
* Replace various tq* strings with TQt::* equivalentsMichele Calgaro2023-11-211-6/+6
| | | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 100f977221b7319815eb9617f56a067cb0383853)
* Replace QObject, QWidget, QImage, QPair, QRgb, QColor, QChar, QString, ↵Michele Calgaro2023-09-251-3/+3
| | | | | | | QIODevice with TQ* version Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 33c7d159890b81da8f44ee330a349e3abd553bec)
* twin: Minor code cleanup and refactoringMavridis Philippe2023-07-101-38/+38
| | | | | | | Refactoring concerns active border code. Signed-off-by: Mavridis Philippe <mavridisf@gmail.com> (cherry picked from commit 0339423ced3db53f9155c6c174d9508517358f9c)
* TWin: Active borders and snap tilingMavridis Philippe2023-05-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | This commit is a squash of the commits of TDE/tdebase#331. In short, this backports some improvements to existing electric border functionality from KDE, adds the snap tiling (or aerosnap) feature and brings rudimentary support for active corners, which will be fully implemented in a later PR. The options dialog and the documentation has been updated to reflect these changes. Additionally, a new relevant option is introduced: an option for restoring the original size of maximized/tiled windows when the user starts dragging them. The option is set to be off by default, preserving the traditional behaviour of KDE 3.x/TDE. Last but not least, the term "electric" in relation to borders and corners is replaced by "active" for clarity to the users. Signed-off-by: Mavridis Philippe <mavridisf@gmail.com> (cherry picked from commit 31335a04ed9bc01fd3ede33afde40d6f3359f2e9)
* SunOS specific patchesDenis Kozadaev2023-05-231-0/+29
| | | | | Signed-off-by: Denis Kozadaev <denis@dilos.org> (cherry picked from commit 4d58a4ea8daf1a3cb91b7d8c6e574dd6f5bdb685)
* Removed explicit usage of the 'register' keyword.Michele Calgaro2020-01-301-1/+1
| | | | Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
* Fix FTBFS with GCC7François Andriot2017-07-231-2/+2
| | | | Signed-off-by: François Andriot <francois.andriot@free.fr>
* Fix window control issues introduced in GIT hash 17b142ddTimothy Pearson2014-11-301-2/+5
| | | | This relates to Bug 2220
* Send setActive signal when taking focus in Client::takeFocusTimothy Pearson2014-11-291-4/+8
| | | | | This relates to Bug 2189 Clean up minor formatting issues
* Call setActive if new focus window is found and set when rotating focus to ↵Timothy Pearson2014-11-211-4/+2
| | | | | | next available window This resolves Bug 2189
* Fix remnant QMIN/QMAX to TQMIN/TQMAX.Darrell Anderson2013-11-281-2/+2
|
* Rename additional header files to avoid conflicts with KDE4Timothy Pearson2013-02-151-1/+1
|
* Rename KStandard for enhanced compatibility with KDE4Timothy Pearson2013-01-311-2/+2
|
* Rename KGlobal, KProcess, and KClipboard to avoid conflicts with KDE4Timothy Pearson2013-01-241-8/+8
|
* Unset/set NETWM shading state around minimizingSlávek Banko2012-12-221-1/+7
| | | | Based on KDE GIT commit 8a02a383
* Use TQFile object to read PID instead of standard C++ file functionsTimothy Pearson2012-07-251-38/+27
|
* Rename additional global functions and variables for tqt3Timothy Pearson2012-03-021-79/+79
|
* Rename additional global TQt functionsTimothy Pearson2012-03-011-11/+11
|
* Fix incomplete commits 98ead41b and 678bea5bTimothy Pearson2012-02-231-2/+31
|
* Add suspend/resume support for twin managed applicationsTimothy Pearson2012-02-201-4/+95
|
* Update twin with initial framework for application suspend/resumeTimothy Pearson2012-02-201-0/+118
| | | | This needs some additional work before it can be enabled
* Remove additional unneeded tq method conversionsTimothy Pearson2011-12-191-46/+46
|
* Revert "Rename a number of old tq methods that are no longer tq specific"Timothy Pearson2011-12-161-46/+46
| | | | This reverts commit 73c08b592db45af554b9f21029bc549d70f683ab.
* Rename a number of old tq methods that are no longer tq specificTimothy Pearson2011-12-151-46/+46
|
* Rename kwin to twin (Part 2 of 2)Timothy Pearson2011-11-071-0/+2845