epasveer / seer

Seer - a gui frontend to gdb
GNU General Public License v3.0
2.09k stars 66 forks source link

UX bug or flaw: "Seer Execution Messages" popup is getting in the way a lot #157

Closed ell1e closed 10 months ago

ell1e commented 11 months ago

This is a more opinionated ticket, so I hope this isn't just me (otherwise feel free to close this). But the "Seer Execution Messages" popup is getting in the way a lot. Basically, the problem is that 1. it's a very prominent popup that blocks the view of other things, 2. 99% of the time it shows a very expected message, 3. it shows up on very common steps and needs extra effort to close.

Basically, when I hit the next breakpoint or the program is restarted, the popup showing up informing me after I just closed it because it visually gets in the way is kind of useless info to me. Of course when it unexepctedly hits a breakpoint or crashes that might be useful, but usually once I zeroed in on some section and might even be running through it multiple times to really look at what the variables are doing, the popup has no informational value and at that point becomes a chore.

Maybe the popup could be optionally a tab in the "Thread/Process Info" tab bar, and once its closed for the first time it just goes there as a tab instead? And the tab has a button to make it show as a popup again, but as long as i don't click that it'll stay a tab? If it blinks a little or whatever on every event I don't care, as long as it's not opening on its own and blocking the view of things that I actually want to look at.

It would also be nice if this closed-popup-lingering-as-a-tab state could be remembered and retained when I restart Seer after closing it, without going into the options to manually switch this around. Maybe the preferences could have a setting for it with the options [ ] Always show as popup once an event happens [ ] Never show as popup once an event happens [x] Remember last state of it being a popup or not.

I hope that gives some ideas on how to improve the situation without getting in the way of everyone who actually likes this being a popup!

Issue seen in Seer version: 2.2 (built from "v2.2" from the git, tested on OpenSUSE)

Edit: the "Seer Console" is also a popup which keeps showing above everything else, but there I find it much more justifiable: it shows output that to me seems like often more vital, it doesn't through a common event throughout a longer ongoing single debugging session pop up again all the time once I closed it, and the info in there is wordy enough to fit some sort of tabbed area way worse so it's a more understandable idea to have it as a big, roomy popup.

epasveer commented 11 months ago

I like your suggestion here. And to have it cinfigurable, as a setting, so it can be remembered for the next Seer seesion.

epasveer commented 11 months ago

I'm thinking of doing away with the pesky dialog box all together. Instead, another tab with the breakpoints, et al.

Here's an early peek.

image

ell1e commented 11 months ago

I personally think that's way better, but I don't know what others will think of it of course.

epasveer commented 11 months ago

I'm thinking the same.

Originally, it was a new dialog box for each message. Way too much. Then I consolidated the many messages into one dialog. But I popped the dialog box up each time. It was better than the first method but even I was seeing the second method was still too much.

I like this new way. There's another debugger out there that does it this way too. So I suspect they went through the same learning experience.

I'll merge the change into "main" shortly.

epasveer commented 11 months ago

BTW, the console no longer pops each time there is a message.

ell1e commented 11 months ago

Really cool. I hope more people find SeerGDB, really great updates happening with this project! (And I currently use it a lot, daily.)

epasveer commented 11 months ago

Leaving open for the moment. The change is now in "main".

ell1e commented 11 months ago

You're on fire with these updates :fire: :fire: :fire: really amazing. I'm building right now, will test in a few minutes! Will report back then immediately

ell1e commented 11 months ago

Okay, so in overall I think it's great, but in detail use I think maybe it might make sense to switch to the tab automatically at the very least when the program/binary is initially starting to run and whenever it's being re-run? (So not on every break point and other event, but at least at the start of it.)I can still see some people being annoyed by that, but otherwise probably nobody new coming to the program will notice this tab and the messages do have some use after all. Or maybe an option could control that behavior.

epasveer commented 11 months ago

I agree. I think I have an idea to add a mode to the messages tab to raise the tab on certain events.

ell1e commented 11 months ago

ah, very cool! as much as these messages slightly annoy me, the more "annoying" mode where the tab is raised into focus a lot should probably be the default :smile: and others who want it less like me can then change it

epasveer commented 11 months ago

So I'm thinking of a button in the messages tab that can quickly set the "raise-mode" when new messages arrive.

image

Once set, Seer will remember this, even after Seer is restarted.

One thing to point out. Initially the "Messages" tab is first. This tab, or any tab, can be moved by dragging the tab. Seer will remember the tab order. Basically, the "Messages" tab doesn't have to be first.

ell1e commented 11 months ago

Sounds like a really great design. I like it, I couldn't really suggest anything better.

epasveer commented 11 months ago

Cool. I've updated "main".

epasveer commented 10 months ago

I'm going to close this task. It can be reopened if need be.

ell1e commented 10 months ago

I've tested it around some more, I just wanted to thank you for this change. It works really well as a tab, usability feels greatly improved for me. :heart: Thanks! I hope the other users will feel similarly positive about it once it reaches a wider audience.

epasveer commented 10 months ago

I like it too as a tab! Thanks for the suggestion (and other suggestions).

Seer is slowly making noise in programming circles. It's already part of some distros. Someone is working on the OpenSuse port, so don't be too surprised to see it in yast2 sometime soon.