-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error report appeared in the egui tool #36
Comments
If this happens again or is still happening, can you run My theory is that the PID is left over from an old egui instance but got reused by another application. I think I'll either need to check the binary name (dunno how to make this resilient to file renames) or delete the file before quitting egui (which will be a PitA with the current architecture). |
Currently not happening. Xorg. Multiple accounts are used, but
I expect it to be a typical behavior of pidfiles. Stale pidfile is a sign of a crash or improper reboot. Maybe Trying to terminate a process using stale pid is like trying to close filesystem descriptor that was already closed - it may invite a sudden problem elsewhere. |
I think I'll have to rework how the reopen trigger works. Right now you delete a file to reopen egui, but that's not great. I think it should work like this: egui creates a PID file while running and deletes it when quitting, then it registers an open listener (or maybe a file attribute listener) so that you can touch the file to reopen. |
What do you mean by "reopen"? What is difference between "reopening" and just starting |
Check the process list with ps: it'll still be there unless you manually installed without specifying |
I don't remember what commit The process (as seen by e.g. Launch time is already almost imperceptible (maybe around 200-300 milliseconds). inotify+pidfile scheme may be OK, though it adds another dependency on a kernel feature that may be absent in the installation. Why not just use a UNIX socket like the server? Connect to it and sent a signal to re-show the window. If fails, remove the socket and bind it again and show the window. |
The old window should get closed if the PID file wasn't broken for you. But anyway, see these docs for the running process reopen: https://github.com/SUPERCILEX/clipboard-history/tree/master/egui#suggested-workflow |
It does not respond to This is a list of syscalls when I start `strace -cf /opt/ringboard/ringboard-egui`
Though I don't remember commit or feature set, the executable has debuginfo, if something is needed. |
It should definitely be listening because there's the |
If I remove If the window is open and focused and I switch away to another i3 workspace, then deleting Look like resident mode it not the best for my setup and simple (unoptimised) mode just works well enough. So after series of fixes, the oneshot mode should be supported one way or another.
I have noted it, but I also noted the |
I guess it just doesn't play well with i3. If you want to disable the feature completely, compile with default features and the reopen stuff will be disabled. Anyway, I don't have access to a computer for the next month, but I'll fix the PID issues once I get back. |
Forgot to address this. Very reasonable solution, but then you still need a PID file to avoid having multiple instances of egui running (which is a property I'd like to vaguely uphold). Also I'm not sure if everybody would have the right version of netcat. So I looked at options for stuff to listen to for inotify and remembered why I went with delete: any kind of open style listener will trigger if the user is just trying to cat the file so that's a no go. And I discovered I'm dumb lol! @vi the reason the listener doesn't work for you is because I had remapped |
The banner persists (with the same pid) across
ringboard-egui
restarts.The text was updated successfully, but these errors were encountered: