<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/104015/">http://git.reviewboard.kde.org/r/104015/</a>
     </td>
    </tr>
   </table>
   <br />


<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 Plasma.</div>
<div>By rhn rhn.</div>







<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;">A plasmoid intended to be used on a panel. Inspired by gnome-multiload-applet and gkrellm.

Before I decided to write this plasmoid, I considered other monitors. Here's what I found:
- system-monitor:
   * not pixel-perfect: it uses antialiasing and Bezier curves
   * in stacking mode, it adds a few pixels to all values, so a 0 network throughput still shows 2 belts.
   * impossible to read at a glance due to low contrast and no custom colors
   * shows only basic properties
   * graphs change features depending on size
   * deal-breaker: impossible to set custom height or width
- system-load-viewer: almost there, but no history display
- The Only Right RAM Monitor: too slow and RAM only

This plasmoid attempts to solve all those problems while introducing new ones :)
What's fixed in this one:
- many graphs in one applet
- graphs laid out on a grid
- forces graph width or height (depending on mode)
- can force row or column number (depending on mode)
- arbitrary colors for all graph types
- pixel-perfect
- handles runtime CPU/network addition/removal (CPU untested)

Other stuff:
- labels only for network interfaces
- resizable labels
- network transmit graph stacks on top
- C++, a monitor should measure resources, not use them
- no way to disable graphs :)
- no way to reorder graphs
- network interfaces are not sorted
- all CPUs are displayed
- can't change colors for a distinct graph
- will not fit in container if the wrong layout params are selected (forcing a dimension to be more than available)
- the original idea was to synchronize all readings, but it seems impossible with plasma data engines

It's my first project in Qt, so the code will not be as nice as it could be. I rewrote the plotter and the layout, so those are the most likely to contain errors/memory leaks. Also, I don't know which of the above problems need to be solved and which decisions are acceptable, but I'll happily apply all fixes to make this accepted.</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;">Display, layout, configuration, persistence.</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>applets/CMakeLists.txt <span style="color: grey">(1e1ef75)</span></li>

 <li>applets/graphmon/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/color-config.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/cpuload.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/cpuload.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/general-config.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/graphmon.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/graphmon.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/netthroughput.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/netthroughput.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/plasma-applet-graphmon.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/ramusage.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/ramusage.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/rigidgridlayout.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/rigidgridlayout.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/simpleplotter.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/simpleplotter.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/swapusage.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>applets/graphmon/swapusage.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/104015/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/104015/s/437/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/02/18/snapshot3_400x100.png" style="border: 1px black solid;" alt="Graph on panel and general config section" /></a>

</div>


  </td>
 </tr>
</table>




  </div>
 </body>
</html>