Yasb is a highly configurable and hackable taskbar written in python with Qt6.

Related tags

GUI Development yasb
Overview

Yasb: Yet Another Status Bar

Yasb is a highly configurable and hackable taskbar written in python with Qt6. This project is still in (very) early development, and the number of available widgets are currently very limited.

The feature set stands as follows:

  • Multiple taskbars for each screen
  • Fully customisable user interface via CSS stylesheet
  • Komorebi workspace navigation (very early development)
  • Clock widgets with time-zone cycling and alternate label formatting
  • Custom widgets capable of parsing/displaying content from command-line applications and on-click events

Configuration

All taskbars can be configured in a user-defined JSON config file config.json located in either of the following directories:

  • C:/Users/{username}/.yasb/config.json
  • /path/to/yasb/src/config.json

All taskbars can also be styled using a configurable stylesheet styles.css:

  • C:/Users/{username}/.yasb/styles.css
  • /path/to/yasb/src/styles.css

NOTE: If either of these configuration files are not present in the user's $HOME/.yasb directory (or if they contain errors), the default config and stylesheet will be loaded instead.

Development

Requirements

  • Python 3.6 or above (3.9+ recommended)

Local setup

  • Create a virtual python environment
  • Enter the venv and pip install -r requirements.txt
  • Configure styles.css and config.json accordingly
  • Run main.py

Linting

To lint the project, simply run the following in the root source directory:

pip install pylama
python -m pylama        # or just `pylama`
  • You can configure the linting tool via pylama.ini
  • If you choose to contribute, please lint your code beforehand.
Comments
  • komorebi integration can cause infinitely spawning komorebic.exe instances

    komorebi integration can cause infinitely spawning komorebic.exe instances

    I'm honestly not sure if this is a yasb, komorebi, or both problem but I have decided to put this issue here for the time being. Let me know if I should move it or if I can provide any additional information.

    Under certain conditions yasb being connected to komorebi can cause an error that will produce new komorebic.exe instances to spawn until a new window is focused by komorebi or yasb is terminated. These komorebic.exe instances will persist until yasb is terminated or each task is ended. This seems to be more common when dealing with windows that have had their window decorations removed but is not limited to such windows.

    The easiest most consistent steps to reproduce on my system have been as followed:

    1. Run komorebi
    2. Run yasb with the komorebi widget enabled
    3. Open Notepad.exe on an empty workspace
    4. Close Notepad.exe (Don't focus any windows after closing)

    Result:

    I have tried a decent amount of komorebi revisions* to attempt to narrow down this problem but most if not all have given similar results. I have also tried the Nov 19th, Dec 4th, and Dec 5th revisions of yasb as well. This error occurring after closing a window and stopping when a new window is focused by komorebi is the only real consistent factor I have found sadly. *image

    Windows 11 22000.348 *Yasb - ae15d7bff8baeb09522dff20be70de6b86d9572a *komorebi - 9fd4dbf

    *komorebi error (continues to repeat with each new komorebic.exe being spawned) *the (os error 10061) mentioned in my previous issue seemed to also cause this behavior.

    ERROR komorebi::process_command: could not get window title
    

    *yasb log

    Starting Yasb
    Successfully loaded config file and stylesheet
    Unknown property cursor
    Created bar 0 on monitor \\.\DISPLAY1
    Unknown property cursor
    Created bar 1 on monitor \\.\DISPLAY2
    Activating listener KomorebiEventListener
    Activating listener SystemEventListener
    SetWinEventHook Successful. Emitting focused window and waiting for events.
    Waiting for Komorebi to subscribe to named pipe yasb
    Unknown property cursor
    Unknown property cursor
    Unknown property cursor
    Unknown property cursor
    Komorebi connected to named pipe: yasb
    
    opened by Vernetzt 5
  • Komorebi Support not working: Failed to subscribe komorebi to named pipe: error: Found argument 'subscribe' which wasn't expected, or isn't valid in this context

    Komorebi Support not working: Failed to subscribe komorebi to named pipe: error: Found argument 'subscribe' which wasn't expected, or isn't valid in this context

    Hey! Love the project, Everything seems super cool, but I am not able to get komorebi support working out of the box. The error that led to the problem was:

    Failed to subscribe komorebi to named pipe: error: Found argument 'subscribe' which wasn't expected, or isn't valid in this context

    my komorebi folder is in the PATH so I normally just run komorebic start from powershell

    specs.txt

    yasb.log

    opened by rwendell 5
  • explain to me what i need to do to create a new custom executable widget

    explain to me what i need to do to create a new custom executable widget

    i want to run google from the bar how would i get a widget to show up with just plain text i want to click on the word chrome and it run chrome.exe or custom file path how would i go about that

    opened by XxnittanixX 4
  • active_window eventual failure when komorebi is connected

    active_window eventual failure when komorebi is connected

    active_window functions as expected unless komorebi is connected. When connected it will eventually* display "python" or [class_name='Qt621QWindowIcon' exe='python.exe' hwnd=9700656] *This seems to happen after clicking on the bar a couple of times.

    Windows 11 22000.348 *Yasb - b25fab781eee7ab73842a5925c0ee5135d9027a6 *komorebi - 9fd4dbf (komorebi - f9785be no longer gives the os error but Yasb still breaks and gives an error) (komorebi - 4e6e2b3) no os error, no Yasb error, active_window still breaks)

    *Yasb log

    Starting Yasb
    Successfully loaded config file and stylesheet
    Created bar 0 on monitor \\.\DISPLAY1
    Activating listener <class 'core.utils.komorebi.event_listener.KomorebiEventListener'>
    Activating listener <class 'core.utils.win32.event_listener.SystemEventListener'>
    SetWinEventHook Successful. Emitting focused window and waiting for events.
    Waiting for Komorebi to subscribe to named pipe yasb
    Komorebi connected to named pipe: yasb
    Failed to emit event signal <bound PYQT_SIGNAL k_signal_update of WorkspaceWidget object at 0x00000214F31C5FC0> with args: (None,)
    Traceback (most recent call last):
      File "C:\Users\%USERPROFILE%\Python\yasb\yasb-main\src\core\event_service.py", line 25, in emit_event
        event_signal.emit(*args)
    TypeError: WorkspaceWidget.k_signal_update[dict].emit(): argument 1 has unexpected type 'NoneType'
    Failed to emit event signal <bound PYQT_SIGNAL k_signal_update of WorkspaceWidget object at 0x00000214F31C5FC0> with args: (None,)
    

    *komorebi log

    ERROR komorebi::process_command: No connection could be made because the target machine actively refused it. (os error 10061)
    
    opened by Vernetzt 3
  • [BUG] Bar padding behavior

    [BUG] Bar padding behavior

    Expected Behavior

    top changes the top left changes left bottom changes the bottom right changes the right

    Current Behavior

    top changes the top and right? left changes the bottom? bottom changes the bottom and right? right changes the bottom?

    Context (Environment)

    This could be me misunderstanding the use of these settings but my assumption would be that changing the top padding to say top: 10 would pad the bar 10 pixels from the top of the screen it was created on. As it stands now doing so seems to do that but also pad the the bar on the right side by the same value. Similar problems exist for left/bottom/right as stated above.

    yasb - c03f296 Windows 11 - 22000.438

    Example

    bars:
      yasb-bar:
        alignment:
          position: "top"
          center: true
        dimensions:
          width: "100%"
          height: 25
        padding:
          top: 10
          left: 0
          bottom: 0
          right: 0
    

    Image showing the top left and right corners with pixel rulers in red. yasb-corners

    bug 
    opened by Vernetzt 2
  • Hot reload

    Hot reload

    It would be good if the changes were immediately applied on config save instead of having to restart yasb, much like how komorebic watch-configuration works.

    enhancement good first issue 
    opened by sitiom 2
  • komorebi integration causes a console window to spawn when using pythonw

    komorebi integration causes a console window to spawn when using pythonw

    When running yasb through pythonw with komorebi connected a komorebic.exe console window will temporarily spawn. This appears to be on a set interval and at the same time the state command is used. Running yasb alone through pythonw or running it normally with komorebi does not cause this behavior.

    Windows 11 22000.348 python - 3.10.0 yasb - 277ee711ee7bb609c472f5e4d4657c86bbe8109f komorebi - 5e3f1cb

    Not a huge deal for me personally but might bother some. (also thanks for the CPU widget, works great so far.)

    opened by Vernetzt 2
  • chore(deps): bump pytz from 2022.1 to 2022.6

    chore(deps): bump pytz from 2022.1 to 2022.6

    Bumps pytz from 2022.1 to 2022.6.

    Commits
    • 4ebc28d Bump version numbers to 2022.6 / 2022f
    • f1bd81b IANA 2022f
    • 5797f88 Squashed 'tz/' changes from c4eb3fcf2..623631d84
    • dacb1a1 Upgrade unittest asserts
    • d1abcdd Bump GitHub Actions
    • 7ff7f35 Add support for Python 3.11
    • 1ab3481 Bump version numbers to 2022.5 / 2022e
    • 872168c Squashed 'tz/' changes from 0fc8f915a..16bd7a384
    • c5900e5 IANA 2022e
    • 04b5402 Bump version numbers to 2022.4/2022d
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Fix typo in sample config

    Fix typo in sample config

    There's a typo in the sample config that could cause users trying to customize their own status bar instances to crash and wonder what's going on(it happened to me).

    Specifically, the active-window-widget has a section on how to ignore certain windows, and the parameter for title's is listed as title(link) but the actual source code is looking for title*s* (link).

    opened by sendhil 1
  • chore(deps): bump pytz from 2022.1 to 2022.5

    chore(deps): bump pytz from 2022.1 to 2022.5

    Bumps pytz from 2022.1 to 2022.5.

    Commits
    • 1ab3481 Bump version numbers to 2022.5 / 2022e
    • c5900e5 IANA 2022e
    • 872168c Squashed 'tz/' changes from 0fc8f915a..16bd7a384
    • 04b5402 Bump version numbers to 2022.4/2022d
    • 8eeefc3 Squashed 'tz/' changes from b61a7acb4..82693eb52
    • d901daf IANA 2022d
    • a6867f1 Bump version numbers to 2022.2.1/2022b
    • 07aa4d9 Revert inclusion of PACKRATDATA=backzone
    • a5c6756 Update dead link
    • b247b50 Remove obsolete Travis config
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump psutil from 5.9.1 to 5.9.3

    chore(deps): bump psutil from 5.9.1 to 5.9.3

    Bumps psutil from 5.9.1 to 5.9.3.

    Changelog

    Sourced from psutil's changelog.

    5.9.3

    2022-10-18

    Enhancements

    • 2040_, [macOS]: provide wheels for arm64 architecture. (patch by Matthieu Darbois)

    Bug fixes

    • 2116_, [macOS], [critical]: psutil.net_connections_ fails with RuntimeError.
    • 2135_, [macOS]: Process.environ()_ may contain garbage data. Fix out-of-bounds read around sysctl_procargs. (patch by Bernhard Urban-Forster)
    • 2138_, [Linux], [critical]: can't compile psutil on Android due to undefined ethtool_cmd_speed symbol.
    • 2142_, [POSIX]: net_if_stats()_ 's flags on Python 2 returned unicode instead of str. (patch by Matthieu Darbois)
    • 2147_, [macOS] Fix disk usage report on macOS 12+. (patch by Matthieu Darbois)
    • 2150_, [Linux] Process.threads()_ may raise NoSuchProcess. Fix race condition. (patch by Daniel Li)
    • 2153_, [macOS] Fix race condition in test_posix.TestProcess.test_cmdline. (patch by Matthieu Darbois)

    5.9.2

    2022-09-04

    Bug fixes

    • 2093_, [FreeBSD], [critical]: pids()_ may fail with ENOMEM. Dynamically increase the malloc() buffer size until it's big enough.
    • 2095_, [Linux]: net_if_stats()_ returns incorrect interface speed for 100GbE network cards.
    • 2113_, [FreeBSD], [critical]: virtual_memory()_ may raise ENOMEM due to missing #include <sys/param.h> directive. (patch by Peter Jeremy)
    • 2128_, [NetBSD]: swap_memory()_ was miscalculated. (patch by Thomas Klausner)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump pytz from 2022.1 to 2022.7

    chore(deps): bump pytz from 2022.1 to 2022.7

    Bumps pytz from 2022.1 to 2022.7.

    Commits
    • 309a457 Update i18n section of README
    • 67b32d0 Separete legacy tests to run in legacy container
    • ce19dbe Bump version numbers to 2022.7/2022g
    • 7285e70 IANA 2022g
    • 3a52798 Squashed 'tz/' changes from d3dc2a9d6..9baf0d34d
    • 8656870 Let _all_timezones_unchecked be garbage collected when no longer needed
    • bd3e51f Rename all_timezones_unchecked to strongly indicate it is not public
    • 01592a9 Merge pull request #90 from eendebakpt/import_time_lazy_list
    • 5e9f112 lazy timezone
    • 4ebc28d Bump version numbers to 2022.6 / 2022f
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump psutil from 5.9.1 to 5.9.4

    chore(deps): bump psutil from 5.9.1 to 5.9.4

    Bumps psutil from 5.9.1 to 5.9.4.

    Changelog

    Sourced from psutil's changelog.

    5.9.4

    2022-11-07

    Enhancements

    • 2102_: use Limited API when building wheels with CPython 3.6+ on Linux, macOS and Windows. This allows to use pre-built wheels in all future versions of cPython 3. (patch by Matthieu Darbois)

    Bug fixes

    • 2077_, [Windows]: Use system-level values for virtual_memory()_. (patch by Daniel Widdis)
    • 2156_, [Linux]: compilation may fail on very old gcc compilers due to missing SPEED_UNKNOWN definition. (patch by Amir Rossert)
    • 2010_, [macOS]: on MacOS, arm64 IFM_1000_TX and IFM_1000_T are the same value, causing a build failure. (patch by Lawrence D'Anna)

    5.9.3

    2022-10-18

    Enhancements

    • 2040_, [macOS]: provide wheels for arm64 architecture. (patch by Matthieu Darbois)

    Bug fixes

    • 2116_, [macOS], [critical]: psutil.net_connections_ fails with RuntimeError.
    • 2135_, [macOS]: Process.environ()_ may contain garbage data. Fix out-of-bounds read around sysctl_procargs. (patch by Bernhard Urban-Forster)
    • 2138_, [Linux], [critical]: can't compile psutil on Android due to undefined ethtool_cmd_speed symbol.
    • 2142_, [POSIX]: net_if_stats()_ 's flags on Python 2 returned unicode instead of str. (patch by Matthieu Darbois)
    • 2147_, [macOS] Fix disk usage report on macOS 12+. (patch by Matthieu Darbois)
    • 2150_, [Linux] Process.threads()_ may raise NoSuchProcess. Fix race condition. (patch by Daniel Li)
    • 2153_, [macOS] Fix race condition in test_posix.TestProcess.test_cmdline. (patch by Matthieu Darbois)

    5.9.2

    2022-09-04

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [BUG] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 15: invalid start byte

    [BUG] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 15: invalid start byte

    Expected Behavior

    yasb should run when python src/main.py executed.

    Current Behavior

    stops running with attached error meesage.

    Possible Solution

    Steps to Reproduce

    1. git clone repository
    2. run python -m pip install -r requirements.txt --user
    3. run python src/main.py

    Context (Environment)

    error message as below:

    $ python src/main.py 
    Yasb - Yet Another Status Bar
    Starting KomorebiEventListener...
    Starting SystemEventListener...
    Created named pipe yasb-5f4d3e0a-59aa-11ed-818b-dcf505ca6af6
    Created file watcher for path C:\Users\canor\.yasb
    Waiting for Komorebi to subscribe to named pipe yasb-5f4d3e0a-59aa-11ed-818b-dcf505ca6af6
    Traceback (most recent call last):
      File "C:\Users\canor\Downloads\yasb\src\core\utils\komorebi\event_listener.py", line 56, in run
        self._wait_until_komorebi_online()
      File "C:\Users\canor\Downloads\yasb\src\core\utils\komorebi\event_listener.py", line 100, in _wait_until_komorebi_online
        logging.warning(f"Komorebi failed to subscribe named pipe. Waiting for subscription: {stderr.decode('utf-8')}")
                                                                                              ^^^^^^^^^^^^^^^^^^^^^^
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 15: invalid start byte
    
    • Windows10 20H2
    • Python 3.11
    • yasb version isn't unsure but just pulled from repository main branch so I assume it's the latest version as of 2022-11-01.
    bug 
    opened by Canorus 0
  • [BUG] [P] indicator stuck permanently after pausing Komorebi

    [BUG] [P] indicator stuck permanently after pausing Komorebi

    When I pause Komorebi, the little [P] shows on the yasb bar instead of the || // etc, as expected. But when I unpause it, the [P] is stuck there.

    On Windows 11, last working python build of yasb, and last release of komorebi.

    bug 
    opened by sfranky 0
Owner
Dan
Software Engineering Graduate of 2021
Dan
Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS

Kivy Innovative user interfaces made easy. Kivy is an open source, cross-platform Python framework for the development of applications that make use o

Kivy 15.4k Jan 7, 2023
🧮A simple calculator written in python allows you to make simple calculations, write charts, calculate the dates, and exchange currency.

Calculator ?? A simple calculator written in python allows you to make simple calculations, write charts, calculate the dates, and exchange currency.

Jan Kupczyk 1 Jan 15, 2022
Py3editor - A text editor written in Python and Tkinter

Py3Editor My text editor written in Python and Tkinter! Contains a basic set of

JaydenDev 1 Mar 5, 2022
A Virtual Desktop Assistant Written in Python

DesktopAssitant A Virtual Desktop Assistant Written in Python. It's generally a basic virtual assistant The basic purpose of this is to make work easi

Technerd brainiac 609 Jan 7, 2023
A Virtual Desktop Assistant Written in Python

DesktopAssitant A Virtual Desktop Assistant Written in Python. It's generally a basic virtual assistant The basic purpose of this is to make work easi

Technerd Brainiac 597 Dec 31, 2022
This program is written in python. It will help you find a valid solution for a sudoku puzzle.

Sudoku-Solver-Using-Tkinter This program is written in python. It will help you find a valid solution for a sudoku puzzle. Requirements: Python3 IDLE

Ankan Mahapatra 3 Oct 2, 2021
A simple desktop news application written using python created using PyQt5

News-Application---Python This is a news application created using PyQt5. News is fetched through API from newsapi.org. Available top headlines from c

Sritiman Adak 1 Nov 14, 2021
A Windows Dock Widget Written In Pure Python

VEПUS A Windows Dock Widget Written In Pure Python What is Venus? Venus is a Dock Widget for your desktops interface. It adds a couple of really cool

Secrets 18 Dec 30, 2022
A system tray application written in python that will assist you with your keyboard endeavors.

A system tray application written in python that will assist you with your keyboard endeavors. It has features such as abbreviation, email autofill, media control, writing from clipboard ,typing current date and time etc.

Mach50 1 Dec 15, 2021
A small manager/GUI Frontend for QEMU written in Python

qemu-manager A small manager/GUI Frontend for QEMU written in Python Requirements You'll need to have the following tools installed to run this: QEMU

yeppiidev 15 Dec 21, 2022
GUI for Volatility forensics tool written in PyQT5

Volatility GUI This is a GUI for Volatility forensics tool written in PyQT5 Prerequisites: 1- Installed version of Volatility. 2- Install PyQT5. sudo

Hamza Megahed 52 Jun 18, 2022
pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications.

pyglet pyglet is a cross-platform windowing and multimedia library for Python, intended for developing games and other visually rich applications. It

null 1.3k Jan 1, 2023
A desktop application developed in Python with PyQt5 to predict demand and help monitor and schedule brewing processes for Barnaby's Brewhouse.

brewhouse-management A desktop application developed in Python with PyQt5 to predict demand and help monitor and schedule brewing processes for Barnab

Isaac Cheng 2 Jul 9, 2022
Learn to build a Python Desktop GUI app using pywebview, Python, JavaScript, HTML, & CSS.

Python Desktop App Learn how to make a desktop GUI application using Python, JavaScript, HTML, & CSS all thanks to pywebview. pywebview is essentially

Coding For Entrepreneurs 55 Jan 5, 2023
Python Screen Recorder using Python

PY-Screen-Recorder Python Screen Recorder using Python Requirement: pip install cv2 pip install pyautogui pip install numpy How to reach me? You can r

SonLyte 8 Nov 8, 2021
Write desktop and web apps in pure Python

Flexx Want to stay up-to-date about (changes to) Flexx? Subscribe to the NEWS issue. Introduction Flexx is a pure Python toolkit for creating graphica

flexxui 3.1k Dec 29, 2022
Build GUI for your Python program with JavaScript, HTML, and CSS

https://pywebview.flowrl.com pywebview is a lightweight cross-platform wrapper around a webview component that allows to display HTML content in its o

Roman 3.3k Jan 1, 2023
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

(This library is available under a free and permissive license however, if you Enjoy Dear PyGui please consider becoming a Sponsor) Dear PyGui is a si

Jonathan Hoffstadt 9.4k Jan 4, 2023