Re: [Plasma] X11 Support
Cristian S <[email protected]> Tue, 02 Dec 2025 11:02:50 -0700
| Newsgroups | gmane.comp.kde.general |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--------------000508070000040104010700
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta content=3D"text/html; charset=3Dwindows-1252"
http-equiv=3D"Content-Type">
</head>
<body bgcolor=3D"#FFFFFF" text=3D"#000000">
I'm not trying to make this a p*__ing contest.<br>
Actually, my list of 3 items might be helpful, in the sense that,
once you know it, one can then decide to move on and choose to use
other tools, so one does not have to waste their time trying to
split logs with a handle-less axe.<br>
<br>
"clarjon1" said:<br>
"idk, but, it looks like "non-garbage Open-Source" went extinct 19
years ago per your stated metric...."<br>
<br>
BINGO! That's what I'm saying. Well, not exactly 19 years ago, but
more like 13.<br>
<br>
Look, as I said previously, I use Linux as a tool in my daily
activity.<br>
That means, whatever software that is, it SHOULD be EFFICIENT.<br>
And if it's not, I'm not going to lie to myself that it is.<br>
<br>
And about Xdialog, I managed to bring it forward all the way to
Debian Bookworm by adding some shared libraries to the .deb file,
but I think eventually I'm going to just friggin write myself from
scratch a replacement that does the same thing and uses Qt instead
of GTK. I just need to get to the point where I gather a critical
mass of fury...<br>
<br>
It seems to me that KDE, since it concocted this "Plasma" BS, (what
the mama is that supposed to mean anyway? Is it coming from the Sun
or something?) went on the trajectory to a "non-functional Porsche
on a pedestal for viewing" instead of the trajectory to a "sharp
efficient sword for using".<br>
<br>
It may be useful as a wallpaper in a ballroom if you use just the
logo from it, but if you need a light and efficient tool, you will
have to look somewhere else.<br>
<br>
Or, if not, get to work and patch the hell out of it.<br>
<br>
So, if anyone wants something helpful, here's what I did:<br>
<br>
- Ditch the "latest and greatest". NEWER=3DCRAPPIER in 99% of cases
(whether hardware - like the juicy Intel ME backdoor - or software)<br=
>
<br>
- Go back to Debian Buster/Bullseye and
<meta name=3D"qrichtext" content=3D"1">
konqueror_21.04.0-1
<meta http-equiv=3D"Content-Type" content=3D"text/html;
charset=3Dwindows-1252">
<style type=3D"text/css">
p, li { white-space: pre-wrap; }
</style>, dolphin_20.12.1-2, kwin_5.20.5-1
<meta http-equiv=3D"Content-Type" content=3D"text/html;
charset=3Dwindows-1252">
<style type=3D"text/css">
p, li { white-space: pre-wrap; }
</style>.<br>
<br>
- Get the Debian source package for kwin_5.20.5-1, patch using the
attached "kwin_plastik_border_snap.patch" and rebuild. Then open
/usr/share/kwin/decorations/kwin4_decoration_qml_plastik/contents/ui/m=
ain.qml
and for "case DecorationOptions.BorderNone" set
"borders.setBorders(4);" so you can have a sane, non-cretinous
4-pixel visible border. Then use LXDE with KWin as window manager
with the Plastik window decoration.<br>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br>
<!--EndFragment--></p>
<meta http-equiv=3D"Content-Type" content=3D"text/html;
charset=3Dwindows-1252">
<style type=3D"text/css">
p, li { white-space: pre-wrap; }
</style>- Get the Debian source package for konqueror_21.04.0-1, patch
using the attached
<meta name=3D"qrichtext" content=3D"1">
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;"><!--StartFra=
gment-->"konqueror_status_bar.patch"
to eliminate the stupid white-yellowish strip covering the status
bar messages when multiple tabs exist.<br>
</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br>
</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">- Get the
Debian source package for dolphin_20.12.1-2, patch using the
attached "dolphin_filesize_in_bytes+iso_long_date.patch" and
"dolphin_single-click_enforced.patch<!--EndFragment-->". This will
show file sizes in bytes (instead of the idiotic
"kikimimibibigigififi" BS) in Konqueror (and Dolphin, but I don't
use it) and date-time stamps in standard 24h ISO long format
"YYYY-MM-DD hh:mm:ss". Also it will launch items in the file view
with a single click instead of the default and stupidly
non-changeable double-click (also in both Konqueror and Dolphin).</p=
>
<meta http-equiv=3D"Content-Type" content=3D"text/html;
charset=3Dwindows-1252">
<style type=3D"text/css">
p, li { white-space: pre-wrap; }
</style><br>
So here, if my previous message "didn't help", this one definitely
should.<br>
<br>
<br>
<br>
<br>
<div class=3D"moz-cite-prefix">On 12/01/2025 09:13 PM, Richard Troy
wrote:<br>
</div>
<blockquote
cite=3D"mid:[email protected]"
type=3D"cite">
<pre wrap=3D"">I was about to reply to Cristian, "Three words: That =
Didn't Help."
But now it's five:
Neither of you are helping!
Let's NOT fall into a pissing contest, please! "You lose audience."
Accurate? That's opinion. But neither viewpoint is fair, of course.
FWIW, when it comes to people, I try hard to not judge anyone by their=20
worst moment. When it comes to software it's a simpler time-spent vs=20
utility metric.
Richard
=2D-
Richard Troy, Chief Scientist
Science Tools Corporation
510-717-6942
<a class=3D"moz-txt-link-abbreviated" href=3D"mailto:[email protected]=
m">[email protected]</a>, <a class=3D"moz-txt-link-freetext" href=3D"=
http://ScienceTools.com/">http://ScienceTools.com/</a>
I pledge allegiance to We, The People, to mutual peace and harmony, and
to the natural Earth and biosphere upon which We, The People, depend.
</pre>
</blockquote>
</body>
</html>
--------------000508070000040104010700
Content-Type: text/x-patch;
name="kwin_plastik_border_snap.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="kwin_plastik_border_snap.patch"
Description: <short summary of the patch>
TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, th=
e
information below has been extracted from the changelog. Adjust it or dro=
p
it.
.
kwin (4:5.20.5-1) unstable; urgency=3Dmedium
.
* New upstream release (5.20.5).
Author: Norbert Preining <[email protected]>
=2D--
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2025-12-02
=2D-- kwin-5.20.5.orig/placement.cpp
+++ kwin-5.20.5/placement.cpp
@@ -93,7 +93,7 @@ void Placement::place(AbstractClient *c,
else
placeSmart(c, area, nextPlacement);
=20
- if (options->borderSnapZone()) {
+/* if (options->borderSnapZone()) {
// snap to titlebar / snap to window borders on inner screen edge=
s
const QRect geo(c->frameGeometry());
QPoint corner =3D geo.topLeft();
@@ -118,7 +118,7 @@ void Placement::place(AbstractClient *c,
}
}
c->move(corner);
- }
+ } */
}
=20
/**
@@ -474,7 +474,12 @@ void Placement::placeZeroCornered(Abstra
Q_ASSERT(area.isValid());
=20
// get the maximum allowed windows space and desk's origin
- c->move(area.topLeft());
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D PATCH =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+// c->move(area.topLeft());
+ const QRect maxRect =3D area;
+ // place the window
+ c->move(QPoint(maxRect.left(), maxRect.top()));
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D PATCH =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
}
=20
void Placement::placeUtility(AbstractClient *c, const QRect &area, Policy=
/*next*/)
@@ -855,14 +860,16 @@ int Workspace::packPositionLeft(const Ab
newX =3D clientArea(MaximizeArea,
QPoint(client->frameGeometry().left() - 1, clie=
nt->frameGeometry().center().y()), client->desktop()).left();
}
- if (client->titlebarPosition() !=3D AbstractClient::PositionLeft) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* if (client->titlebarPosition() !=3D AbstractClient::PositionLeft) {
const int right =3D newX - client->frameMargins().left();
QRect frameGeometry =3D client->frameGeometry();
frameGeometry.moveRight(right);
if (screens()->intersecting(frameGeometry) < 2) {
newX =3D right;
}
- }
+ } */
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
if (oldX <=3D newX) {
return oldX;
}
@@ -888,14 +895,16 @@ int Workspace::packPositionRight(const A
newX =3D clientArea(MaximizeArea,
QPoint(client->frameGeometry().right() + 1, cli=
ent->frameGeometry().center().y()), client->desktop()).right();
}
- if (client->titlebarPosition() !=3D AbstractClient::PositionRight) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* if (client->titlebarPosition() !=3D AbstractClient::PositionRight) {
const int right =3D newX + client->frameMargins().right();
QRect frameGeometry =3D client->frameGeometry();
frameGeometry.moveRight(right);
if (screens()->intersecting(frameGeometry) < 2) {
newX =3D right;
}
- }
+ } */
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
if (oldX >=3D newX) {
return oldX;
}
@@ -921,14 +930,16 @@ int Workspace::packPositionUp(const Abst
newY =3D clientArea(MaximizeArea,
QPoint(client->frameGeometry().center().x(), cl=
ient->frameGeometry().top() - 1), client->desktop()).top();
}
- if (client->titlebarPosition() !=3D AbstractClient::PositionTop) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* if (client->titlebarPosition() !=3D AbstractClient::PositionTop) {
const int top =3D newY - client->frameMargins().top();
QRect frameGeometry =3D client->frameGeometry();
frameGeometry.moveTop(top);
if (screens()->intersecting(frameGeometry) < 2) {
newY =3D top;
}
- }
+ } */
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
if (oldY <=3D newY) {
return oldY;
}
@@ -954,14 +965,16 @@ int Workspace::packPositionDown(const Ab
newY =3D clientArea(MaximizeArea,
QPoint(client->frameGeometry().center().x(), cl=
ient->frameGeometry().bottom() + 1), client->desktop()).bottom();
}
- if (client->titlebarPosition() !=3D AbstractClient::PositionBottom) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* if (client->titlebarPosition() !=3D AbstractClient::PositionBottom) {
const int bottom =3D newY + client->frameMargins().bottom();
QRect frameGeometry =3D client->frameGeometry();
frameGeometry.moveBottom(bottom);
if (screens()->intersecting(frameGeometry) < 2) {
newY =3D bottom;
}
- }
+ } */
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
if (oldY >=3D newY) {
return oldY;
}
=2D-- kwin-5.20.5.orig/workspace.cpp
+++ kwin-5.20.5/workspace.cpp
@@ -2344,7 +2344,8 @@ int Workspace::oldDisplayHeight() const
*/
QPoint Workspace::adjustClientPosition(AbstractClient* c, QPoint pos, boo=
l unrestricted, double snapAdjust)
{
- QSize borderSnapZone(options->borderSnapZone(), options->borderSnapZo=
ne());
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* QSize borderSnapZone(options->borderSnapZone(), options->borderSnapZo=
ne());
QRect maxRect;
int guideMaximized =3D MaximizeRestore;
if (c->maximizeMode() !=3D MaximizeRestore) {
@@ -2361,11 +2362,16 @@ QPoint Workspace::adjustClientPosition(A
}
=20
if (options->windowSnapZone() || !borderSnapZone.isNull() || options-=
>centerSnapZone()) {
-
+*/
+ if (options->windowSnapZone() || options->borderSnapZone() || options=
->centerSnapZone()) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
const bool sOWO =3D options->isSnapOnlyWhenOverlapping();
- const int screen =3D screens()->number(pos + c->rect().center());
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* const int screen =3D screens()->number(pos + c->rect().center());
if (maxRect.isNull())
- maxRect =3D clientArea(MovementArea, screen, c->desktop());
+ maxRect =3D clientArea(MovementArea, screen, c->desktop()); *=
/
+ const QRect maxRect =3D clientArea(MovementArea, pos + c->rect().=
center(), c->desktop());
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
const int xmin =3D maxRect.left();
const int xmax =3D maxRect.right() + 1; //desk size
const int ymin =3D maxRect.top();
@@ -2385,9 +2391,11 @@ QPoint Workspace::adjustClientPosition(A
int lx, ly, lrx, lry; //coords and size for the comparison client=
, l
=20
// border snap
- const int snapX =3D borderSnapZone.width() * snapAdjust; //snap t=
rigger
- const int snapY =3D borderSnapZone.height() * snapAdjust;
- if (snapX || snapY) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* const int snapX =3D borderSnapZone.width() * snapAdjust; //snap t=
rigger
+ const int snapY =3D borderSnapZone.height() * snapAdjust; */
+ int snap =3D options->borderSnapZone() * snapAdjust; //snap trigg=
er
+/* if (snapX || snapY) {
QRect geo =3D c->frameGeometry();
QMargins frameMargins =3D c->frameMargins();
=20
@@ -2426,10 +2434,34 @@ QPoint Workspace::adjustClientPosition(A
deltaY =3D ry - ymax;
ny =3D ymax - ch + frameMargins.bottom();
}
+ } */
+
+ if (snap) {
+ if ((sOWO ? (cx < xmin) : true) && (qAbs(xmin - cx) < snap)) =
{
+ deltaX =3D xmin - cx;
+ nx =3D xmin;
+ }
+ if ((sOWO ? (rx > xmax) : true) && (qAbs(rx - xmax) < snap) &=
& (qAbs(xmax - rx) < deltaX)) {
+ deltaX =3D rx - xmax;
+ nx =3D xmax - cw;
+ }
+
+ if ((sOWO ? (cy < ymin) : true) && (qAbs(ymin - cy) < snap)) =
{
+ deltaY =3D ymin - cy;
+ ny =3D ymin;
+ }
+ if ((sOWO ? (ry > ymax) : true) && (qAbs(ry - ymax) < snap) &=
& (qAbs(ymax - ry) < deltaY)) {
+ deltaY =3D ry - ymax;
+ ny =3D ymax - ch;
+ }
}
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
=20
// windows snap
- int snap =3D options->windowSnapZone() * snapAdjust;
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+// int snap =3D options->windowSnapZone() * snapAdjust;
+ snap =3D options->windowSnapZone() * snapAdjust;
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
if (snap) {
for (auto l =3D m_allClients.constBegin(); l !=3D m_allClient=
s.constEnd(); ++l) {
if ((*l) =3D=3D c)
@@ -2450,8 +2482,11 @@ QPoint Workspace::adjustClientPosition(A
lrx =3D lx + (*l)->width();
lry =3D ly + (*l)->height();
=20
- if (!(guideMaximized & MaximizeHorizontal) &&
- (((cy <=3D lry) && (cy >=3D ly)) || ((ry >=3D ly) &&=
(ry <=3D lry)) || ((cy <=3D ly) && (ry >=3D lry)))) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* if (!(guideMaximized & MaximizeHorizontal) &&
+ (((cy <=3D lry) && (cy >=3D ly)) || ((ry >=3D ly) &&=
(ry <=3D lry)) || ((cy <=3D ly) && (ry >=3D lry)))) { */
+ if (((cy <=3D lry) && (cy >=3D ly)) || ((ry >=3D ly) && (=
ry <=3D lry)) || ((cy <=3D ly) && (ry >=3D lry))) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
if ((sOWO ? (cx < lrx) : true) && (qAbs(lrx - cx) < s=
nap) && (qAbs(lrx - cx) < deltaX)) {
deltaX =3D qAbs(lrx - cx);
nx =3D lrx;
@@ -2462,8 +2497,11 @@ QPoint Workspace::adjustClientPosition(A
}
}
=20
- if (!(guideMaximized & MaximizeVertical) &&
- (((cx <=3D lrx) && (cx >=3D lx)) || ((rx >=3D lx) &&=
(rx <=3D lrx)) || ((cx <=3D lx) && (rx >=3D lrx)))) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+/* if (!(guideMaximized & MaximizeVertical) &&
+ (((cx <=3D lrx) && (cx >=3D lx)) || ((rx >=3D lx) &&=
(rx <=3D lrx)) || ((cx <=3D lx) && (rx >=3D lrx)))) { */
+ if (((cx <=3D lrx) && (cx >=3D lx)) || ((rx >=3D lx) && =
(rx <=3D lrx)) || ((cx <=3D lx) && (rx >=3D lrx))) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
if ((sOWO ? (cy < lry) : true) && (qAbs(lry - cy) < s=
nap) && (qAbs(lry - cy) < deltaY)) {
deltaY =3D qAbs(lry - cy);
ny =3D lry;
@@ -2476,7 +2514,10 @@ QPoint Workspace::adjustClientPosition(A
}
=20
// Corner snapping
- if (!(guideMaximized & MaximizeVertical) && (nx =3D=3D lr=
x || nx + cw =3D=3D lx)) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+// if (!(guideMaximized & MaximizeVertical) && (nx =3D=3D lr=
x || nx + cw =3D=3D lx)) {
+ if (nx =3D=3D lrx || nx + cw =3D=3D lx) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
if ((sOWO ? (ry > lry) : true) && (qAbs(lry - ry) < s=
nap) && (qAbs(lry - ry) < deltaY)) {
deltaY =3D qAbs(lry - ry);
ny =3D lry - ch;
@@ -2486,7 +2527,10 @@ QPoint Workspace::adjustClientPosition(A
ny =3D ly;
}
}
- if (!(guideMaximized & MaximizeHorizontal) && (ny =3D=3D =
lry || ny + ch =3D=3D ly)) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+// if (!(guideMaximized & MaximizeHorizontal) && (ny =3D=3D =
lry || ny + ch =3D=3D ly)) {
+ if (ny =3D=3D lry || ny + ch =3D=3D ly) {
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
if ((sOWO ? (rx > lrx) : true) && (qAbs(lrx - rx) < s=
nap) && (qAbs(lrx - rx) < deltaX)) {
deltaX =3D qAbs(lrx - rx);
nx =3D lrx - cw;
=2D-- kwin-5.20.5.orig/x11client.cpp
+++ kwin-5.20.5/x11client.cpp
@@ -626,7 +626,9 @@ bool X11Client::manage(xcb_window_t w, b
Placement::self()->place(this, area);
// The client may have been moved to another screen, update place=
ment area.
area =3D workspace()->clientArea(PlacementArea, this);
- dontKeepInArea =3D true;
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+// dontKeepInArea =3D true;
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
placementDone =3D true;
}
=20
@@ -675,7 +677,10 @@ bool X11Client::manage(xcb_window_t w, b
if (pseudo_max !=3D MaximizeRestore) {
maximize((MaximizeMode)pseudo_max);
// from now on, care about maxmode, since the maximizatio=
n call will override mode for fix aspects
- dontKeepInArea |=3D (max_mode =3D=3D MaximizeFull);
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+// dontKeepInArea |=3D (max_mode =3D=3D MaximizeFull);
+ dontKeepInArea =3D (max_mode =3D=3D MaximizeFull);
+// =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PATCHED =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
QRect savedGeometry; // Use placement when unmaximizing .=
..
if (!(max_mode & MaximizeVertical)) {
savedGeometry.setY(y()); // ...but only for horizon=
tal direction
--------------000508070000040104010700
Content-Type: text/x-patch;
name="konqueror_status_bar.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="konqueror_status_bar.patch"
Description: Disable the stupid retarded white strip covering the status b=
ar.
At Konqueror startup the status bar is just fine. But as soon as a new ta=
b is
open, the status bar is filled with a stupid white-yellow color making th=
e
status bar messages unreadable not to mention looking crappy stupid.
This patch disables this crap by commenting out calls to statusbar()->upd=
ateActiveStatus()
in 3 different source files.
.
konqueror (4:21.04.0-1) experimental; urgency=3Dmedium
.
[ Norbert Preining ]
* New upstream release (21.04.0).
* Borrow minimal upstream signing key from k3b.
* Drop Kubuntu from maintainer name.
* Added myself to the uploaders.
* Update list of installed files.
Author: Norbert Preining <[email protected]>
=2D--
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2025-08-30
=2D-- konqueror-21.04.0-old/src/konqframestatusbar.cpp
+++ konqueror-21.04.0-new/src/konqframestatusbar.cpp
@@ -195,7 +195,7 @@ bool KonqFrameStatusBar::eventFilter(QOb
} else if (o =3D=3D this && e->type() =3D=3D QEvent::ApplicationPalet=
teChange) {
//unsetPalette();
setPalette(QPalette());
- updateActiveStatus();
+// updateActiveStatus(); =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D CR=
APFIX =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
return true;
}
=20
@@ -260,7 +260,7 @@ void KonqFrameStatusBar::slotConnectToNe
void KonqFrameStatusBar::showActiveViewIndicator(bool b)
{
m_led->setVisible(b);
- updateActiveStatus();
+// updateActiveStatus(); =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D CRA=
PFIX =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
}
=20
void KonqFrameStatusBar::showLinkedViewIndicator(bool b)
=2D-- konqueror-21.04.0-old/src/konqmainwindow.cpp
+++ konqueror-21.04.0-new/src/konqmainwindow.cpp
@@ -2117,11 +2117,11 @@ void KonqMainWindow::slotPartActivated(K
}
}
=20
- m_currentView->frame()->statusbar()->updateActiveStatus();
+/* m_currentView->frame()->statusbar()->updateActiveStatus(); =3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D CRAPFIX =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
if (oldView && oldView->frame()) {
oldView->frame()->statusbar()->updateActiveStatus();
- }
+ } */
=20
//qCDebug(KONQUEROR_LOG) << "setting location bar url to"
// << m_currentView->locationBarURL() << "m_currentView=3D" <=
< m_currentView;
=2D-- konqueror-21.04.0-old/src/konqviewmanager.cpp
+++ konqueror-21.04.0-new/src/konqviewmanager.cpp
@@ -1024,7 +1024,7 @@ void KonqViewManager::slotActivePartChan
return;
}
if (!m_bLoadingProfile) {
- view->frame()->statusbar()->updateActiveStatus();
+// view->frame()->statusbar()->updateActiveStatus(); =3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D CRAPFIX =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
view->frame()->parentContainer()->setActiveChild(view->frame());
}
//qCDebug(KONQUEROR_LOG) << "done";
--------------000508070000040104010700
Content-Type: text/x-patch;
name="dolphin_filesize_in_bytes+iso_long_date.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="dolphin_filesize_in_bytes+iso_long_date.patch"
Description: File sizes displayed in bytes and date-times in ISO long form=
at
For the detailed file listing format, file sizes are always displayed in =
bytes,
with three-digit groups separated by spaces. Also access, modification an=
d
creation times are displayed as long ISO date-times (yyyy-MM-dd hh:mm:ss)=
.
This patch affects both Dolphin and Konqueror file managers.
.
dolphin (4:20.12.1-2) unstable; urgency=3Dmedium
.
[ Norbert Preining ]
* Add myself to uploaders.
* Use Debian Qt/KDE Maintainers as maintainer
* Backport of upstream compatibility fix for frameworks 5.78.
Author: Norbert Preining <[email protected]>
=2D--
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2025-08-28
=2D-- dolphin-20.12.1-old/src/kitemviews/kfileitemlistwidget.cpp
+++ dolphin-20.12.1-new/src/kitemviews/kfileitemlistwidget.cpp
@@ -42,6 +42,13 @@ bool KFileItemListWidgetInformant::itemI
return item.isLink();
}
=20
+QString digsep (QString x) {
+ int ix =3D x.length()-3;
+ while (ix>0) {x.insert(ix,' '); ix-=3D3;}
+ return x;
+}
+
+
QString KFileItemListWidgetInformant::roleText(const QByteArray& role,
const QHash<QByteArray, QV=
ariant>& values) const
{
@@ -64,20 +71,23 @@ QString KFileItemListWidgetInformant::ro
// if we have directory size available
if (roleValue !=3D -1) {
const KIO::filesize_t size =3D roleValue.valu=
e<KIO::filesize_t>();
- text =3D KFormat().formatByteSize(size);
+// text =3D KFormat().formatByteSize(size);
+ text =3D i18n("%1 Bytes", digsep(QString::num=
ber(size))); //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D FILE SIZE IN =
BYTES =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D//
}
}
}
}
} else {
const KIO::filesize_t size =3D roleValue.value<KIO::filesize_=
t>();
- text =3D KFormat().formatByteSize(size);
+// text =3D KFormat().formatByteSize(size);
+ text =3D i18n("%1 Bytes", digsep(QString::number(size))); /=
/=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D FILE SIZE IN BYTES =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D//
}
} else if (role =3D=3D "modificationtime" || role =3D=3D "creationtim=
e" || role =3D=3D "accesstime") {
bool ok;
const long long time =3D roleValue.toLongLong(&ok);
if (ok && time !=3D -1) {
- return QLocale().toString(QDateTime::fromSecsSinceEpoch(t=
ime), QLocale::ShortFormat);
+// return QLocale().toString(QDateTime::fromSecsSinceEpoch(t=
ime), QLocale::ShortFormat);
+ return QDateTime(QDateTime::fromSecsSinceEpoch(time)).toS=
tring("yyyy-MM-dd hh:mm:ss"); //=3D=3D=3D=3D=3D=3D=3D=3D=3D ISO LONG DATE =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D//
}
} else if (role =3D=3D "deletiontime" || role =3D=3D "imageDateTime")=
{
const QDateTime dateTime =3D roleValue.toDateTime();
--------------000508070000040104010700
Content-Type: text/x-patch;
name="dolphin_single-click_enforced.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="dolphin_single-click_enforced.patch"
Description: Single-click to open files and directories
This patch enforces opening files and directories by a single-click of
the left mouse button. It affects both Dolphin and Konqueror file manager=
s.
.
dolphin (4:20.12.1-2) unstable; urgency=3Dmedium
.
[ Norbert Preining ]
* Add myself to uploaders.
* Use Debian Qt/KDE Maintainers as maintainer
* Backport of upstream compatibility fix for frameworks 5.78.
Author: Norbert Preining <[email protected]>
=2D--
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2025-08-28
=2D-- dolphin-20.12.1-old/src/kitemviews/kitemlistcontroller.cpp 2021-01-0=
2 08:42:54.000000000 -0500
+++ dolphin-20.12.1-new/src/kitemviews/kitemlistcontroller.cpp 2025-08-31 =
20:10:55.000000000 -0400
@@ -30,7 +30,7 @@
=20
KItemListController::KItemListController(KItemModelBase* model, KItemList=
View* view, QObject* parent) :
QObject(parent),
- m_singleClickActivationEnforced(false),
+ m_singleClickActivationEnforced(true), //=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D SINGLE-CLICK TO OPEN FILES/DIRS =3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D//
m_selectionTogglePressed(false),
m_clearSelectionIfItemsAreNotDragged(false),
m_isSwipeGesture(false),
--------------000508070000040104010700--