panel-dictionary
Plasma 4 Extensions
Description:

Panel-dictionary is a dictionary plasmoid in the spirit of KDE 3's kdict panel applet. It gives you a text box in the panel in which you can type a word and get its definition in a dialog.

Panel-dictionary gives you a choice of backends, each with different capabilities.
  • Plasma dict dataengine

  • Command line dict client

  • Python-dictclient


  • Using the command line dict-client, it will use whatever you've set up in ~/.dictrc or /etc/dictd/dict.conf. Using the python-dictclient, you can specify a server to use.

    This is my first plasmoid, written in Python; it probably needs a lot of work!

    KNOWN ISSUES:
  • dict dataengine backend is just lacking. Not really much I can do about this.

  • background sizing issues when moved from the panel

  • Unicode only works with the dict client backend


  • If you want to contribute, you can check out the code at github:
    https://github.com/alandmoore/panel-dictionary-plasmoid

    Changelog:

    6 years ago

    Version 0.3.2 2009-12-25

  • Added option to force definitions black-on-white.

  • Fixed Unicode support for dict-client backend (only) -- thanks kozakmamay
    Version 0.3.1 2009-08-31
    [li]Fixed sizing issue when used in panel

  • Version 0.3 2009-08-27
  • Redesigned definition view with a tabbed interface

  • Matched words can be clicked to look them up

  • Removed useless blank context menu in combobox

  • Version 0.2 2009-08-25
  • Appearance configuration allows changing size of combobox and color of text

  • Improvements to output of dict commandline backend

  • dict command line backend allows server setting

  • added icons to config dialog


  • Version 0.1.1 - 2009-08-23
  • Fixed focus bug (thanks emdek!!!)


  • Version 0.1 - 2009-08-21

  • First release
  • 7 years ago

    gravy

    Unicode (UTF-8) output is broken http://img136.imageshack.us/img136/3834/90375194.png

    Report

    7 years ago

    admoore

    What backend are you using?

    Report

    7 years ago

    gravy

    dict client
    dict 1.11.1/rf on Linux 2.6.29-tuxonice-r3
    dictd on localhost and dictd.xdsl.by give same result
    python-2.6

    Report

    7 years ago

    kozakmamay

    Change line 183 of main.py from
    line = defs.pop(0);
    to
    line = unicode(defs.pop(0), "utf-8")

    Report

    7 years ago

    admoore

    Thanks for the suggestion, I tried this but it doesn't seem to fix the problem. Did it work for you? The plasmoid still give me:

    UnicodeEncodeError: 'ascii' codec can't encode character u'\xdf' in position 14: ordinal not in range(128)

    Not sure where or why this is happening.

    Report

    7 years ago

    admoore

    wait, never mind; adding it to line 178 as well fixes unicode for the dict client backend.

    Unicode still crashes the python-dict backend, it looks like a shortcoming of the library itself.

    Report

    7 years ago

    downdiagonal

    I've written a small python module that gets definitions using Google's "define: word" feature. You might find it useful.

    http://pastebin.com/f53f35361

    Report

    7 years ago

    admoore

    Thanks for the info, I'll consider it.

    Report

    7 years ago

    Emdek

    Quote:
    combo box has a hard time acquiring and keeping focus when in the panel, especially when there is a maximized application on screen.


    You could try mine method to give it (embedded line edit) focus, you can find it in Run Command applet.
    I'm not sure if it is easy to port it to Python, but you can at least try. ;-)

    Report

    7 years ago

    admoore

    Thanks! I looked a lot at the RunCommand source, but I couldn't figure out exactly what what going on there. Did you just basically have to custom-build the combobox?

    I'll dig into it a little more and see if I can understand it.

    Report

    7 years ago

    Emdek

    No (this if ror other reason), look at focusWidget() method. ;-)

    Report

    7 years ago

    admoore

    Thanks. I checked it out, and read your post to plasma-devel, but I am not sure I get what's going on yet.

    Where does the scene() method come from (what class/library)? I couldn't find it in the API reference.

    Report

    7 years ago

    admoore

    Ok, actually after some digging I managed to get your function ported to python, and (yay!) it works! ... sort of.

    It only gives focus to the widget if I click the area AROUND the combobox widget. If there was a signal that I could connect when the combobox is clicked, that would work. But according to all I can find, there isn't :-(.

    Short of subclassing QlineEdit and overriding its mousePressEvent, I'm not sure what else to do.

    Report

    7 years ago

    Emdek

    There is no event filter available in bindings?

    Report

    7 years ago

    admoore

    erm... maybe. I'll have to look into that. I'm pretty new to this API.

    Report

    Supporters

    Recent Donations

    Be the first to donate
    Filename Version Description Filetype Packagetype License Downloads Date Filesize Install
    Score 67%
    67.00 Likes
    33 Dislikes

    0 Supporters for panel-dictionary:

    Recent Donations:

    Be the first to donate
    show all
    Details
    version
    0.3.2
    updated Nov 09 2010
    added Aug 22 2009
    downloads
    page views 502
    support admoore
    For The Product
    panel-dictionary
    5 - 10 - 25 - 50 - 100 - 200 - 500