Skip to content

Plugin for Rainmeter enabling Python 3 scripting. is a fork of jblume/rainmeter-python which seems to be deleted.

License

Notifications You must be signed in to change notification settings

FelisNivalis/rainmeter-python

 
 

Repository files navigation

rainmeter-python

Originally created by jblume, now then maintained by glitchassassin, now abandoned.

Plugin for Rainmeter enabling Python 3.4/3.5 scripting

Installation

All Releases: Github All Releases

Unzip the DLL for your Python version and copy it to the 'Plugins' folder of your Rainmeter installation.

For this plugin to function, you'll need to install the Python distribution matching your Rainmeter's architecture (Win32 or x64). If in doubt, use Python x64. The corresponding 'python3x.dll' needs to be in your DLL search path; all standard installers of Python 3 automatically put the DLL into your System32 directory, so this should normally be the case. If you see an "Error 126" in Rainmeter's logs while trying to load the plugin, this is probably your issue.

Example (Simple)

[Measure]
Measure=Plugin
Plugin=Python
PythonHome=c:\Python35-x64
ScriptPath=default.py
ClassName=Measure
UpdateDivider=1
class Measure:
  def Reload(self, rm, maxValue):
    rm.RmLog(rm.LOG_NOTICE, "Reload called")

  def Update(self):
    return 1.0

  def GetString(self):
    return 'Test'

  def ExecuteBang(self, args):
    pass

  def Finalize(self):
    pass

Example (IMAP Unread Mail Count)

[Measure]
Measure=Plugin
Plugin=Python
ScriptPath=IMAP.py
PythonHome=c:\Python35-x64
ClassName=Measure
UpdateDivider=60
Username=username
Password=password
Host=mail.com
import imaplib

class Measure:
    def Reload(self, rm, maxValue):
        self.host = rm.RmReadString('Host', 'example.com', False)
        self.username = rm.RmReadString('Username', 'user', False)
        self.password = rm.RmReadString('Password', 'pass', False)

    def Update(self):
        con = imaplib.IMAP4(self.host)
        con.starttls()
        con.login(self.username, self.password)
        con.select('INBOX', True)
        _, msgnums = con.search(None, '(UNSEEN)')
        con.close()
        con.logout()
        return float(len(msgnums[0].split()))

About

Plugin for Rainmeter enabling Python 3 scripting. is a fork of jblume/rainmeter-python which seems to be deleted.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%