Commit graph

129 commits

Author SHA1 Message Date
Ivailo Monev
b447c353a7 kdeui: log error in case neither of the KCrash flags is set
since any message type can be set to log via syslog() that may be the only
way to know when a program without interface (such as service) crashes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 04:23:05 +02:00
Ivailo Monev
ef0dd41a12 kdeui: do not assume XDisplayString() and getenv() return non-null
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 00:45:26 +02:00
Ivailo Monev
aa6b5ea4f0 kinit: klauncher and KCrash rewrite
much simpler and easier to maintain, also it will be proper D-Bus
service now with no sockets, process title hack and whatnot. KCrash
and startkde script (in kde-workspace repo) have to be adjusted for
it tho

note that the internal KIO scheduler already has the functionality to
put slaves on hold but now they will be started as detached process.
eventually they may become plugins (they are loaded as such by kioslave
program) without event loop dispatcher

fixes application startup notification (ASN) and cleanup issues

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-04 23:20:15 +02:00
Ivailo Monev
b7e58ab6e8 kdeui: replace tab with space in KPassivePopup::setPopupStyle()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-22 23:15:33 +02:00
Ivailo Monev
ce11071465 kdeui: tune KSelectionOwner check time
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-16 03:48:33 +02:00
Ivailo Monev
118be95512 kdeui: pass the screen root window to NETWinInfo constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 16:49:00 +02:00
Ivailo Monev
cf78624887 kdeui: add new KSelectionOwner::currentOwnerWindow() method to query the current selection owner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 07:29:15 +02:00
Ivailo Monev
8ea7b7bfbc kdeui: do not automatically release the selection when it is lost
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 07:21:45 +02:00
Ivailo Monev
97d6e7cd5f kdeui: send SIGKILL and SIGTERM from KSelectionOwner::claim(), fallback to XKillClient()
because xcompmgr does not watch its selection properly, killing is safe bet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 06:53:23 +02:00
Ivailo Monev
40ad0ba5ac kdeui: pass the current owner to kWaitForOwner() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 03:02:41 +02:00
Ivailo Monev
6b0375f64f kdeui: wait for owner after killing it in KSelectionOwner::claim()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 04:35:24 +02:00
Ivailo Monev
e8e1d7c908 kdeui: enable KSelectionOwner debug and warning messages
with the QDebug rewrite they no longer cause KWin crashes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 01:57:27 +02:00
Ivailo Monev
9b41127ecb generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-13 00:40:18 +02:00
Ivailo Monev
a5ad00dcf8 kdeui: pass the display to KXErrorHandler from KSelectionOwner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 21:39:59 +02:00
Ivailo Monev
8d8db4e3c6 kdeui: use unique connection to X11 display from KSelectionOwner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 15:19:03 +02:00
Ivailo Monev
0af76ed8a1 kdeui: set the selection window mask to NoEventMask
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 13:56:53 +02:00
Ivailo Monev
65e719b17b kdeui: comment out some KSelectionOwner debug messages
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 00:50:14 +02:00
Ivailo Monev
3e973ba64b kdeui: KPixmap assignment operator optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-10 00:40:02 +02:00
Ivailo Monev
effe9ef889 kdeui: use the new QPixmap::toX11Pixmap() method in KPixmap
altought KPixmap is used mostly for pixmaps with depth equal to 32 not
being able to convert pixmaps with other depth may be a surprise so use
QPixmap::fromX11Pixmap() in KPixmap::toImage() just in case

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 20:02:39 +02:00
Ivailo Monev
b63686e9d0 generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 04:43:56 +02:00
Ivailo Monev
49c47bf850 kdeui: add comments about values passed to X11 functions in kpixmap source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 01:52:33 +02:00
Ivailo Monev
28ae883aeb kdeui: KPixmap from QPixmap constructor optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 01:40:39 +02:00
Ivailo Monev
b9169a25a5 kdeui: KPixmap::toImage() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 01:10:33 +02:00
Ivailo Monev
a4c80f09d2 kdeui: log KPixmap and KSelectionOwner debug/warning messages to the kdeui (kdelibs) debug area
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 02:28:14 +02:00
Ivailo Monev
a5734faf0f kdeui: new KPixmap class
very much written for use case, not to make sense. while porting to it I
already noticed there are leaks for X11 pixmaps and may have to write
glue code to keep track of the pixmaps and release them before
application quits, that will be a huge performance penalty tho so may
have to be ifdef'ed for debug builds only

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 02:08:27 +02:00
Ivailo Monev
6b7cd4e1e4 kdeui: remove redundant selection clearing in KSelectionOwner::release()
if both the destroy and selection clearing are delivered (in that order) to
selection poller, the poller selection may be cleared

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 11:27:11 +02:00
Ivailo Monev
7baf0c9d61 kdeui: catch X11 errors during selection owner window creation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 08:14:33 +02:00
Ivailo Monev
081477c628 kdeui: do not attempt to kill timer with 0 as ID in KSelectionOwner::release()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 08:05:15 +02:00
Ivailo Monev
cdc18e2e52 kdeui: remove unused QTimer header inclusion in kselectionowner source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 06:12:58 +02:00
Ivailo Monev
a6367dede7 kdeui: brief KSelectionOwner documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 06:12:37 +02:00
Ivailo Monev
491dc6383a kdeui: simplify selection claiming
using XSetSelectionOwner() to do it works like a charm

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 20:11:20 +02:00
Ivailo Monev
7f3719e3c0 kdeui: make KSelectionOwner::claim() and KSelectionOwner::release() public slots
now they can be connected to signals such as QCoreApplication::aboutToQuit()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 17:17:05 +02:00
Ivailo Monev
a6165ed19b kdeui: simplify selection window creation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 16:58:35 +02:00
Ivailo Monev
554751c76e kdeui: use timer event for ownership check in KSelectionOwner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 12:24:51 +02:00
Ivailo Monev
6b7c8d12bb kdeui: catch X11 errors in KSelectionOwner::_checkOwnership()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 11:14:15 +02:00
Ivailo Monev
75e94cc39f kdeui: send SelectionClear X11 event first, then destroy the window if that does not work
destroying the window works for KWin but not for Openbox for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 10:52:13 +02:00
Ivailo Monev
c2a98d4c5d kdeui: KSelectionOwner rewrite
natural selection - kill or be killed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 12:44:07 +02:00
Ivailo Monev
4a371cc21e Revert "kdeui: remove bogus --kdeinit argument passing from KCrash::defaultCrashHandler()"
This reverts commit a375907865.
2022-11-03 09:54:41 +02:00
Ivailo Monev
75c23a2bb8 kdeui: check if kapp pointer is valid in KSelectionOwner destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-03 08:34:44 +02:00
Ivailo Monev
6377634ce2 kdeui: remove KSelectionOwner from the KApplication X11 event filters in its destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-03 07:53:29 +02:00
Ivailo Monev
a7fc6cd735 kinit: rename exec command definitions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 08:55:13 +02:00
Ivailo Monev
a375907865 kdeui: remove bogus --kdeinit argument passing from KCrash::defaultCrashHandler()
it was ment for kdeinit wrappers but they do not supports such argument

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 08:18:29 +02:00
Ivailo Monev
91fd8f3fde kdeui: correct indentation in KCompletion::nextMatch()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 06:50:42 +02:00
Ivailo Monev
697834865a kdeui: format and indent kmanagerselection source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-29 07:05:59 +03:00
Ivailo Monev
7a52005d1e kimgio: new TIFF plugin
the only reason I wrote this plugin is because some RAW images (e.g.
image/x-canon-cr2) are essentially TIFF and LibRaw cannot open those

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-28 00:59:34 +03:00
Ivailo Monev
d9ccab2651 generic: remove reference to default debug area
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-23 00:10:46 +03:00
Ivailo Monev
081ab70b04 kimgio: ICO image format write support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 14:58:37 +03:00
Ivailo Monev
c7633132a8 kdeui: remove obsolete KXMessages method arguments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 04:13:39 +03:00
Ivailo Monev
92f104fc52 kdeui: format and indent kxmessages source and header files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 03:36:22 +03:00
Ivailo Monev
4abe5fe215 kdeui: zero-initialize the buffers in KXErrorHandler::errorMessage()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-19 02:31:20 +03:00