Just another bather question

Freshly fully charged, just turned on...
3:22 on a 96% charge.
Does that sound normal?

no, thats not what the instructions say, you might not be reading the instructions for the macbook
"PowerBook G4 (15-inch Double-Layer SD), MacBook (all models), MacBook Pro (all models), and MacBook Pro (17-inch) (all models)
The battery calibration for the PowerBook G4 (15-inch Double-Layer SD) and any model of MacBook or MacBook Pro has been updated because of a new battery released with this computer. With these computers, follow these steps to calibrate your battery:
1. Plug in the power adapter and fully charge your PowerBook's battery until the light ring or LED on the power adapter plug changes to green and the onscreen meter in the menu bar indicates that the battery is fully charged.
2. Allow the battery to rest in the fully charged state for at least two hours. You may use your computer during this time as long as the adapter is plugged in.
3. Disconnect the power adapter with the computer still on and start running the computer off battery power. You may use your computer during this time. When your battery gets low, you will see the low battery warning dialog on the screen.
4. Continue to keep your computer on until it goes to sleep. Save all your work and close all applications when the battery gets very low, before the computer goes to sleep.
5. Turn off the computer or allow it to sleep for five hours or more.
6. Connect the power adapter and leave it connected until the battery is fully charged again.
Tip: When the battery reaches "empty", the computer is forced into sleep mode. The battery actually keeps back a reserve beyond "empty", to maintain the computer in sleep for a period of time. Once the battery is truly exhausted, the computer is forced to shut down. At this point, with the safe sleep function introduced in the PowerBook G4 (15-inch Double-Layer SD) computers, the computer's memory contents have been saved to the hard drive. When power is restored, the computer returns itself to its pre-sleep state using the safe sleep image on the hard drive."

Similar Messages

  • Just another XML question?

    Project: Flash PrpofessionalCS5 | ctionscript 3
    Description: A three-framed movie. On each frame there is a title label component,  a text content label component, and two loader components.
    I have the following XML file named presentation.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <slides>
    <slide id="1">
    <title>Title 1</title>
    <content>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas a orci vitae sem gravida faucibus. Sed fringilla, diam ut mollis dignissim, ligula ante mollis leo, eget ornare odio lacus sit amet elit. Suspendisse potenti. Mauris sapien lacus, lacinia quis consequat vel, ullamcorper vehicula ipsum. Cras condimentum, nibh sed cursus hendrerit, nibh libero vehicula velit, et volutpat arcu eros ut risus.+ '\r\n' + Aliquam lacinia aliquam sapien, id bibendum odio consequat sit amet. Aenean egestas ligula tristique turpis tempor malesuada. Sed varius ornare risus sit amet eleifend. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</content>
    <swfa>1a.png</swfa>
    <swfb>1aa.png</swfb>
    </slide>
    <slide id="2">
    <title>Title 2</title>
    <content>Donec a nisi nisi, et feugiat odio. Maecenas elementum varius est a malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla ac magna tincidunt arcu tempor laoreet. Sed tristique vehicula scelerisque. Nam volutpat venenatis nisi, vitae facilisis nulla scelerisque quis. Mauris neque eros, venenatis a placerat et, vulputate non augue. Cras placerat enim at lectus aliquet interdum. Phasellus tincidunt lorem non leo lobortis commodo. Sed sollicitudin hendrerit tortor, non elementum lorem dignissim id. Etiam fermentum mi ut arcu consectetur sit amet dictum erat fringilla. Curabitur lacinia odio ut felis mollis nec ullamcorper urna imperdiet. Praesent lectus sem, mattis vel semper in, fermentum non quam. Sed libero dolor, vestibulum a consequat vel, vulputate sit amet magna. Praesent suscipit tristique velit</content>
    <swfa>1b.png</swfa>
    <swfb>1bb.png</swfb>
    </slide>
    <slide id="3">
    <title>Title 3</title>
    <content>Mauris eget lorem est. Mauris non est mauris. Ut vulputate porttitor nulla sed euismod. Cras auctor tristique mauris ut rhoncus. Curabitur a eros eros. Ut nec ante vitae quam gravida viverra. Morbi interdum fringilla suscipit. Sed nibh arcu, ultricies quis sollicitudin vitae, placerat quis nibh. Morbi pretium purus vitae quam placerat et pulvinar neque facilisis. Etiam ut tempor enim. Curabitur id quam ultricies est mattis vehicula. Mauris eget lorem est. Mauris non est mauris. Ut vulputate porttitor nulla sed euismod. Cras auctor tristique mauris ut rhoncus. Curabitur a eros eros. Ut nec ante vitae quam gravida viverra. Morbi interdum fringilla suscipit. Sed nibh arcu, ultricies quis sollicitudin vitae, placerat quis nibh. Morbi pretium purus vitae quam placerat et pulvinar neque facilisis. Etiam ut tempor enim. Curabitur id quam ultricies est mattis vehicula</content>
    <swfa>1c.png</swfa>
    <swfb>1cc.png</swfb>
    </slide>
    </slides>
    How can I get the components on each frame to display the content of the xml file? Thanks for any help

    Hello Kglad
    Same error:
    TypeError: Error #1010: A term is undefined and has no properties.
        at test_fla::MainTimeline/frame1()
    This is the code:
    var slideA:Array = [];
    var urlLDR:URLLoader=new URLLoader();
    urlLDR.addEventListener(Event.COMPLETE,f);
    urlLDR.load(new URLRequest("presentation.xml"));
    function f(e:Event):void{
        var xml:XML = XML(e.target.data);
        for(var i:int=0;i<xml.slide.length();i++){
            slideA.push(xml.slide[i]);
    title1a_lbl.text = slideA[0].title;
    text1a_lbl.text = slideA[0].content;
    This is the presentation.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <slides>
    <slide id="1">
    <title>Title 1</title>
    <content>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas a orci vitae sem gravida faucibus. Sed fringilla, diam ut mollis dignissim, ligula ante mollis leo, eget ornare odio lacus sit amet elit. Suspendisse potenti. Mauris sapien lacus, lacinia quis consequat vel, ullamcorper vehicula ipsum. Cras condimentum, nibh sed cursus hendrerit, nibh libero vehicula velit, et volutpat arcu eros ut risus.+ '\r\n' + Aliquam lacinia aliquam sapien, id bibendum odio consequat sit amet. Aenean egestas ligula tristique turpis tempor malesuada. Sed varius ornare risus sit amet eleifend. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</content>
    <swfa>1a.png</swfa>
    <swfb>1aa.png</swfb>
    </slide>
    <slide id="2">
    <title>Title 2</title>
    <content>Donec a nisi nisi, et feugiat odio. Maecenas elementum varius est a malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla ac magna tincidunt arcu tempor laoreet. Sed tristique vehicula scelerisque. Nam volutpat venenatis nisi, vitae facilisis nulla scelerisque quis. Mauris neque eros, venenatis a placerat et, vulputate non augue. Cras placerat enim at lectus aliquet interdum. Phasellus tincidunt lorem non leo lobortis commodo. Sed sollicitudin hendrerit tortor, non elementum lorem dignissim id. Etiam fermentum mi ut arcu consectetur sit amet dictum erat fringilla. Curabitur lacinia odio ut felis mollis nec ullamcorper urna imperdiet. Praesent lectus sem, mattis vel semper in, fermentum non quam. Sed libero dolor, vestibulum a consequat vel, vulputate sit amet magna. Praesent suscipit tristique velit</content>
    <swfa>1b.png</swfa>
    <swfb>1bb.png</swfb>
    </slide>
    <slide id="3">
    <title>Title 3</title>
    <content>Mauris eget lorem est. Mauris non est mauris. Ut vulputate porttitor nulla sed euismod. Cras auctor tristique mauris ut rhoncus. Curabitur a eros eros. Ut nec ante vitae quam gravida viverra. Morbi interdum fringilla suscipit. Sed nibh arcu, ultricies quis sollicitudin vitae, placerat quis nibh. Morbi pretium purus vitae quam placerat et pulvinar neque facilisis. Etiam ut tempor enim. Curabitur id quam ultricies est mattis vehicula. Mauris eget lorem est. Mauris non est mauris. Ut vulputate porttitor nulla sed euismod. Cras auctor tristique mauris ut rhoncus. Curabitur a eros eros. Ut nec ante vitae quam gravida viverra. Morbi interdum fringilla suscipit. Sed nibh arcu, ultricies quis sollicitudin vitae, placerat quis nibh. Morbi pretium purus vitae quam placerat et pulvinar neque facilisis. Etiam ut tempor enim. Curabitur id quam ultricies est mattis vehicula</content>
    <swfa>1c.png</swfa>
    <swfb>1cc.png</swfb>
    </slide>
    </slides>

  • Another beginner question about targeting functions

    I've read what I thought was an excellent thread about scope in EA, but I'm still not getting some of the basics (btw the thread was http://forums.adobe.com/message/5287753#5287753).
    I have "slides" in the symbol library and in the main composition compositionReady script I've set up a generic script for playing back sound. That script works fine when I bind it within the compositionReady script to a symbol and click, so I know the funciton itself is fine. My question, I'm programmatically loading the slides from the library as I go along and want to use the generic function I created in the compositionReady script, but I can't seem to create the proper syntax to call the script. Here's some that I have tried. What is the correct syntax? The script is on frame inside the slide symbol.
    //sym.getComposition().getStage().playSound();
    //sym.getComposition().playSound();
    //Edge.getComposition("CER_1").playSound();

    Thanks for having a look. Yea, it's getting to the script fine but it doesn't like the syntax. Console always indicates javascript error, which is what happens when Edge throws an exception because it doesn't know what to do. The article that Elaine posted on above gives me the sense that it might be best to change the function to a variable, then it would be in scope to call but I have parameters I'd like to pass with it and I don't think  I can pass a parameter with to a variabalized (word?) function. I know it's just me moving from ActionScript to Edge JavaScript and scope. Whereas I could always find a homebase in ActionScript with the stage, it seems that the stage in Edge is just another symbol and calling a function within the stage is never getting there. Elaine hints at putting outside the stage closure and it would be accessible, which, of course, has led me to start readying JavaScript books and learning more about scope etc. It seems like that is life as a developer. I  dont' get that, oh, better take a day or two to  understand that concept, oh, that function works now, next problem. ;-)

  • Just another rtorrent ui mod

    hi, I have been working on just another rtorrent ui mod, it's mainly inspired from rtorrent-mod by karabaja4 - thanks to him :-)
    I am sorry, I haven't made any package yet (need to study for it as never done before). I am attaching a patch for now, apply it from src directory like below.
    highlights:
    1 - colored more elements (tracker lists, chunks, files list, transferring chunks list etc)
    2 - a bit different ui
    3 - almost everything done lowercase (I like it like that, sorry if you don't like it)
    pwd should be rtorrent/src/rtorrent-0.9.3/src
    patch -p1 < ui-rtorrent-mod.patch
    Patch:
    diff -rupN src/display/canvas.cc src-custom/display/canvas.cc
    --- src/display/canvas.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/canvas.cc 2013-06-06 01:54:59.338119016 +0530
    @@ -5,12 +5,12 @@
    // it under the terms of the GNU General Public License as published by
    // the Free Software Foundation; either version 2 of the License, or
    // (at your option) any later version.
    +//
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    // GNU General Public License for more details.
    +//
    // You should have received a copy of the GNU General Public License
    // along with this program; if not, write to the Free Software
    // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    @@ -95,10 +95,21 @@ void
    Canvas::initialize() {
    if (m_isInitialized)
    return;
    +
    m_isInitialized = true;
    initscr();
    +
    + /* colors */
    + start_color();
    + use_default_colors();
    + init_pair(1, COLOR_RED, -1);
    + init_pair(2, COLOR_YELLOW, -1);
    + init_pair(3, COLOR_GREEN, -1);
    + init_pair(4, COLOR_BLUE, -1);
    + init_pair(5, COLOR_MAGENTA, -1);
    + init_pair(6, COLOR_CYAN, -1);
    +
    raw();
    noecho();
    nodelay(stdscr, TRUE);
    @@ -110,7 +121,7 @@ void
    Canvas::cleanup() {
    if (!m_isInitialized)
    return;
    +
    m_isInitialized = false;
    noraw();
    diff -rupN src/display/utils.cc src-custom/display/utils.cc
    --- src/display/utils.cc 2012-02-14 09:02:01.000000000 +0530
    +++ src-custom/display/utils.cc 2013-06-06 01:54:59.338119016 +0530
    @@ -53,6 +53,8 @@
    #include <torrent/data/file_manager.h>
    #include <torrent/download/resource_manager.h>
    #include <torrent/peer/client_info.h>
    +#include <torrent/peer/connection_list.h>
    +#include <torrent/peer/peer_list.h>
    #include "core/download.h"
    #include "core/manager.h"
    @@ -98,9 +100,9 @@ print_hhmmss_local(char* first, char* la
    char*
    print_ddhhmm(char* first, char* last, time_t t) {
    if (t / (24 * 3600) < 100)
    - return print_buffer(first, last, "%2id %2i:%02i", (int)t / (24 * 3600), ((int)t / 3600) % 24, ((int)t / 60) % 60);
    + return print_buffer(first, last, "%2id %2i:%02i |", (int)t / (24 * 3600), ((int)t / 3600) % 24, ((int)t / 60) % 60);
    else
    - return print_buffer(first, last, "--d --:--");
    + return print_buffer(first, last, "--d --:-- |");
    char*
    @@ -129,26 +131,53 @@ print_address(char* first, char* last, c
    char*
    print_download_title(char* first, char* last, core::Download* d) {
    - return print_buffer(first, last, " %s", d->info()->name().c_str());
    + first = print_buffer(first, last, "%s ", d->info()->name().c_str());
    +
    + return first;
    +}
    +
    +char *
    +print_download_title_extra(char* first, char* last, core::Download* d) {
    + if (d->is_hash_checking()) {
    + first = print_buffer(first, last, "| checking hash %3i%%",
    + (d->download()->chunks_hashed() * 100) / d->download()->file_list()->size_chunks());
    + } else if (d->tracker_list()->has_active_not_scrape()) {
    + torrent::TrackerList::iterator itr =
    + std::find_if(d->tracker_list()->begin(), d->tracker_list()->end(),
    + std::mem_fun(&torrent::Tracker::is_busy_not_scrape));
    + char status[128];
    +
    + (*itr)->get_status(status, sizeof(status));
    + first = print_buffer(first, last, "| connecting to %s %s",
    + (*itr)->url().c_str(), status);
    + } else if (!d->message().empty()) {
    + first = print_buffer(first, last, "| %s", d->message().c_str());
    + } else {
    + *first = '\0';
    + }
    +
    + return first;
    char*
    print_download_info(char* first, char* last, core::Download* d) {
    if (!d->download()->info()->is_open())
    - first = print_buffer(first, last, "[CLOSED] ");
    + first = print_buffer(first, last, "stop | ");
    else if (!d->download()->info()->is_active())
    - first = print_buffer(first, last, "[OPEN] ");
    + first = print_buffer(first, last, "open | ");
    + else if (!d->is_done())
    + first = print_buffer(first, last, "load | ");
    else
    - first = print_buffer(first, last, " ");
    + first = print_buffer(first, last, "---- | ");
    if (d->is_done())
    - first = print_buffer(first, last, "done %10.1f MB", (double)d->download()->file_list()->size_bytes() / (double)(1 << 20));
    + first = print_buffer(first, last, "done %8.1f mb", (double)d->download()->file_list()->size_bytes() / (double)(1 << 20));
    else
    - first = print_buffer(first, last, "%6.1f / %6.1f MB",
    + first = print_buffer(first, last, "%6.1f/%6.1f mb",
    (double)d->download()->bytes_done() / (double)(1 << 20),
    (double)d->download()->file_list()->size_bytes() / (double)(1 << 20));
    - first = print_buffer(first, last, " Rate: %5.1f / %5.1f KB Uploaded: %7.1f MB",
    + first = print_buffer(first, last, " | rate: %4.1f/%5.1f kb | uploaded: %5.1f mb |",
    (double)d->info()->up_rate()->rate() / (1 << 10),
    (double)d->info()->down_rate()->rate() / (1 << 10),
    (double)d->info()->up_rate()->total() / (1 << 20));
    @@ -157,24 +186,19 @@ print_download_info(char* first, char* l
    first = print_buffer(first, last, " ");
    first = print_download_percentage_done(first, last, d);
    - first = print_buffer(first, last, " ");
    + first = print_buffer(first, last, " | ");
    first = print_download_time_left(first, last, d);
    - } else {
    - first = print_buffer(first, last, " ");
    - first = print_buffer(first, last, " [%c%c R: %4.2f",
    - rpc::call_command_string("d.tied_to_file", rpc::make_target(d)).empty() ? ' ' : 'T',
    - rpc::call_command_value("d.ignore_commands", rpc::make_target(d)) == 0 ? ' ' : 'I',
    - (double)rpc::call_command_value("d.ratio", rpc::make_target(d)) / 1000.0);
    + first = print_buffer(first, last, " peers: %i(%i)",
    + (int)d->download()->connection_list()->size(),
    + (int)d->download()->peer_list()->available_list_size());
    if (d->priority() != 2)
    - first = print_buffer(first, last, " %s", rpc::call_command_string("d.priority_str", rpc::make_target(d)).c_str());
    + first = print_buffer(first, last, " | %s", rpc::call_command_string("d.priority_str", rpc::make_target(d)).c_str());
    + }
    if (!d->bencode()->get_key("rtorrent").get_key_string("throttle_name").empty())
    - first = print_buffer(first, last , " %s", rpc::call_command_string("d.throttle_name", rpc::make_target(d)).c_str());
    - first = print_buffer(first, last , "]");
    + first = print_buffer(first, last , " | %s", rpc::call_command_string("d.throttle_name", rpc::make_target(d)).c_str());
    if (first > last)
    throw torrent::internal_error("print_download_info(...) wrote past end of the buffer.");
    @@ -182,48 +206,48 @@ print_download_info(char* first, char* l
    return first;
    -char*
    -print_download_status(char* first, char* last, core::Download* d) {
    - if (d->is_active())
    - else if (rpc::call_command_value("d.hashing", rpc::make_target(d)) != 0)
    - first = print_buffer(first, last, "Hashing: ");
    - else if (!d->is_active())
    - first = print_buffer(first, last, "Inactive: ");
    - if (d->is_hash_checking()) {
    - first = print_buffer(first, last, "Checking hash [%2i%%]",
    - (d->download()->chunks_hashed() * 100) / d->download()->file_list()->size_chunks());
    - } else if (d->tracker_list()->has_active_not_scrape()) {
    - torrent::TrackerList::iterator itr =
    - std::find_if(d->tracker_list()->begin(), d->tracker_list()->end(),
    - std::mem_fun(&torrent::Tracker::is_busy_not_scrape));
    - char status[128];
    - (*itr)->get_status(status, sizeof(status));
    - first = print_buffer(first, last, "Tracker[%i:%i]: Connecting to %s %s",
    - (*itr)->group(), std::distance(d->tracker_list()->begin(), itr), (*itr)->url().c_str(), status);
    - } else if (!d->message().empty()) {
    - first = print_buffer(first, last, "%s", d->message().c_str());
    - } else {
    - *first = '\0';
    - if (first > last)
    - throw torrent::internal_error("print_download_status(...) wrote past end of the buffer.");
    - return first;
    +char*
    +print_download_status(char* first, char* last, core::Download* d) {
    + if (d->is_active())
    + ;
    + else if (rpc::call_command_value("d.hashing", rpc::make_target(d)) != 0)
    + first = print_buffer(first, last, "hashing: ");
    + else if (!d->is_active())
    + first = print_buffer(first, last, "inactive: ");
    +
    + if (d->is_hash_checking()) {
    + first = print_buffer(first, last, "checking hash [%2i%%]",
    + (d->download()->chunks_hashed() * 100) / d->download()->file_list()->size_chunks());
    +
    + } else if (d->tracker_list()->has_active_not_scrape()) {
    + torrent::TrackerList::iterator itr =
    + std::find_if(d->tracker_list()->begin(), d->tracker_list()->end(),
    + std::mem_fun(&torrent::Tracker::is_busy_not_scrape));
    + char status[128];
    +
    + (*itr)->get_status(status, sizeof(status));
    + first = print_buffer(first, last, "tracker[%i:%i]: connecting to %s %s",
    + (*itr)->group(), std::distance(d->tracker_list()->begin(), itr), (*itr)->url().c_str(), status);
    +
    + } else if (!d->message().empty()) {
    + first = print_buffer(first, last, "%s", d->message().c_str());
    +
    + } else {
    + *first = '\0';
    + }
    +
    + if (first > last)
    + throw torrent::internal_error("print_download_status(...) wrote past end of the buffer.");
    +
    + return first;
    +}
    char*
    print_download_time_left(char* first, char* last, core::Download* d) {
    uint32_t rate = d->info()->down_rate()->rate();
    if (rate < 512)
    - return print_buffer(first, last, "--d --:--");
    + return print_buffer(first, last, "--d --:-- |");
    time_t remaining = (d->download()->file_list()->size_bytes() - d->download()->bytes_done()) / (rate & ~(uint32_t)(512 - 1));
    @@ -233,10 +257,9 @@ print_download_time_left(char* first, ch
    char*
    print_download_percentage_done(char* first, char* last, core::Download* d) {
    if (!d->is_open() || d->is_done())
    - //return print_buffer(first, last, "[--%%]");
    - return print_buffer(first, last, " ");
    + return print_buffer(first, last, " ");
    else
    - return print_buffer(first, last, "[%2u%%]", (d->download()->file_list()->completed_chunks() * 100) / d->download()->file_list()->size_chunks());
    + return print_buffer(first, last, "%2u%%", (d->download()->file_list()->completed_chunks() * 100) / d->download()->file_list()->size_chunks());
    char*
    @@ -260,23 +283,23 @@ print_client_version(char* first, char*
    char*
    print_status_info(char* first, char* last) {
    if (!torrent::up_throttle_global()->is_throttled())
    - first = print_buffer(first, last, "[Throttle off");
    + first = print_buffer(first, last, "[throttle off");
    else
    - first = print_buffer(first, last, "[Throttle %3i", torrent::up_throttle_global()->max_rate() / 1024);
    + first = print_buffer(first, last, "[throttle %3i", torrent::up_throttle_global()->max_rate() / 1024);
    if (!torrent::down_throttle_global()->is_throttled())
    - first = print_buffer(first, last, "/off KB]");
    + first = print_buffer(first, last, "/off kb]");
    else
    - first = print_buffer(first, last, "/%3i KB]", torrent::down_throttle_global()->max_rate() / 1024);
    + first = print_buffer(first, last, "/%3i kb]", torrent::down_throttle_global()->max_rate() / 1024);
    - first = print_buffer(first, last, " [Rate %5.1f/%5.1f KB]",
    + first = print_buffer(first, last, " [rate %4.1f/%5.1f kb]",
    (double)torrent::up_rate()->rate() / 1024.0,
    (double)torrent::down_rate()->rate() / 1024.0);
    - first = print_buffer(first, last, " [Port: %i]", (unsigned int)torrent::connection_manager()->listen_port());
    + first = print_buffer(first, last, " [port: %i]", (unsigned int)torrent::connection_manager()->listen_port());
    if (!rak::socket_address::cast_from(torrent::connection_manager()->local_address())->is_address_any()) {
    - first = print_buffer(first, last, " [Local ");
    + first = print_buffer(first, last, " [local ");
    first = print_address(first, last, torrent::connection_manager()->local_address());
    first = print_buffer(first, last, "]");
    @@ -285,7 +308,7 @@ print_status_info(char* first, char* las
    throw torrent::internal_error("print_status_info(...) wrote past end of the buffer.");
    if (!rak::socket_address::cast_from(torrent::connection_manager()->bind_address())->is_address_any()) {
    - first = print_buffer(first, last, " [Bind ");
    + first = print_buffer(first, last, " [bind ");
    first = print_address(first, last, torrent::connection_manager()->bind_address());
    first = print_buffer(first, last, "]");
    @@ -295,24 +318,24 @@ print_status_info(char* first, char* las
    char*
    print_status_extra(char* first, char* last) {
    - first = print_buffer(first, last, " [U %i/%i]",
    + first = print_buffer(first, last, " [u %i/%i]",
    torrent::resource_manager()->currently_upload_unchoked(),
    torrent::resource_manager()->max_upload_unchoked());
    - first = print_buffer(first, last, " [D %i/%i]",
    + first = print_buffer(first, last, " [d %i/%i]",
    torrent::resource_manager()->currently_download_unchoked(),
    torrent::resource_manager()->max_download_unchoked());
    - first = print_buffer(first, last, " [H %u/%u]",
    + first = print_buffer(first, last, " [h %u/%u]",
    control->core()->http_stack()->active(),
    control->core()->http_stack()->max_active());
    - first = print_buffer(first, last, " [S %i/%i/%i]",
    + first = print_buffer(first, last, " [s %i/%i/%i]",
    torrent::total_handshakes(),
    torrent::connection_manager()->size(),
    torrent::connection_manager()->max_size());
    - first = print_buffer(first, last, " [F %i/%i]",
    + first = print_buffer(first, last, " [f %i/%i]",
    torrent::file_manager()->open_files(),
    torrent::file_manager()->max_open_files());
    diff -rupN src/display/utils.h src-custom/display/utils.h
    --- src/display/utils.h 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/utils.h 2013-06-06 01:54:59.331452368 +0530
    @@ -66,6 +66,7 @@ char* print_ddhhmm(char* first, ch
    char* print_ddmmyyyy(char* first, char* last, time_t t);
    char* print_download_title(char* first, char* last, core::Download* d);
    +char* print_download_title_extra(char* first, char* last, core::Download* d);
    char* print_download_info(char* first, char* last, core::Download* d);
    char* print_download_status(char* first, char* last, core::Download* d);
    char* print_download_time_left(char* first, char* last, core::Download* d);
    diff -rupN src/display/window_download_chunks_seen.cc src-custom/display/window_download_chunks_seen.cc
    --- src/display/window_download_chunks_seen.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/window_download_chunks_seen.cc 2013-06-06 02:04:03.243342326 +0530
    @@ -66,7 +66,7 @@ WindowDownloadChunksSeen::redraw() {
    if (m_canvas->height() < 3 || m_canvas->width() < 18)
    return;
    - m_canvas->print(2, 0, "Chunks seen: [C/A/D %i/%i/%.2f]",
    + m_canvas->print(2, 0, "chunks seen: [c/a/d %i/%i/%.2f]",
    (int)m_download->download()->peers_complete() + m_download->download()->file_list()->is_done(),
    (int)m_download->download()->peers_accounted(),
    std::floor(m_download->distributed_copies() * 100.0f) / 100.0f);
    @@ -74,15 +74,16 @@ WindowDownloadChunksSeen::redraw() {
    const uint8_t* seen = m_download->download()->chunks_seen();
    if (seen == NULL || m_download->download()->file_list()->bitfield()->empty()) {
    - m_canvas->print(2, 2, "Not available.");
    + m_canvas->print(2, 2, "not available.");
    return;
    if (!m_download->is_done()) {
    - m_canvas->print(36, 0, "X downloaded missing queued downloading");
    - m_canvas->print_char(50, 0, 'X' | A_BOLD);
    - m_canvas->print_char(61, 0, 'X' | A_BOLD | A_UNDERLINE);
    - m_canvas->print_char(71, 0, 'X' | A_REVERSE);
    + m_canvas->print(36, 0, " downloaded missing queued downloading");
    + m_canvas->print_char(36, 0, 'x' | COLOR_PAIR(3));
    + m_canvas->print_char(50, 0, 'x' | COLOR_PAIR(1));
    + m_canvas->print_char(61, 0, 'x' | A_UNDERLINE);
    + m_canvas->print_char(71, 0, 'x' | COLOR_PAIR(6));
    *m_focus = std::min(*m_focus, max_focus());
    @@ -109,15 +110,15 @@ WindowDownloadChunksSeen::redraw() {
    chtype attr;
    if (bitfield->get(chunk - seen)) {
    - attr = A_NORMAL;
    + attr = COLOR_PAIR(3);
    } else if (itrTransfer != transferChunks.end() && (uint32_t)(chunk - seen) == (*itrTransfer)->index()) {
    if (std::find_if((*itrTransfer)->begin(), (*itrTransfer)->end(), std::mem_fun_ref(&torrent::Block::is_transfering)) != (*itrTransfer)->end())
    - attr = A_REVERSE;
    + attr = COLOR_PAIR(1);
    else
    - attr = A_BOLD | A_UNDERLINE;
    + attr = A_UNDERLINE;
    itrTransfer++;
    } else {
    - attr = A_BOLD;
    + attr = COLOR_PAIR(6);
    m_canvas->print_char(attr | rak::value_to_hexchar<0>(std::min<uint8_t>(*chunk, 0xF)));
    diff -rupN src/display/window_download_list.cc src-custom/display/window_download_list.cc
    --- src/display/window_download_list.cc 2012-02-14 09:02:01.000000000 +0530
    +++ src-custom/display/window_download_list.cc 2013-06-06 01:54:59.331452368 +0530
    @@ -71,7 +71,7 @@ WindowDownloadList::redraw() {
    if (m_view == NULL)
    return;
    - m_canvas->print(0, 0, "%s", ("[View: " + m_view->name() + "]").c_str());
    + m_canvas->print(0, 0, "%s", ("[view: " + m_view->name() + "]").c_str());
    if (m_view->empty_visible() || m_canvas->width() < 5 || m_canvas->height() < 2)
    return;
    @@ -81,7 +81,7 @@ WindowDownloadList::redraw() {
    Range range = rak::advance_bidirectional(m_view->begin_visible(),
    m_view->focus() != m_view->end_visible() ? m_view->focus() : m_view->begin_visible(),
    m_view->end_visible(),
    - m_canvas->height() / 3);
    + (m_canvas->height() - 1) / 3);
    // Make sure we properly fill out the last lines so it looks like
    // there are more torrents, yet don't hide it if we got the last one
    @@ -89,21 +89,54 @@ WindowDownloadList::redraw() {
    if (range.second != m_view->end_visible())
    ++range.second;
    - int pos = 1;
    + int pos = 2;
    while (range.first != range.second) {
    char buffer[m_canvas->width() + 1];
    char* last = buffer + m_canvas->width() - 2 + 1;
    + int title_length;
    + //do not print on last lines if cannot show whole torrent
    + if (pos >= (m_canvas->height() - 1))
    + break;
    +
    + // print title
    print_download_title(buffer, last, *range.first);
    - m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
    - print_download_info(buffer, last, *range.first);
    - m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
    + m_canvas->print(0, pos, "%c %s", range.first == m_view->focus() ? '>' : ' ', buffer);
    + title_length = strlen(buffer);
    + if ((*range.first)->is_done()) {
    + m_canvas->set_attr(2, pos, (title_length), A_BOLD, 3);
    + } else {
    + m_canvas->set_attr(2, pos, (title_length), A_BOLD, 2);
    + }
    + //print title extra
    + print_download_title_extra(buffer, last, *range.first);
    +
    + //do not let title extra get off screen
    + buffer[m_canvas->width() - title_length - 2] = '\0';
    + m_canvas->print((title_length + 2), pos++, "%s", buffer);
    - print_download_status(buffer, last, *range.first);
    - m_canvas->print(0, pos++, "%c %s", range.first == m_view->focus() ? '*' : ' ', buffer);
    + print_download_info(buffer, last, *range.first);
    + m_canvas->print(0, pos, " %s", buffer);
    + if (!(*range.first)->info()->is_open()) {
    + //closed
    + m_canvas->set_attr(2, pos, 4, A_BOLD, 1);
    + } else if (!(*range.first)->info()->is_active()) {
    + //paused
    + m_canvas->set_attr(2, pos, 4, A_BOLD, 2);
    + } else {
    + //active
    + m_canvas->set_attr(2, pos, 4, A_BOLD, 3);
    + }
    +
    + if ((*range.first)->is_done()) {
    + //finished
    + m_canvas->set_attr(9, pos, 16, A_BOLD, 3);
    + }
    + m_canvas->set_attr(28, pos, (strlen(buffer) - 26), A_NORMAL, 6);
    + pos++;
    + pos++;
    ++range.first;
    diff -rupN src/display/window_download_statusbar.cc src-custom/display/window_download_statusbar.cc
    --- src/display/window_download_statusbar.cc 2012-02-14 09:02:01.000000000 +0530
    +++ src-custom/display/window_download_statusbar.cc 2013-06-06 01:54:59.328119043 +0530
    @@ -68,7 +68,7 @@ WindowDownloadStatusbar::redraw() {
    print_download_info(buffer, last, m_download);
    m_canvas->print(0, 0, "%s", buffer);
    - snprintf(buffer, last - buffer, "Peers: %i(%i) Min/Max: %i/%i Slots: U:%i/%i D:%i/%i U/I/C/A: %i/%i/%i/%i Unchoked: %u/%u Failed: %i",
    + snprintf(buffer, last - buffer, "peers: %i(%i) min/max: %i/%i slots: u:%i/%i d:%i/%i u/i/c/a: %i/%i/%i/%i unchoked: %u/%u failed: %i",
    (int)m_download->download()->connection_list()->size(),
    (int)m_download->download()->peer_list()->available_list_size(),
    (int)m_download->download()->connection_list()->min_size(),
    diff -rupN src/display/window_download_transfer_list.cc src-custom/display/window_download_transfer_list.cc
    --- src/display/window_download_transfer_list.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/window_download_transfer_list.cc 2013-06-06 01:54:59.331452368 +0530
    @@ -65,7 +65,7 @@ WindowDownloadTransferList::redraw() {
    const torrent::TransferList* transfers = m_download->download()->transfer_list();
    - m_canvas->print(2, 0, "Transfer list: [Size %i]", transfers->size());
    + m_canvas->print(2, 0, "transfer list: [size %i]", transfers->size());
    torrent::TransferList::const_iterator itr = transfers->begin();
    @@ -74,7 +74,7 @@ WindowDownloadTransferList::redraw() {
    // prettify this. (This is a very subtle hint)
    for (unsigned int y = 1; y < m_canvas->height() && itr != transfers->end(); ++y, ++itr) {
    - m_canvas->print(0, y, "%5u [P: %u F: %u]", (*itr)->index(), (*itr)->priority(), (*itr)->failed());
    + m_canvas->print(0, y, "%5u [p: %u f: %u]", (*itr)->index(), (*itr)->priority(), (*itr)->failed());
    // Handle window size.
    for (torrent::BlockList::const_iterator bItr = (*itr)->begin(), bLast = (*itr)->end(); bItr != bLast; ++bItr) {
    @@ -89,7 +89,7 @@ WindowDownloadTransferList::redraw() {
    chtype attr = A_NORMAL;
    if (bItr->is_finished()) {
    - attr = A_REVERSE;
    + attr = COLOR_PAIR(3);
    id = key_id(bItr->leader()->const_peer_info());
    } else if (bItr->is_transfering()) {
    diff -rupN src/display/window_file_list.cc src-custom/display/window_file_list.cc
    --- src/display/window_file_list.cc 2012-02-14 09:02:01.000000000 +0530
    +++ src-custom/display/window_file_list.cc 2013-06-06 01:54:59.338119016 +0530
    @@ -154,9 +154,9 @@ WindowFileList::redraw() {
    unsigned int pos = 0;
    - int filenameWidth = m_canvas->width() - 16;
    + int filenameWidth = m_canvas->width() - 18;
    - m_canvas->print(0, pos++, "Cmp Pri Size Filename");
    + m_canvas->print(0, pos++, "cmp pri size filename");
    while (pos != m_canvas->height()) {
    iterator itr = entries[first];
    @@ -164,17 +164,17 @@ WindowFileList::redraw() {
    if (itr == iterator(fl->end()))
    break;
    - m_canvas->set_default_attributes(itr == m_element->selected() ? is_focused() ? A_REVERSE : A_BOLD : A_NORMAL);
    + m_canvas->set_default_attributes(itr == m_element->selected() ? is_focused() ? COLOR_PAIR(3) : A_NORMAL : A_NORMAL);
    if (itr.is_empty()) {
    - m_canvas->print(0, pos, "%*c%-*s", 16, ' ', filenameWidth, "EMPTY");
    + m_canvas->print(0, pos, "%*c%-*s", 18, ' ', filenameWidth, "empty");
    } else if (itr.is_entering()) {
    - m_canvas->print(0, pos, "%*c %ls", 16 + itr.depth(), '\\',
    - itr.depth() < (*itr)->path()->size() ? wstring_width((*itr)->path()->at(itr.depth()), filenameWidth - itr.depth() - 1).c_str() : L"UNKNOWN");
    + m_canvas->print(0, pos, "%*c %ls", 18 + itr.depth(), '\\',
    + itr.depth() < (*itr)->path()->size() ? wstring_width((*itr)->path()->at(itr.depth()), filenameWidth - itr.depth() - 1).c_str() : L"unknown");
    } else if (itr.is_leaving()) {
    - m_canvas->print(0, pos, "%*c %-*s", 16 + (itr.depth() - 1), '/', filenameWidth - (itr.depth() - 1), "");
    + m_canvas->print(0, pos, "%*c %-*s", 18 + (itr.depth() - 1), '/', filenameWidth - (itr.depth() - 1), "");
    } else if (itr.is_file()) {
    torrent::File* e = *itr;
    @@ -185,7 +185,7 @@ WindowFileList::redraw() {
    case torrent::PRIORITY_OFF: priority = "off"; break;
    case torrent::PRIORITY_NORMAL: priority = " "; break;
    case torrent::PRIORITY_HIGH: priority = "hig"; break;
    - default: priority = "BUG"; break;
    + default: priority = "bug"; break;
    m_canvas->print(0, pos, "%3d %s ", done_percentage(e), priority);
    @@ -193,19 +193,19 @@ WindowFileList::redraw() {
    int64_t val = e->size_bytes();
    if (val < (int64_t(1000) << 10))
    - m_canvas->print(8, pos, "%5.1f K", (double)val / (int64_t(1) << 10));
    + m_canvas->print(8, pos, " %5.1f k ", (double)val / (int64_t(1) << 10));
    else if (val < (int64_t(1000) << 20))
    - m_canvas->print(8, pos, "%5.1f M", (double)val / (int64_t(1) << 20));
    + m_canvas->print(8, pos, " %5.1f m ", (double)val / (int64_t(1) << 20));
    else if (val < (int64_t(1000) << 30))
    - m_canvas->print(8, pos, "%5.1f G", (double)val / (int64_t(1) << 30));
    + m_canvas->print(8, pos, " %5.1f g ", (double)val / (int64_t(1) << 30));
    else
    - m_canvas->print(8, pos, "%5.1f T", (double)val / (int64_t(1) << 40));
    + m_canvas->print(8, pos, " %5.1f t ", (double)val / (int64_t(1) << 40));
    - m_canvas->print(15, pos, "%*c %ls", 1 + itr.depth(), '|',
    - itr.depth() < (*itr)->path()->size() ? wstring_width((*itr)->path()->at(itr.depth()), filenameWidth - itr.depth() - 1).c_str() : L"UNKNOWN");
    + m_canvas->print(17, pos, "%*c %ls", 1 + itr.depth(), '|',
    + itr.depth() < (*itr)->path()->size() ? wstring_width((*itr)->path()->at(itr.depth()), filenameWidth - itr.depth() - 1).c_str() : L"unknown");
    } else {
    - m_canvas->print(0, pos, "BORK BORK");
    + m_canvas->print(0, pos, "bork bork");
    m_canvas->set_default_attributes(A_NORMAL);
    diff -rupN src/display/window_http_queue.cc src-custom/display/window_http_queue.cc
    --- src/display/window_http_queue.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/window_http_queue.cc 2013-06-06 01:54:59.328119043 +0530
    @@ -70,7 +70,7 @@ WindowHttpQueue::redraw() {
    m_canvas->erase();
    - m_canvas->print(0, 0, "Http [%i]", m_queue->size());
    + m_canvas->print(0, 0, "http [%i]", m_queue->size());
    unsigned int pos = 10;
    Container::iterator itr = m_container.begin();
    diff -rupN src/display/window_input.cc src-custom/display/window_input.cc
    --- src/display/window_input.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/window_input.cc 2013-06-06 01:54:59.338119016 +0530
    @@ -49,7 +49,7 @@ WindowInput::redraw() {
    m_canvas->print(0, 0, "%s> %s", m_title.c_str(), m_input != NULL ? m_input->c_str() : "<NULL>");
    if (m_focus)
    - m_canvas->set_attr(m_input->get_pos() + 2 + m_title.size(), 0, 1, A_REVERSE, COLOR_PAIR(0));
    + m_canvas->set_attr(m_input->get_pos() + 2 + m_title.size(), 0, 1, A_BOLD, 3);
    diff -rupN src/display/window_peer_list.cc src-custom/display/window_peer_list.cc
    --- src/display/window_peer_list.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/window_peer_list.cc 2013-06-06 01:54:59.334785692 +0530
    @@ -68,16 +68,16 @@ WindowPeerList::redraw() {
    int x = 2;
    int y = 0;
    - m_canvas->print(x, y, "IP"); x += 16;
    - m_canvas->print(x, y, "UP"); x += 7;
    - m_canvas->print(x, y, "DOWN"); x += 7;
    - m_canvas->print(x, y, "PEER"); x += 7;
    - m_canvas->print(x, y, "CT/RE/LO"); x += 10;
    - m_canvas->print(x, y, "QS"); x += 6;
    - m_canvas->print(x, y, "DONE"); x += 6;
    - m_canvas->print(x, y, "REQ"); x += 6;
    - m_canvas->print(x, y, "SNUB"); x += 6;
    - m_canvas->print(x, y, "FAILED");
    + m_canvas->print(x, y, "ip"); x += 16;
    + m_canvas->print(x, y, "up"); x += 7;
    + m_canvas->print(x, y, "down"); x += 7;
    + m_canvas->print(x, y, "peer"); x += 7;
    + m_canvas->print(x, y, "ct/re/lo"); x += 10;
    + m_canvas->print(x, y, "qs"); x += 6;
    + m_canvas->print(x, y, "done"); x += 6;
    + m_canvas->print(x, y, "req"); x += 6;
    + m_canvas->print(x, y, "snub"); x += 6;
    + m_canvas->print(x, y, "failed");
    ++y;
    diff -rupN src/display/window_title.cc src-custom/display/window_title.cc
    --- src/display/window_title.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/display/window_title.cc 2013-06-06 01:54:59.338119016 +0530
    @@ -47,7 +47,9 @@ WindowTitle::redraw() {
    m_canvas->erase();
    m_canvas->print(std::max(0, ((int)m_canvas->width() - (int)m_title.size()) / 2 - 4), 0,
    - "*** %s ***", m_title.c_str());
    + "--- %s ---", m_title.c_str());
    + m_canvas->set_attr((((int)m_canvas->width() - (int)m_title.size()) / 2 - 4), 0, 3, A_BOLD, 1);
    + m_canvas->set_attr(((((int)m_canvas->width() - (int)m_title.size()) / 2) + (int)m_title.size() + 1), 0, 3, A_BOLD, 1);
    diff -rupN src/display/window_tracker_list.cc src-custom/display/window_tracker_list.cc
    --- src/display/window_tracker_list.cc 2012-04-10 18:16:51.000000000 +0530
    +++ src-custom/display/window_tracker_list.cc 2013-06-06 01:54:59.331452368 +0530
    @@ -65,7 +65,7 @@ WindowTrackerList::redraw() {
    torrent::TrackerList* tl = m_download->tracker_list();
    torrent::TrackerController* tc = m_download->tracker_controller();
    - m_canvas->print(2, pos, "Trackers: [Key: %08x] [%s %s %s]",
    + m_canvas->print(2, pos, "trackers: [key: %08x] [%s %s %s]",
    tl->key(),
    tc->is_requesting() ? "req" : " ",
    tc->is_promiscuous_mode() ? "prom" : " ",
    @@ -99,7 +99,7 @@ WindowTrackerList::redraw() {
    else
    state = " ";
    - m_canvas->print(0, pos++, "%s Id: %s Counters: %uf / %us (%u) %s S/L/D: %u/%u/%u (%u/%u)",
    + m_canvas->print(0, pos++, "%s id: %s counters: %uf / %us (%u) %s s/l/d: %u/%u/%u (%u/%u)",
    state,
    rak::copy_escape_html(tracker->tracker_id()).c_str(),
    tracker->failed_counter(),
    @@ -114,13 +114,13 @@ WindowTrackerList::redraw() {
    if (range.first == *m_focus) {
    - m_canvas->set_attr(4, pos - 2, m_canvas->width(), is_focused() ? A_REVERSE : A_BOLD, COLOR_PAIR(0));
    - m_canvas->set_attr(4, pos - 1, m_canvas->width(), is_focused() ? A_REVERSE : A_BOLD, COLOR_PAIR(0));
    + m_canvas->set_attr(4, pos - 2, m_canvas->width(), is_focused() ? A_BOLD : A_NORMAL, 3);
    + m_canvas->set_attr(4, pos - 1, m_canvas->width(), is_focused() ? A_BOLD : A_NORMAL, 3);
    if (tracker->is_busy()) {
    - m_canvas->set_attr(0, pos - 2, 4, A_REVERSE, COLOR_PAIR(0));
    - m_canvas->set_attr(0, pos - 1, 4, A_REVERSE, COLOR_PAIR(0));
    + m_canvas->set_attr(0, pos - 2, 4, A_BOLD, 2);
    + m_canvas->set_attr(0, pos - 1, 4, A_BOLD, 2);
    range.first++;
    diff -rupN src/ui/download.cc src-custom/ui/download.cc
    --- src/ui/download.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/ui/download.cc 2013-06-06 01:54:59.404785502 +0530
    @@ -109,22 +109,22 @@ inline ElementBase*
    Download::create_menu() {
    ElementMenu* element = new ElementMenu;
    - element->push_back("Peer list",
    + element->push_back("peer list",
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_focus), DISPLAY_PEER_LIST),
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_menu), DISPLAY_PEER_LIST));
    - element->push_back("Info",
    + element->push_back("info",
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_focus), DISPLAY_INFO),
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_menu), DISPLAY_INFO));
    - element->push_back("File list",
    + element->push_back("file list",
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_focus), DISPLAY_FILE_LIST),
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_menu), DISPLAY_FILE_LIST));
    - element->push_back("Tracker list",
    + element->push_back("tracker list",
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_focus), DISPLAY_TRACKER_LIST),
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_menu), DISPLAY_TRACKER_LIST));
    - element->push_back("Chunks seen",
    + element->push_back("chunks seen",
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_focus), DISPLAY_CHUNKS_SEEN),
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_menu), DISPLAY_CHUNKS_SEEN));
    - element->push_back("Transfer list",
    + element->push_back("transfer list",
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_focus), DISPLAY_TRANSFER_LIST),
    sigc::bind(sigc::mem_fun(this, &Download::activate_display_menu), DISPLAY_TRANSFER_LIST));
    @@ -149,41 +149,41 @@ Download::create_info() {
    // Get these bindings with some kind of string map.
    - element->push_column("Name:", te_command("d.name="));
    - element->push_column("Local id:", te_command("d.local_id_html="));
    - element->push_column("Info hash:", te_command("d.hash="));
    - element->push_column("Created:", te_command("cat=$convert.date=$d.creation_date=,\" \",$convert.time=$d.creation_date="));
    + element->push_column("name:", te_command("d.name="));
    + element->push_column("local id:", te_command("d.local_id_html="));
    + element->push_column("info hash:", te_command("d.hash="));
    + element->push_column("created:", te_command("cat=$convert.date=$d.creation_date=,\" \",$convert.time=$d.creation_date="));
    element->push_back("");
    - element->push_column("Directory:", te_command("d.directory="));
    - element->push_column("Base Path:", te_command("d.base_path="));
    - element->push_column("Tied to file:", te_command("d.tied_to_file="));
    - element->push_column("File stats:", te_command("cat=$if=$d.is_multi_file=\\,multi\\,single,\" \",$d.size_files=,\" files\""));
    + element->push_column("directory:", te_command("d.directory="));
    + element->push_column("base Path:", te_command("d.base_path="));
    + element->push_column("tied to file:", te_command("d.tied_to_file="));
    + element->push_column("file stats:", te_command("cat=$if=$d.is_multi_file=\\,multi\\,single,\" \",$d.size_files=,\" files\""));
    element->push_back("");
    - element->push_column("Chunks:", te_command("cat=(d.completed_chunks),\" / \",(d.size_chunks),\" * \",(d.chunk_size),\" (\",(d.wanted_chunks),\")\""));
    - element->push_column("Priority:", te_command("d.priority="));
    - element->push_column("Peer exchange:", te_command("cat=$if=$d.peer_exchange=\\,enabled\\,disabled,\\ ,"
    + element->push_column("chunks:", te_command("cat=(d.completed_chunks),\" / \",(d.size_chunks),\" * \",(d.chunk_size),\" (\",(d.wanted_chunks),\")\""));
    + element->push_column("priority:", te_command("d.priority="));
    + element->push_column("peer exchange:", te_command("cat=$if=$d.peer_exchange=\\,enabled\\,disabled,\\ ,"
    "$if=$d.is_pex_active=\\,active\\,$d.is_private=\\,private\\,inactive,"
    "\\ (,$d.size_pex=,/,$d.max_size_pex=,)"));
    - element->push_column("State changed:", te_command("convert.elapsed_time=$d.state_changed="));
    + element->push_column("state changed:", te_command("convert.elapsed_time=$d.state_changed="));
    element->push_back("");
    - element->push_column("Memory usage:", te_command("cat=$convert.mb=$pieces.memory.current=,\" MB\""));
    - element->push_column("Max memory usage:", te_command("cat=$convert.mb=$pieces.memory.max=,\" MB\""));
    - element->push_column("Free diskspace:", te_command("cat=$convert.mb=$d.free_diskspace=,\" MB\""));
    - element->push_column("Safe diskspace:", te_command("cat=$convert.mb=$pieces.sync.safe_free_diskspace=,\" MB\""));
    + element->push_column("memory usage:", te_command("cat=$convert.mb=$pieces.memory.current=,\" MB\""));
    + element->push_column("max memory usage:", te_command("cat=$convert.mb=$pieces.memory.max=,\" MB\""));
    + element->push_column("free diskspace:", te_command("cat=$convert.mb=$d.free_diskspace=,\" MB\""));
    + element->push_column("safe diskspace:", te_command("cat=$convert.mb=$pieces.sync.safe_free_diskspace=,\" MB\""));
    element->push_back("");
    - element->push_column("Connection type:", te_command("cat=(d.connection_current),\" \",(if,(d.accepting_seeders),"",\"no_seeders\")"));
    - element->push_column("Choke heuristic:", te_command("cat=(d.up.choke_heuristics),\", \",(d.down.choke_heuristics),\", \",(d.group)"));
    - element->push_column("Safe sync:", te_command("if=$pieces.sync.always_safe=,yes,no"));
    - element->push_column("Send buffer:", te_command("cat=$convert.kb=$network.send_buffer.size=,\" KB\""));
    - element->push_column("Receive buffer:", te_command("cat=$convert.kb=$network.receive_buffer.size=,\" KB\""));
    + element->push_column("connection type:", te_command("cat=(d.connection_current),\" \",(if,(d.accepting_seeders),"",\"no_seeders\")"));
    + element->push_column("choke heuristic:", te_command("cat=(d.up.choke_heuristics),\", \",(d.down.choke_heuristics),\", \",(d.group)"));
    + element->push_column("safe sync:", te_command("if=$pieces.sync.always_safe=,yes,no"));
    + element->push_column("send buffer:", te_command("cat=$convert.kb=$network.send_buffer.size=,\" KB\""));
    + element->push_column("receive buffer:", te_command("cat=$convert.kb=$network.receive_buffer.size=,\" KB\""));
    // TODO: Define a custom command for this and use $argument.0 instead of looking up the name multiple times?
    - element->push_column("Throttle:", te_command("branch=d.throttle_name=,\""
    + element->push_column("throttle:", te_command("branch=d.throttle_name=,\""
    "cat=$d.throttle_name=,\\\" [Max \\\","
    "$convert.throttle=$throttle.up.max=$d.throttle_name=,\\\"/\\\","
    "$convert.throttle=$throttle.down.max=$d.throttle_name=,\\\" KB] [Rate \\\","
    @@ -192,10 +192,10 @@ Download::create_info() {
    "cat=\"global\""));
    element->push_back("");
    - element->push_column("Upload:", te_command("cat=$convert.kb=$d.up.rate=,\" KB / \",$convert.xb=$d.up.total="));
    - element->push_column("Download:", te_command("cat=$convert.kb=$d.down.rate=,\" KB / \",$convert.xb=$d.down.total="));
    - element->push_column("Skipped:", te_command("cat=$convert.kb=$d.skip.rate=,\" KB / \",$convert.xb=$d.skip.total="));
    - element->push_column("Preload:", te_command("cat=$pieces.preload.type=,\" / \",$pieces.stats_preloaded=,\" / \",$pieces.stats_preloaded="));
    + element->push_column("upload:", te_command("cat=$convert.kb=$d.up.rate=,\" KB / \",$convert.xb=$d.up.total="));
    + element->push_column("download:", te_command("cat=$convert.kb=$d.down.rate=,\" KB / \",$convert.xb=$d.down.total="));
    + element->push_column("skipped:", te_command("cat=$convert.kb=$d.skip.rate=,\" KB / \",$convert.xb=$d.skip.total="));
    + element->push_column("preload:", te_command("cat=$pieces.preload.type=,\" / \",$pieces.stats_preloaded=,\" / \",$pieces.stats_preloaded="));
    element->set_column_width(element->column_width() + 1);
    diff -rupN src/ui/download_list.cc src-custom/ui/download_list.cc
    --- src/ui/download_list.cc 2012-03-13 17:40:49.000000000 +0530
    +++ src-custom/ui/download_list.cc 2013-06-06 01:54:59.404785502 +0530
    @@ -221,12 +221,12 @@ DownloadList::activate_display(Display d
    // Set title.
    switch (displayType) {
    case DISPLAY_DOWNLOAD_LIST:
    - control->ui()->window_title()->set_title("rTorrent " VERSION "/" +
    + control->ui()->window_title()->set_title("rtorrent-custom " VERSION "/" +
    std::string(torrent::version()) + " - " +
    rpc::call_command_string("session.name"));
    break;
    case DISPLAY_LOG:
    - control->ui()->window_title()->set_title("Log");
    + control->ui()->window_title()->set_title("log");
    break;
    default: break;
    diff -rupN src/ui/element_download_list.cc src-custom/ui/element_download_list.cc
    --- src/ui/element_download_list.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/ui/element_download_list.cc 2013-06-06 01:54:59.404785502 +0530
    @@ -59,7 +59,7 @@ ElementDownloadList::ElementDownloadList
    m_window(NULL),
    m_view(NULL) {
    - receive_change_view("main");
    + receive_change_view("name");
    if (m_view == NULL)
    throw torrent::internal_error("View \"main\" must be present to initialize the main display.");
    @@ -153,7 +153,7 @@ ElementDownloadList::receive_command(con
    m_view->set_last_changed();
    } catch (torrent::input_error& e) {
    - lt_log_print(torrent::LOG_WARN, "Command failed: %s", e.what());
    + lt_log_print(torrent::LOG_WARN, "command failed: %s", e.what());
    return;
    diff -rupN src/ui/element_file_list.cc src-custom/ui/element_file_list.cc
    --- src/ui/element_file_list.cc 2012-01-19 15:48:01.000000000 +0530
    +++ src-custom/ui/element_file_list.cc 2013-06-06 01:54:59.408118826 +0530
    @@ -86,19 +86,19 @@ element_file_list_create_info() {
    element->set_column(1);
    element->set_interval(1);
    - element->push_back("File info:");
    + element->push_back("file info:");
    element->push_back("");
    - element->push_column("Filename:", te_command("fi.filename_last="));
    + element->push_column("filename:", te_command("fi.filename_last="));
    element->push_back("");
    - element->push_column("Size:", te_command("if=$fi.is_file=,$convert.xb=$f.size_bytes=,---"));
    - element->push_column("Chunks:", te_command("cat=$f.completed_chunks=,\" / \",$f.size_chunks="));
    - element->push_column("Range:", te_command("cat=$f.range_first=,\" - \",$f.range_second="));
    + element->push_column("size:", te_command("if=$fi.is_file=,$convert.xb=$f.size_bytes=,---"));
    + element->push_column("chunks:", te_command("cat=$f.completed_chunks=,\" / \",$f.size_chunks="));
    + element->push_column("range:", te_command("cat=$f.range_first=,\" - \",$f.range_second="));
    element->push_back("");
    - element->push_column("Queued:", te_command("cat=\"$if=$f.is_create_queued=,create\",\" \",\"$if=$f.is_resize_queued=,resize\""));
    - element->push_column("Prioritize:", te_command("cat=\"$if=$f.prioritize_first=,first\",\" \",\"$if=$f.prioritize_last=,last\""));
    + element->push_column("queued:", te_command("cat=\"$if=$f.is_create_queued=,create\",\" \",\"$if=$f.is_resize_queued=,resize\""));
    + element->push_column("prioritize:", te_command("cat=\"$if=$f.prioritize_first=,first\",\" \",\"$if=$f.prioritize_last=,last\""));
    element->set_column_width(element->column_width() + 1);
    diff -rupN src/ui/element_peer_list.cc src-custom/ui/element_peer_list.cc
    --- src/ui/element_peer_list.cc 2012-04-09 12:09:14.000000000 +0530
    +++ src-custom/ui/element_peer_list.cc 2013-06-06 01:54:59.404785502 +0530
    @@ -106,24 +106,24 @@ ElementPeerList::create_info() {
    element->set_column(1);
    element->set_interval(1);
    - element->push_back("Peer info:");
    + element->push_back("peer info:");
    element->push_back("");
    - element->push_column("Address:", te_command("cat=$p.address=,:,$p.port="));
    - element->push_column("Id:", te_command("p.id_html="));
    - element->push_column("Client:", te_command("p.client_version="));
    - element->push_column("Options:", te_command("p.options_str="));
    - element->push_column("Connected:", te_command("if=$p.is_incoming=,incoming,outgoing"));
    - element->push_column("Encrypted:", te_command("if=$p.is_encrypted=,yes,$p.is_obfuscated=,handshake,no"));
    + element->push_column("address:", te_command("cat=$p.address=,:,$p.port="));
    + element->push_column("id:", te_command("p.id_html="));
    + element->push_column("client:", te_command("p.client_version="));
    + element->push_column("options:", te_command("p.options_str="));
    + element->push_column("connected:", te_command("if=$p.is_incoming=,incoming,outgoing"));
    + element->push_column("encrypted:", te_command("if=$p.is_encrypted=,yes,$p.is_obfuscated=,handshake,no"));
    element->push_back("");
    - element->push_column("Snubbed:", te_command("if=$p.is_snubbed=,yes,no"));
    - element->push_column("Done:", te_command("p.completed_percent="));
    - element->push_column("Rate:", te_command("cat=$convert.kb=$p.up_rate=,\\ KB\\ ,$convert.kb=$p.down_rate=,\\ KB"));
    - element->push_column("Total:", te_command("cat=$convert.kb=$p.up_total=,\\ KB\\ ,$convert.kb=$p.down_total=,\\ KB"));
    + element->push_column("snubbed:", te_command("if=$p.is_snubbed=,yes,no"));
    + element->push_column("done:", te_command("p.completed_percent="));
    + element->push_column("rate:", te_command("cat=$convert.kb=$p.up_rate=,\\ KB\\ ,$convert.kb=$p.down_rate=,\\ KB"));
    + element->push_column("total:", te_command("cat=$convert.kb=$p.up_total=,\\ KB\\ ,$convert.kb=$p.down_total=,\\ KB"));
    element->set_column_width(element->column_width() + 1);
    - element->set_error_handler(new display::TextElementCString("No peer selected."));
    + element->set_error_handler(new display::TextElementCString("no peer selected."));
    return element;
    enjoy !!

    a screenshot !!

  • Just a technical question

    Hi,
    I'm not a developer but I wanted to ask here since I presume there're a lot more tech savvy people that could possibly give me a proper answer to just one small question regarding behavior of Mac OS X using the following example: at some moment I suddenly discovered that the Trackpad option which allows for search through the English Dictionary (Thesaurus, etc) tapping a highlighted word with three fingers no longer worked as before: when I tapped nothing happened or other word was "processed" in what seemed to me to be a chaotic order. I reset PRAM and its normal functioning returned. What exactly happened with the system that it started act incorrectly until the PRAM reset? I remember though that some days ago (before I discovered the issue) I did one more SMC and PRAM reset and performing the latter I released the combination of keys after the third chime. I then thought that it was too much so I repeated the operation exactly as recommended. Could the repetitive reset of PRAM be the reason and kind of shock to the OS?
    Would be happy to hear your opinions
    Have a nice day   

    Are you sure you haven;t turn it off in System Preferences->TrackPad;Point & Click?
    There it is called Lookup

  • Whenever I ask Siri a question it just links me to a website instead of just saying the answer.  The reason I ask Siri is because i am not in a position to look at my phone.  How can I get Siri to just answer my questions??

    Whenever I ask Siri a question it just links me to a website instead of just saying the answer.  The reason I ask Siri is because i am not in a position to look at my phone.  How can I get Siri to just answer my questions??

    I found that the only time Siri will read anything to you is if it finds a Wikipedia article. Siri will let you know it found that, and ask if you want it to be read out loud. Other than that you will hear the "I found this, take a look".
    The only other thing you can do is activate "Speak Screen". It will involve you taking a look at your phone for a moment, selecting what you'd like to look at, but Siri will read the content to you. It's in Settings > General > Accessibility.  Once activated, all you have to do is slide two fingers from the top of the screen and you will have it read to you. I use it all the time because of my astigmatism. It's pretty useful.

  • Another newb question: multiple virtual servers

    Hi, I have yet another ignorant question. I have several unrelated web projects that I am working on, and I would like to be able to set up a virtual server for each one for testing purposes, such as: http://project1, http://project2, http://project3. Can someone tell me if this is doable, and if there are any tutorials/resources on this for someone who has 0 experience running a web serer? Sorry for being so ignorant!

    Yes, it is doable.
    You can setup virtual server either by IP or by name.
    If you have one IP, and want to set them up by name (ex. http://project1, http://project2, http://project3) you can do so easily with this type of configuration:
    <virtual-server>
        <name>mydomain</name>
        <http-listener-name>http-listener-1</http-listener-name>
        <host>*.mydomain.com</host>
        <document-root>/www/domain</document-root>
      </virtual-server>
      <virtual-server>
        <name>myotherdomain</name>
        <http-listener-name>http-listener-1</http-listener-name>
        <host>*.myotherdomain.com</host>
        <document-root>/www/myotherdomain</document-root>
      </virtual-server>
    ....The important part here is that
    a) all virtual servers share the same HTTP listener
    b) which virtual server serves the request depends on the $HOST request header send by the client. Sun Web Server does the matching for you. It will match $HOST vs. the virtual server's host attribute. Depending on which site you connect to the right virtual server will be used.
    c) if the $HOST request header does not match any of the virtual servers, then the default virtual server defined in the HTTP listener will be used.
    To create a virtual server, use the Admin GUI, access the configuration, and then add new virtual server. Or use the following CLI command.
    wadm> create-virtual-server --config=myconfig --http-listener-name=http-listener-1 --document-root=/www/docs/myserver.com --host-pattern=myserver.com --log-file=../logs/myserver.com-error_logs myserverHost pattern will be used for matching. Some of this elements might be optional.
    Hope that helps. And keep the questions coming :D
    Edit: Also check the documentation
    Using Virtual Servers in SJS Web Server 7.0

  • Hello there i just have 1 question, i have forgotten my security answers to the questions? what can i do? cause i just bought a new ipad and it wont let me access itunes without those 2 answers? please help

    hello there i just have 1 question, i have forgotten my security answers to the login questions how do i reset/change these, so atm i cannot get into the itunes store on my new ipad2?

    Hi sjs1983! You can get support for your Apple ID here:
    http://www.apple.com/support/appleid/

  • Just a quick question regards my mobo..

    I might possibly bricked my motherboard which I already ask a while back,, just a quick question,,, Now I did hooked up the powersupply to the motherboard alone,,, no other components,,, just the PSU and motherboard,,, then I use a paperclip to put static force on the motherboard's power button ( where powercables on the case should suppose to be in ),,, now the motherboard just keeps on blinking as my problem b4,, so its really the motherboard right??? I just want to confirm that the motherboard is the problem and no other components... thnks

    It is finally enough n2th2n. Don't open tons of threads for the same issue. For your board issue use your original thread: forum-en.msi.com/index.php?topic=184002
    Consider this a final warning.

  • Hi guys. Just a quick question. My wife has a Mac Book Pro and when she is browsing the web she can use a two fingered gesture to go back to her previous page (by swiping from right to left). Is there any way to set that up on my iPad Mini. Many thanks.

    Hi guys. Just a quick question. My wife has a Mac Book Pro and when she is browsing the web she can use a two fingered gesture to go back to her previous page (by swiping from right to left). Is there any way to set that up on my iPad Mini. Many thanks.

    Not in the Safari browser she can't. That is not supported on the iPad. There are other mobile browsers that do have that functionality - one is iCab Mobile.
    https://itunes.apple.com/us/app/icab-mobile-web-browser/id308111628?mt=8

  • Complete iPhoto event of daughter's prom gone.  Happened during iPhone 3 synch to mac air. No mojo, no weird key strokes, just another ordinary sync.  Event gone.  Apple no resolution.

    Complete iPhoto event of daughter's prom gone.  Happened during iPhone 3 synch to mac air. No mojo, no weird key strokes, just another ordinary sync.  Event gone.  Apple no resolution.

    With the amount of information you've provided it's impossible to offer a potential solution.  We can't see your computer so we need to know the details of your problem and setup, i.e.:
    what version of iPhoto are you using?
    what system version are you running?
    were the prom pictures on the iPhone 3 to begin with?
    what fixes have you tried?
    where is your library located?
    did you apply any updates or upgrades just prior to the problem occurring?
    are you running a "managed" or "referenced" library?
    what type of Mac?
    how much free space on your boot drive?
    OT

  • Another Heat Question

    Okay, so let me first start by saying that I have a extensive knowledge about computers including a diploma, a degree and multiple certifications (A+ etc).
    So, my relatively new MBP was getting quite hot recently and decided to check the actual operating temperature. Very quickly I realized that it was running at a very unsafe level even when just sitting there. The temperatures are ranged from 75-105(~221F) degrees Celsius when at IDLE (80-90% idle to be specific). This is obviously a fault with either the temperature sensor, CPU or something else. Anywho I drove an hour and took my Macbook in to the apple store and left it there for two days, which was a HUGE inconvenience for me because I use it for my day to day work. They called me to pick it up and told me that they found no fault and that the computer was operating well within the realm of what is deemed a "proper operating temperature". I tried explaining what was happening but the apple store host clearly had no idea what to say and was not would not show me the report the benchmark generated.
    I called the 1800 number and talked to apple support about the problem who then transferred me to a level 2 tech. I explained very calmly that CPUs were never ever meant to run this hot and that if this continued the CPU would burn out several times sooner then if it were cool. She was extremely unhelpful and all she kept doing was plugging Apple Care over and over. I told her that it seems ridiculous that I need to spend more money just to project my obviously faulty investment. I probably should have known she wasn’t going to help after she asked me if we use dollars in Canada and that she "always gets those two mixed up".
    Even as I type this I have nothing but firefox and a temperature monitor open, and my computer is jumping back and forth from 70-80C. If it weren’t for Apples all mighty warranty’s I would crack it open and try and fix the problem myself. Also, these questions are probably going to get asked, all updates are done, computer is getting used on a flat surface in a very cool climate and most basic trouble shooting has been done. Also, im not using any 3rd party application that changes the fan speed.
    Any ideas?
    Specs:
    MBP 15" 5.3
    2.8 Ghz
    4Gb ram
    500Gb HD
    OS 10.6.2

    Hi , Intentt,
    What I'm not clear about here is just what your question actually is.
    Are you asking what may be causing your heat issue, or are you asking what you should do to get your computer looked at further by Apple?
    If it is the former, it is going to get tedious for you and us if we keep on digging around for possibilities which you then say you have already tried. If it is the latter then the answer is simple. All you can do is try a different Apple Service Provider, or try further contact through Apple Customer Relations.
    Cheers
    Rod

  • Another simple questions

    Hello friends:
    Another simple question: I need to learn things about Oracle on my desktop.
    My machine runs Windows 98. Oracle has some desktop product of its Database Line?
    For example: Oracle Personal?
    And Oracle Lite? What's the main difference between Oracle Personal and
    Oracle Lite?
    Thank You
    Gracias
    Ing. Pablo Romero
    CORDOBA ARGENTINA

    1. I didn't know the answer to your first question, but I googled it and it says the item is the in-call audio boost.
    http://forums.crackberry.com/f71/flag-icon-47659/
    2. isn't this setting determined by the carrier? So it's not a setting in the phone, but when you call in to your voicemail you can change your options?

  • Hi there, I just bought an iMac 2011.  Just a quick question.  Are those keyboard and mouse batteries that comes with the package are rechargeable?

    Hi there, I just bought an iMac 2011.  Just a quick question.  Are those keyboard and mouse batteries that comes with the package are rechargeable?  Thanks!

    Mine was bought last year and they were not; it they don't say "rechargeable". they're not. I started to use rechargeable as soon as the original batteries died.

  • TS1420 I have purchased a song. Just another day by Jon secada and it won't play

    I Purchased Jon secada ..just another day and it won't play.

    Delete it, and redownload it through past purchases. http://support.apple.com/kb/ht2519

Maybe you are looking for

  • Solution to SIII That Won't Switch to 3G?

    I am disappointed: I switched to Verizon because I couldn't get reception in my basement office, while a coworker with Verizon could.  My SIII will switch to 3G when no 4G service is available, but it stays with 4G even when poor reception makes data

  • Mail Program Hung Up on my new iPad

    I just received my new iPad today! I was busy setting things up and all was working well, and then my Mail screen froze. I was entering some names from an email into my contacts list when the screen dimmed a bit and locked up. Now, I can't get it to

  • J2EE Client Application (weblogic.ClientDeployer)

    Hello, I'm experimenting with the ClientDeployer utility as described in the 6.1 documentation, and I face some odd behavior. I created a jar file (cli.jar) containing the class files of my client application, and a META-INF/application-client.xml fi

  • Please describe thread library selection algorithm for Linux JRE (1.4.2)

    Hello: While observing strace output I can see certain libraries releated to threading (i.e. /lib/libc, /lib/i686/libc, /lib/tls/libc) being utilized (open or loaded). Question: Can someome quantify it wrt the following 'resources' 1). LD_ASSUME_KERN

  • Printing from applet

    I have a java 1.1 applet, which has been printing ok from IE, since I moved up to JDK1.4.0_01, the print dialog comes up as usual but after clicking ok, the answereing yes to the allow java to print question, the applet hangs. When I've turned on the