Coder Social home page Coder Social logo

arcan1s / awesome-widgets Goto Github PK

View Code? Open in Web Editor NEW
74.0 74.0 4.0 8.25 MB

Minimalistic Plasmoid set

Home Page: https://arcanis.me/projects/awesome-widgets/

License: GNU General Public License v3.0

Shell 0.31% CMake 1.90% C++ 85.86% QML 11.45% C 0.48%
kde kde-plasma kde-plasma-6 plasma-applet plasmoid widget

awesome-widgets's People

Contributors

arcan1s avatar ibnuda avatar mermouy avatar transifex-integration[bot] avatar underr avatar wlemuel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-widgets's Issues

Adding graphical item support

I plan to implement graphical element support to AW. The first releases will support only simple bars - vertical and horizontal ones. Please feel free to ask me for some bar features.

Tag:
${bar%type,%activecolor,%inactivecolor,%orientation,%hsize,%vsize}

  • %type - type of a bar. As for text tags
  • %*color - colors (should be with alpha channel support)
  • %orientation - integer. Bar orientation (horizontal, vertical, circle?, etc)
  • %*size - size in pixels

Tag example is:
${barcpu,#ffffff,#000000,0,100,20}

I'll close this issue when I'll create a release with bar support.

Custom command outputs nothing

Hi! I'm having trouble getting a custom command to work. I've entered the following into the first line of Data Engine -> Custom Command (replacing the default wget command):

vnstat -s | grep today | awk '{print $2}'

Not sure what I'm missing but $custom0 doesn't display anything, however this command works fine in a console window and outputs a decimal number to 2 dps.

Ideally I'd like for this command to run every minute or so (as opposed to every second) since the vnstat data increases slowly. Do you know if this is possible ?

Thanks for a great tool! :)

Implement more correct process operations

ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/qt/QtCore/qlist.h, line 486
KCrash: Application 'plasmawindowed' crashing...
KCrash: Attempting to start /usr/lib/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__0
QProcess: Destroyed while process ("bash") is still running.

To avoid this warning imo I should try to run child processes as startDetached and wait for finished signal.

Multiple instances no longer work

I upgraded my system this morning, and multiple instances of awesome-widgets no longer work. I have three instances of awesome widgets, all displaying different custom commands (let's call the commands a, b and c). However, all three instances show the same identical output (a). I can right click on each instance, select Awesome Widget Settings…, and confirm that they are configured to show different outputs.

In addition, if I check the settings for the instance defined as b, I then click Cancel, and all instances then show b's output! I can repeat this for c and a to make all three instances show the expected output for both of these instances.

There were a few KDE upgrades this morning; seemingly, all relate to the upgrade of KDE Frameworks from 5.11.0 to 5.12.0. I'm happy to troubleshoot more if necessary.

Arch Linux
Plasma 5.3.2
Awesome widgets 2.3.3 (from AUR)

Custom scripts don't appear to work

I'm attempting to use custom scripts, but I can't get them to work. Even the included scripts appear to be broken.

I've created a custom script (DataEngine > Custom scripts > Edit scripts) with command echo foo. I selected prefix = empty, active, has output, redirect = nothing and interval = 1. (I'm not entirely sure what all these options mean.) I then made the widget show $custom0. It's not clear which number matches with which script, so I also tried $custom1 and $custom2. I get no output in all cases.

Also, I tried deleting my script with DataEngine > Custom scripts > Edit scripts > Select my script > Remove, but this did nothing. The script did not disappear.

MPD doesnt working

Thx alot for the MPD support! i do have it on localhost on 6600 but it still dosent seem to connect? any clue?
MPD output:
$ echo 'currentsong\nclose' | curl --connect-timeout 1 -fsm 3 telnet://localhost:6600 2> /dev/null
OK MPD 0.17.0
file: D/Destroyer/Kaputt/04 - Suicide Demo for Kara Walker.flac
Last-Modified: 2012-10-04T13:20:26Z
Time: 506
Album: Kaputt
Artist: Destroyer
Title: Suicide Demo for Kara Walker
Date: 2011
Genre: Soft
Track: 4
Pos: 0
Id: 1488
OK

Original message: http://openDesktop.org/content/show.php?content=157124

Translation status

Page on transifex

If you want to create a translation for Awesome Widgets it is great.

First you should get a source text. It may be found on github (path is sources/translations/awesome-widgets.pot) or here is a direct link.

Then copy the source file (awesome-widgets.pot``) toxx.po, wherexxis short name of selected language (for example,en) and edit it. I uselokalizeto do it, but you may use any text editor (just put translated text into double quotes in linesmsgstr""). (But I think that using any special editor (such as [lokalize](kde.org/applications/development/lokalize/) or [poedit](http://poedit.net/)) is more comfortable.) Examples of finished files you may find in [the repo](https://github.com/arcan1s/awesome-widgets) too (path issources/translations, files arexx.po`).

If you have a github account you may fork my repo, create a translation and then create a pull request. If you do not have one you may send me files in any convenient manner (via e-mail too).

STATUS

  • Arabic (ar)
  • Bulgarian (bg)
  • Bosnian (bs)
  • Catalan (ca)
  • Czech (cs)
  • Danish (da)
  • German (de)
  • Greek (el)
  • DONE Englisn (en)
  • DONE Spanish (es)
  • Estonian (et)
  • Basque (eu)
  • Finnish (fi)
  • DONE French (fr)
  • Irish Gaelic (ga)
  • Galician (gl)
  • Hebrew (he)
  • Hindi (hi)
  • Croatian (hr)
  • Hungarian (hu)
  • Interlingua (ia)
  • Indonesian (id)
  • Icelandic (is)
  • Italian (it)
  • Japanese (ja)
  • Kazakh (kk)
  • Khmer (km)
  • Korean (ko)
  • Lithuanian (lt)
  • Latvian (lv)
  • Marathi (mr)
  • Norwegian Bokmal (nb)
  • DONE Dutch (nl)
  • Norwegian Nynorsk (nn)
  • Panjabi/Punjabi (pa)
  • Polish (pl)
  • Portuguese (pt)
  • DONE Brazillian Portuguese (pt_BR)
  • Romanian (ro)
  • DONE Russian (ru)
  • Slovak (sk)
  • Slovenian (sl)
  • Serbian (sr)
  • Swedish (sv)
  • Turkish (tr)
  • Uyghur (ug)
  • DONE Ukrainian (uk)
  • Vietnamese (vi)
  • Walloon (wa)
  • DONE Chinese (zh)

Invalid updates

Sometimes widget receives invalid data from dataengine. The most frequent case is network speed (sometimes it is 0). In other cases there are High memory usage notifications, despite the fact that memory usage level is less than 50% in all known cases.

Probably increasing the update time to 2 sec will fix the issue. Also it is possible that it will be fixed on plasma side in the future releases (KDE4 version has no such behaviour).

Temperature doesn't support tempN properly

Hi,

Firstly this is awesome so thank you.

Secondly, I think the temperature component is not working correctly.
By default it's set to:
[temp: $temp0&deg;C]

However on my system I need it set to temp1 as temp0 doesn't exist:

# /usr/bin/sensors -u    
asus-isa-0000
Adapter: ISA adapter
temp1:
  temp1_input: 48.000

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:
  temp1_input: 50.000
  temp1_max: 100.000
  temp1_crit: 100.000
  temp1_crit_alarm: 0.000
Core 0:
  temp2_input: 50.000
  temp2_max: 100.000
  temp2_crit: 100.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 48.000
  temp3_max: 100.000
  temp3_crit: 100.000
  temp3_crit_alarm: 0.000

When I set it to

[temp: $temp1&deg;C]

It literally displays

[temp: $temp1&deg;C]

Instead of converting $temp1 to a variable as expected.

Adjust margins?

If not a big trouble for you it would be fine to be able to adjust margins, as one may add/use an additional panel just for pytext with all its infos and in such cases one wants to have a very narrow panel as it would contain just texts (in 9 or 10 points), but currently this is not possible because of big margins of pytext' text inside the panel.

Manually specify width in panels

In Plasma 5, when I add awesome-widgets to a panel, there is quite a lot of padding.
Screenshot

Also, the width is not fixed, so (for example) when the taskbar fills up, the padding of awesome-widgets decreases. Ideally, there should be an option for users to specify a fixed width of the plasmoid in pixels. This might also require additional options, such as whether text should be centred, or left/right aligned.

Another additional option might be for users to specify a fixed amount of padding either side of the text.

Opening VLC instantly crashes Plasma

Hi again! I've noticed that if I open VLC, Plasma instantly crashes. The crash notifier appears, and complains of missing debug symbols for several files, including ones owned by Awesome Widgets. I tried uninstalling Awesome Widgets, and after restarting Plasma, VLC now works.

I reinstalled Awesome Widgets, and Plasma immediately crashes on opening VLC. Plasma gets caught in a crash loop, crashing every 3–5 seconds, and only attempts to restart itself three times. I had to quit VLC before I could start Plasma successfully. I'm happy to provide debug files if you cannot reproduce this.

Also, I couldn't build Awesome Widgets using the latest PKGBUILD-git hosted here. I tried sourcing a few different commits, and it appears to be a problem in commit 6173b60.

Hence, it builds with

source=(${_pkgname}::git+https://github.com/arcan1s/awesome-widgets/#commit=4c9e39ec9b1d4baff17509149a1f7b3879cb3a70)

but not with

source=(${_pkgname}::git+https://github.com/arcan1s/awesome-widgets/#commit=6173b60806032b09325ff1939c98840e634024ba)

Again, I can provide more information on the failed build if useful.

Allow multiple lines of output

I'd love to have my todo.sh list on the dashboard, but Awesome Widgets doesn't appear to process newlines correctly. It'd be great if we could have multi-line output.

(Also, interpreting ANSI colour codes would be very cool; I'm happy to open up a new issue for this if you like.)

Incorrect update network device

Since version 1.7.0 tags @@...@@ no longer work:

if (self.parent.netNonFormat.split('@@')[0] == self.parent.netNonFormat):
    self.parent.systemmonitor.disconnectSource("network/interfaces/"+self.parent.netdev+"/transmitter/data", self.parent)
    self.parent.systemmonitor.disconnectSource("network/interfaces/"+self.parent.netdev+"/receiver/data", self.parent)
    self.parent.netdev = self.parent.setupNetdev()
    self.parent.systemmonitor.connectSource("network/interfaces/"+self.parent.netdev+"/transmitter/data", self.parent, self.parent.interval)
    self.parent.systemmonitor.connectSource("network/interfaces/"+self.parent.netdev+"/receiver/data", self.parent, self.parent.interval)

test

this is a test

Qt-only too?

This is too good to be KDE-only. Could you make it work in LXQt-panel without much trouble on your side?

Lazy updates

  1. Drop "Show key" action. (Probably not since the one value for each tag should be stored in the memory).
  2. Create mapping between dataengine source and tag.
  3. Create tag dependencies.
  4. Drop any source which is not required at the moment in runtime. Values map should not be changed. DO NOT FORGET ABOUT TOOLTIP AND VALUES WHICH IS CALCULATED FROM.
  5. Reconnect all sources on updates.

For 1: ask for source connection if it is not connected on value request.

There is not update network label

If specify network device after some period (10-15 minutes) the network label is no longer updated.
Original message:
"На дня словил очень странный баг. Через некоторое время зависает монитор сети (то есть замораживается на определенных цифрах и не обновляется). Причем только он, другие мониторы работают нормально. Если же поменять любые настройки, монитор сети отвисает... Сразу уточню - монитор сети у меня мониторит только Wi-Fi (@@wlan0@@)"

hddtemp doesnt work

the hddtemp line doesn't display any info. I made hddtemp to work without root priviledges (with 'sudo chmod u+s /usr/bin/hddtemp', and it works on the command line without using sudo) but it doesn't display any info in py text monitor. I'm on Arch Linux and i have the latest version of the app from AUR.
Original message: http://kde-look.org/content/show.php?content=157124

Increase maximum refresh time

The maximum refresh time seems to be limited to 10 seconds. Would it be possible to remove this limitation? For example, the included custom command to show your external IP would only need to be refreshed every hour or so.

Alternative time scheme

14:18 Mon 10 Mar

or

Mon 10 Mar 14:18

would be a very fine, legible, minimal, functional addition to the time tag. I mean:

letters numbers letters numbers.

The existing schemes:

$time: Mon Mar 10 14:18:47 2014

$isotime: 2014-03-10T14:18:47

$shorttime: 3/10/14 2:18 PM

$longtime: Monday, March 10, 2014 2:18:47 PM EEST

Panel text obscured on startup

The panel text is obscured by subsequent widgets on startup:
panel1
Quick workaround is to enter Awesome Widget Settings then hit OK:
panel2

Also, for some reason the text becomes obscured again some time after I apply the workaround. The time can be anything from a few minutes to half an hour or so and it happens all by itself, even when I'm away from the computer. FWIW I'm on KDE 4.13.2.

When the text is obscured, a right-click to show the popup menu fails unless it's done at the extreme bottom of the panel.

Update ui

After saving settings widget is not displayed correctly on panel. As individual widget or on plasma-windowed/plasmoidviewer plasmoid works normally.

Adding module system

I plan to implement module system support. The first releases will support only C++ modules, but I plan to implement python and shell modules support too. Developer documentation and examples will be created too.

The C++ class skel is:

class AWModule {
public:
    explicit AWModile(parent, action = false);
    ~AWModile();
    void init();
    QMap<QString, QString> moduleInfo();
    QString valueByKey(key);
    void setAction(bool);
    bool isAction();
public slots:
    void triggered();
    void dataUpdate();
    void dataUpdateRequested();
signals:
    void trigger();
    void dataUpdated();
private:
    QStringList keys();
    QMap<QString, QString> values();
}

Please feel free to ask me for a new features in module support until they are not released. I'll close this issue when I'll create the first release with modules support.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.