Summary: | Set background image in konsole 2.0 (kde4) | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Kazuo Teramoto <kaz.rag> |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | adaptee, alex, dhaval, diaxen, jakobi, jamie, kde, kde_bugzilla_2, orion, pan.shizhu, strycat |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.8 | |
Sentry Crash Report: | |||
Attachments: |
add tiled wallpaper feature to konsole
add tiled wallpaper feature to konsole Qt::Gray removed |
Description
Kazuo Teramoto
2008-02-15 17:52:15 UTC
> PS. Konsole have a official (or a good) mailing-list/forum for users? konsole-devel@kde.org is the best place to ask. https://mail.kde.org/mailman/listinfo/konsole-devel This is for me also a kind of disability feature, as a slightly textured surface also helps in reading by 'gripping' your eye and keep it in a single line (instead of having your eye jump all over the last few lines). Think e.g. green characters on slightly textured basalt. *** Bug 165466 has been marked as a duplicate of this bug. *** I desperately miss the old "paper" background from the old KDE 3 konsole. Any hope to get this feature? Still not present in 4.3.1. Thanks. +1! This is a big piece of missing functionality, IMO. I hope it gets added back soon! This would be a great feature to have again. Hope it gets implemented soon. Add a vote for this feature. Just checked for reference: gnome-terminal and xfce4-terminal and kde3-konsole and most framebuffer-based-terminal all have the background-image feature. It is a shame that kde4-konsole is the only modern terminal emulator without the background-image feature. ... especially since KDE *had* this feature in KDE3, but removed it for some reason in KDE4. WTF?!?!?!? @9: My best guess, based on what I remember from the early days of KDE 4.0 is that they had to re-implement things for Qt4 and, having implemented true transparency, the guys doing the work felt it was "good enough for me" and ran out of motivation. @10: but seeing another window content as the background of konsole isn't anything pleasant IMO. I doubt if anyone really want the true transparency instead of a background image for konsole. But anyway, gnome-terminal and xfce4-terminal have both background image mode and true transparency mode. @11: No argument. I was perfectly happy with tinted pseudo-transparency to avoid the hassle of manually keeping the image synced up but still avoid an eye-straining solid-color background. @12: then this is what konsole in kde4 being now. try open firefox, maximize it, open a blank page, then open your konsole, maximize it, your konsole will be still a solid background, since it transparently sees a blank page below. try open kate, maximize it, open some text file, then open your konsole, maximize it, your konsole will transparently see a text file below, if you now want to see text in your konsole, then it may be difficult to read those text, since there are two layers of different text. Transparent only looks good when you have a big screen and do never let any window overlaps. If you don't have a huge resolution screen and want to maximize every application then you end with seeing some irritating content in konsole background. ---- does kde4 designed only for those who have a big screen? Anyway, konsole 4 does not support transparency when kwin compositing is not enabled. konsole 3 support background image even if your video card has no compositing support. So the fact is: konsole in kde4 does not support background at all, if you turned of desktop effects. The ability in KDE 3 to optionally turn on a background image, set transparency and level (tinting) to a particular color, etc as noted above. However, a real regression for me is the use of real transparency for Konsole. The "fake" or "pseudo" transparency in KDE 3 was much better for me, since it didn't have the artifacts from underlying windows. (I've seen OS X users read text "through" their windows, but it just makes things harder for me to read.) One HUGE improvement (wishlist) over KDE 3 would be the ability to turn on text outlining or shadows in a particular color (especially black and white) like desktop icons sitting on a background in KDE 3 could do. If that was possible, you could have fully transparent konsole windows sitting on a complex photograph wallpaper and still be able to read all the text without trouble. That would make my day! Thanks for a great KDE! This is still not working in 4.5. I have to agree with comment #9, this was working in 3.x. It shouldn't be considered "wishlist" but a bug. Without the visual cue of the background image it is impossible to quickly tell which server I'm on. Any chance of this happening for 4.7? Someone has to code it. I don't have any plans to work on this as I have other priorities. Created attachment 61421 [details]
add tiled wallpaper feature to konsole
Thanks for the patch. I'm getting crashes when selecting/removing the wallpaper as well as some debug print statements. I'll look at it in more depth later. valgrind doesn't complain with kde 4.6.3 / Qt 4.7.3. What are the debug print statements? (In reply to comment #18) > Created an attachment (id=61421) [details] add tiled wallpaper feature to konsole This patch works well for me with qt-4.7.3 and kde-4.6.90 Hi Alexandre, A few comments on the patch: * I suggest ColorSchemeWallpaper::_picture should be a QPixmap instead of a QPixmap* * Instead of allocating a special large pixmap to hold the tiled image, you could just draw it directly when rendering the image. This will save a noticeable amount of memory when the terminal window is large. Pre-rendering to a pixmap mainly makes sense if you need to apply additional effects or the initial rendering is especially expensive relative to the cost of drawing a single pixmap. * The coding standard in Konsole is for & and * to bind to the type rather than the name ('QString&' instead of 'QString &foo') * ColorSchemeWallpaper::path() should return a plain QString rather than a const ref, in keeping with most of the Qt APIs (In reply to comment #22) Hi, > * I suggest ColorSchemeWallpaper::_picture should be a QPixmap instead of a > QPixmap* This is what I did at first but ColorSchemeWallpaper is created before QApplication and the QPixmap can not be constructed then, that's why I choose to delay the QPixmap creation. > * Instead of allocating a special large pixmap to hold the tiled image, you > could just draw it directly when rendering the image. This will save a > noticeable amount of memory when the terminal window is large. Pre-rendering > to a pixmap mainly makes sense if you need to apply additional effects or the > initial rendering is especially expensive relative to the cost of drawing a > single pixmap. Drawing a tiled pixmap gave complicated rectangle intersection code in the draw function and I finally decided to prepare a large pixmap instead, but I just noticed the QPainter class contains some drawTiledPixmap functions which seem to do just what we need. > * The coding standard in Konsole is for & and * to bind to the type rather > than the name ('QString&' instead of 'QString &foo') Ok > * ColorSchemeWallpaper::path() should return a plain QString rather than a > const ref, in keeping with most of the Qt APIs Ok I'll submit a new patch soon. Created attachment 61721 [details]
add tiled wallpaper feature to konsole
This new patch uses QPainter::drawTiledPixmap and fixes coding standard.
The Qt::Gray needs changed. If the image is not available, it should act just like no wallpaper was chosen. As soon as this goes in people are going to ask for: Scaled/center/drag-n-drop/color/dbus/GN/etc.... basically everything the desktop wallpaper can do. Very minor: try to stick to a consistent use of spaces in parameters (before/after). Created attachment 62596 [details]
Qt::Gray removed
From above comments, what peoples seem to expect is readability improvement by use of a tiled soft texture. Do we really need centered and other desktop wallpaper transforms? Use of real pictures as terminal background will impact readability. Other features like texture dimming would nice to have but I don't have time to work on more wallpaper stuff yet. Git commit 087f67e4fca15761809d24949c4367ec92b75a9b by Kurt Hindenburg. Committed on 08/08/2011 at 00:44. Pushed by hindenburg into branch 'master'. Allow an image to be set as the background in the terminal. Restore the KDE3 option to have a background image in each session. Patch by Alexandre Becoulet <diaxen@free.fr> BUG: 157882 FIXED-IN: 4.8 M +36 -0 src/ColorSchemeEditor.cpp M +2 -0 src/ColorSchemeEditor.h M +37 -1 src/ColorScheme.h M +60 -0 src/ColorScheme.cpp M +18 -4 src/TerminalDisplay.cpp M +32 -1 src/ColorSchemeEditor.ui M +1 -0 src/ViewManager.cpp M +6 -0 src/TerminalDisplay.h http://commits.kde.org/konsole/087f67e4fca15761809d24949c4367ec92b75a9b A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/933 Git commit 8939910b61f2b9fd035a9bf9292dcdbda7ef17eb by Kurt Hindenburg, on behalf of Luis Javier Merino Morán. Committed on 16/12/2023 at 18:25. Pushed by hindenburg into branch 'master'. Show wallpaper on non-translucent top-levels For reasons, showing the background image (wallpaper) has become dependant on the ability of the top-level window to be translucent. This does not need to be so. Since 5bac30ab3, to draw the wallpaper, first a background color is used to fill the dirty region, and then the wallpaper is drawn, and the opacity of the background color and the wallpaper are separate, so we can fill with a totally opaque background color, and then draw a maybe translucent wallpaper over that, and no glitches should appear. Related: bug 477800, bug 312843 M +2 -2 src/terminalDisplay/TerminalPainter.cpp https://invent.kde.org/utilities/konsole/-/commit/8939910b61f2b9fd035a9bf9292dcdbda7ef17eb |