<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/102758/">http://git.reviewboard.kde.org/r/102758/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On October 3rd, 2011, 1:15 p.m., <b>David Faure</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Couldn't this be done higher in the stack, e.g. in KTabWidget or in Qt?</pre>
</blockquote>
<p>On October 3rd, 2011, 7:49 p.m., <b>Kevin Kofler</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Indeed, I think there should be some interface for this stuff in kdelibs, so that 1. applications don't have to add such platform-specific code and 2. the feature can also be implemented for our own Plasma Desktop workspace, and applications will automatically benefit (whereas with the current solution, they'd need more platform-specific code doing the same thing). Seeing KDE applications doing more things in a foreign desktop workspace than in our own doesn't look right to me. :-(
(Yet another kdelibs feature that would justify doing a 4.8 release…)</pre>
</blockquote>
<p>On October 3rd, 2011, 8:45 p.m., <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">if anyone wants to do the bits for Plasma, please see http://community.kde.org/KWin/Browser_Integration
It just needs someone to implement and at least Mozilla already showed interest in adding support if we add that.</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">My thoughts:
- I did an first experiment with dolphin only, but yes, we all agree this might be inside some sort of library.
- I don't think KTabWidget is an appropriate place to place this either, since we may want to generate previews of non tabbed interfaces (Konversation and Kate don't necessarily use tabs). It would be better to bind such interface into a KApplication (but not necessarily making it inside KApplication)
- (this one more kind of brainstorming) Reading Martin and Kevin's comments, I think it would be good to have a single interface to window managers, in the same way phonon address multimedia stuff so the app should not care about whether VLC, Xine or DirectSound is being used, in the same way solid address hardware stuff so the app should not care about whether WMI or HAL is being used, this interface should work in a way the app should not care whether KWin, Mutter or dwm.exe is being used.
- "Seeing KDE applications doing more things in a foreign desktop workspace than in our own doesn't look right to me." - To me this would not look right if we were talking about GnomeShell or other X11 desktop... in this case I see this more like an OS thing (given that explorer can be replaced, but dwm can't). Also, I think implementing something ready for a foreign desktop encourages making the "native" desktop ready for it too ;).
@Martin: I know almost nothing about x11-specific stuff to help out with plasma/kwin, but according to that link, the required elements are almost the same ( icon + title + thumbnail ), so I think it may be not hard to have a common interface, not just for this feature but for other wm features too ( I'm thinking about thumbnail toolbars on amarok and kopete, just like the ones in wmp, wlm and skype ;] )
</pre>
<br />
<p>- Andrius da Costa</p>
<br />
<p>On October 3rd, 2011, 1:25 a.m., Andrius da Costa Ribas wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for KDE Base Apps, KDE Accessibility, kdewin, Patrick Spendrin, and Peter Penz.</div>
<div>By Andrius da Costa Ribas.</div>
<p style="color: grey;"><i>Updated Oct. 3, 2011, 1:25 a.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Add Windows 7 tab thumbnails feature to dolphin.
Mostly based on the example from <http://nicug.blogspot.com/2011/03/windows-7-taskbar-extensions-in-qt-tab.html>.
An icon representation is used instead of actual thumbnails ( please agree that those microscopic previews are not useful at all ;] ). Changing an icon when url changes is also easier than checking all the time whether something inside the window has been changed. Using icons is a lot more KDE-ish and therefore more beautiful and user-friendly than the default Windows behavior ;).
"win7utils.h" and "win7utils.cpp" are from <https://github.com/xfreebird/blogstuff/tree/master/qt/thumbnailtabs_example1> with few adaptations.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Tested using MSVC 2010 32 bit, in a Windows 7 64 bit machine.
May need testing:
- Compiling under mingw-w32 and mingw-w64
- Using Windows Vista or below to ensure there are no side-efects on a box without this feature.
- Using Windows 8 (I don't know much about its bugs^H^H^H^Hfeatures ;] )
Known problems:
- There is no way to know if KTabBar got a tab reordered, so the "thumbnails" won't be reordered, but their reference is still correct
- Undefined behavior when dolphin gets unresponsive [e.g.: because of a defective kioslave], most of the code assume dolphin is okay [e.g.: QPixmap::grabWidget won't work in a frozen window].
</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>dolphin/src/CMakeLists.txt <span style="color: grey">(93225c5)</span></li>
<li>dolphin/src/dolphinapplication.h <span style="color: grey">(69d07c3)</span></li>
<li>dolphin/src/dolphinapplication.cpp <span style="color: grey">(0dc9c96)</span></li>
<li>dolphin/src/dolphinmainwindow.h <span style="color: grey">(9fb83bf)</span></li>
<li>dolphin/src/dolphinmainwindow.cpp <span style="color: grey">(6ca6e59)</span></li>
<li>dolphin/src/platform/win7utils.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>dolphin/src/platform/win7utils.cpp <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/102758/diff/" style="margin-left: 3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Screenshots </h1>
<div>
<a href="http://git.reviewboard.kde.org/r/102758/s/281/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2011/10/03/k4w7_1_400x100.png" style="border: 1px black solid;" alt="Tabs!" /></a>
<a href="http://git.reviewboard.kde.org/r/102758/s/282/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2011/10/03/k4w7_3_400x100.png" style="border: 1px black solid;" alt="More Tabs!" /></a>
<a href="http://git.reviewboard.kde.org/r/102758/s/283/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2011/10/03/k4w7_2_400x100.png" style="border: 1px black solid;" alt="Too many tabs!" /></a>
</div>
</td>
</tr>
</table>
</div>
</body>
</html>