tobi-wan-kenobi / bumblebee-status

bumblebee-status is a modular, theme-able status line generator for the i3 window manager.
https://bumblebee-status.readthedocs.io/en/main/
MIT License
1.2k stars 229 forks source link

Better formatting for `watson.py` #963

Open snokpok opened 1 year ago

snokpok commented 1 year ago

Feature Request

I use watson to help track time and am loving the watson.py module atm! The problem though is that there seem to be no configuration options for this. I was thinking:

it seems like #942 is also trying to improve watson.py as well; we could try to add this formatting feature to both #942 and the original watson.py.

Lmk what you think!

tobi-wan-kenobi commented 1 year ago

Very cool, thanks!

TBH, unless there is a good reason to, it would be great if watsonctl in the PR could replace watson.py, as it seems to offer the same plus more functionality.

What do you think?

snokpok commented 1 year ago

@tobi-wan-kenobi that would be great! though imo we should talk about that with the author of #942 if they're still available to merge it. I'm open to doing a collaborative PR or having #942 in and doing a separate PR for this formatting + replacement or any way that's fit to get this through

tobi-wan-kenobi commented 1 year ago

I've put some thought into this now (given that the PR is close to half a year old)

I'd like to try this the other way round: What are our use cases?

What about getti g a report? I'd put that out of scope for now.

I think a module that has buttons/widgets for the actions and then the info bar would work nicely, the only real question is how to input text....

How does that sound to you? Anything missing?

snokpok commented 1 year ago

yea sg! I want those use cases as well.

Regarding creating a new project / entering text, I normally just enter it directly into the terminal, because watson start has quite a few params (--tags, --at, --from, etc...) and if we want to support those options we would have to introduce a GUI-like interface like #942 but it's a bit ugly.

To make it less ugly we would have to do something like 1) floating windows (like Rofi) or 2) tray icon menus (like Polybar or the default i3bar). Personally, I like the tray menus more than the floating windows since for my setup the bumblebee-status is right next to it so it feels more natural using the status bar as a whole:

image

I can think of ways to implement either 1) or 2) but what do you think? imo tray menus would open a lot of doors for future modules as well.

Dale-Muccignat commented 1 year ago

Hiya, only just saw this. I'm happy to work with anything you guys deem to be useful, whether that's merging what I did or you guys starting from scratch. I was decently happy with what I ended up with but got too busy with other stuff and failed to keep up with keeping track of my time. It's functional but I don't consider it to be "well done" by any measure.

tobi-wan-kenobi commented 1 year ago

Hope to be able to dedicate sone time to this today, but no promises :)

tobi-wan-kenobi commented 1 year ago

I added some straight-forward improvements to the existing watson module (namely the ability to change the format string)

@Dale-Muccignat @snokpok What else would be useful?

Looking at watson, it seems to me that "starting" a project only makes sense if you can also specify the tags, at least, right? Because those are not ... "carried" over when starting/stopping/starting a project, is that correct? If so, I think I'd rather keep bumblebee as a purely read-only status module right now.

I find the idea with the tray icons intriguing, but I am not yet convinced how much it breaks usual expectations (i.e. usually, you have a tray icon per application, so really, there should be something like gtk-watson or something like that). bumblebee-status potentially spawning multiple tray icons feels ... weird. Plus, I would not know where to get good icons from.

I could extend the current Tk interface a bit & offer a mask to enter project and tags, but not sure whether that would be a good fit for you?

snokpok commented 1 year ago

yep bumblebee as read-only sounds good to me.

for me, I mostly use watson on the CLI anyways to add projects; thinking about it the convenience of this plugin on bumblebee is that I don't have to type watson status to see my task status, so keeping it as read-only but with the options to format status message is decent enough for my use case.

thanks for the commit! will give that a spin soon