Version: (using KDE KDE 3.1.3) Installed from: SuSE RPMs make everything a bit smaller - title bars, symbol bars, menu bars, window frames why must everything be so large on the desktop? even for the optimal solution i found, i still would need a 15-25% larger screen for kde than for windows (1024x768) to have the same information on the screen. the problem is that some things just can't be made smaller/small enough for me. somebody really should optimize a bit in this direction. especially: title bars - they take a lot of space, few information, just to move the window around - a "few" pixels less would still suffice symbol bars - they are often very large menu bars - could be _a bit_ smaller, too (not just smaller font) (taskbar - ok - already quite good configurable) safe space on the desktop!! i don't know whether this is (just) a theme question, if a good theme exists i'd like to know about it, of course. of course i agree that the standard configuration of kde can still be a bit larger than the minimum.
It's just a style, window decoration, font size, icon size etc. question.
it seems also to be a general problem of qt (kde?), that this is not sufficiently configurable adjusting Font sizes does not suffice: i have set them to the minimum, now the surrounding space is too large everywhere. If somebody has a solution (theme or whatever, screenshot), that shows that this doable & wasted pixels can be eliminated, i'd like to know. Otherwise it has to stay on the todo-list, until somebody has a solution for it. See also Bug 66742 ******************* Example: http://www.kdevelop.org/graphics/screenshots/3.1/documentation.png 640 x 483 Pixels The original is probably 1280x1024 even scaled to 1024x768 this looks too large scaled to 800x600 (perhaps 900x...) it's almost ok (except the large title bar)
See also Bug 66743 Bug 24374
What i found out until now: (1) i have made a patch for quartz window-decorations (has to be compiled into a library) which makes titelbars smaller. (2) the menubars, with drawing them, there is also qt involved, so to steal some pixels there, most likely it will not suffice to change the kde-sources. maybe in a future version of qt something will change there?!????? (3) with other visual gadgets (tabs, lists etc), i don't know how much is qt/kde, and how much code can or had to be changed.
smaller window decorations: "Quartz extra slim" *** downloading the source kdebase-3.3.0.tar.bz2 download+extract cd kdebase-3.3.0 ./configure *** apply the diff below *** Compiling cd kwin/lib (this step must be performed, otherwise some libs are missing) make cd kwin/client/quarz/ // interessantes verzeichnis make make install (this installes just kwin3_quartz.la) *** Test (re-)start kde control-center>window decorations>quartz Remark: I use it together with Adobe Helvetica 10 as font, and found it looks very good (not too small) with the parameters in the patch. **** ************************************************************************************************* Perhaps somebody can integrate this patch into the main kde line. This would provide smaller titlebars, something that is IMHO needed in some form (See KDE bug ...., etc). For integration, I suggest adding a checkbox in the control center-module, like this: [ ] quartz extra slim (without a check you would get the normal quartz) ****************************************************************************** 3 changes: 4 -> 2 18 -> 14 0 -> -1 ****************************************************************************** --- orig/quartz.cpp 2004-08-05 20:57:20.000000000 +0200 +++ quartz.cpp 2004-09-14 22:19:45.000000000 +0200 @@ -205,12 +205,16 @@ case BorderTiny: case BorderNormal: default: - borderWidth = 4; + borderWidth = 2; // instead of 4 } - +/* normalTitleHeight = QFontMetrics(options()->font(true)).height(); if (normalTitleHeight < 18) normalTitleHeight = 18; if (normalTitleHeight < borderWidth) normalTitleHeight = borderWidth; +*/ + normalTitleHeight = QFontMetrics(options()->font(true)).height()-1; + if (normalTitleHeight < 14) normalTitleHeight = 14; + if (normalTitleHeight < borderWidth) normalTitleHeight = borderWidth; toolTitleHeight = QFontMetrics(options()->font(true, true)).height(); if (toolTitleHeight < 12) toolTitleHeight = 12; ******************************************************************************
CVS commit by giessl: (corrected) patch by abraendle@gmx.de: "Quartz extra slim" option CCBUG: 74967 M +6 -2 quartz.cpp 1.43 M +8 -0 config/config.cpp 1.13 M +1 -0 config/config.h 1.5 --- kdebase/kwin/clients/quartz/quartz.cpp #1.42:1.43 @@ -113,4 +113,5 @@ static const unsigned char shade_off_bit bool onAllDesktopsButtonOnLeft = true; bool coloredFrame = true; +bool extraSlim = false; KPixmap* titleBlocks = NULL; @@ -203,4 +204,5 @@ void QuartzHandler::readConfig() conf.setGroup("General"); coloredFrame = conf.readBoolEntry( "UseTitleBarBorderColors", true ); + extraSlim = conf.readBoolEntry( "UseQuartzExtraSlim", false ); // A small hack to make the on all desktops button look nicer @@ -227,9 +229,11 @@ void QuartzHandler::readConfig() case BorderNormal: default: - borderWidth = 4; + borderWidth = extraSlim?2:4; } normalTitleHeight = QFontMetrics(options()->font(true)).height(); - if (normalTitleHeight < 18) normalTitleHeight = 18; + int nTH_limit=extraSlim?14:18; + normalTitleHeight = QFontMetrics(options()->font(true)).height()-(extraSlim?1:0); + if (normalTitleHeight < nTH_limit) normalTitleHeight = nTH_limit; if (normalTitleHeight < borderWidth) normalTitleHeight = borderWidth; --- kdebase/kwin/clients/quartz/config/config.cpp #1.12:1.13 @@ -43,4 +43,7 @@ QuartzConfig::QuartzConfig( KConfig* con "are drawn using the titlebar colors; otherwise, they are " "drawn using normal border colors instead.") ); + cbExtraSmall = new QCheckBox( i18n("Quartz &extra slim"), gb ); + QWhatsThis::add( cbExtraSmall, + i18n("Quartz window decorations with extra small title bar.") ); // Load configuration options load( conf ); @@ -48,4 +51,5 @@ QuartzConfig::QuartzConfig( KConfig* con // Ensure we track user changes properly connect( cbColorBorder, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) ); + connect( cbExtraSmall, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()) ); // Make the widgets visible in kwindecoration @@ -74,4 +78,6 @@ void QuartzConfig::load( KConfig* /*conf bool override = quartzConfig->readBoolEntry( "UseTitleBarBorderColors", true ); cbColorBorder->setChecked( override ); + override = quartzConfig->readBoolEntry( "UseQuartzExtraSlim", false ); + cbExtraSmall->setChecked( override ); } @@ -82,4 +88,5 @@ void QuartzConfig::save( KConfig* /*conf quartzConfig->setGroup("General"); quartzConfig->writeEntry( "UseTitleBarBorderColors", cbColorBorder->isChecked() ); + quartzConfig->writeEntry( "UseQuartzExtraSlim", cbExtraSmall->isChecked() ); // Ensure others trying to read this config get updated quartzConfig->sync(); @@ -91,4 +98,5 @@ void QuartzConfig::defaults() { cbColorBorder->setChecked( true ); + cbExtraSmall->setChecked( false ); } --- kdebase/kwin/clients/quartz/config/config.h #1.4:1.5 @@ -38,4 +38,5 @@ class QuartzConfig: public QObject KConfig* quartzConfig; QCheckBox* cbColorBorder; + QCheckBox* cbExtraSmall; QVBox* gb; };
Anti-vote from me. I would opt for configurable spacing, size, layout etc. but making just things smaller "because" is no go for me -- people use various resolutions, various screens (i.e. 4:3 vs WS), somebody can have problems with eyes, etc etc etc.
(In reply to Maciej Pilichowski from comment #7) > Anti-vote from me. > > I would opt for configurable spacing, size, layout etc. but making just > things smaller "because" is no go for me -- people use various resolutions, > various screens (i.e. 4:3 vs WS), somebody can have problems with eyes, etc > etc etc. I agree. Configurable size is utterly necessary for at least accessibility.