-
Notifications
You must be signed in to change notification settings - Fork 13
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
Fix activities-save-all from adjusting minibuffer when framed mode. #89
Conversation
Hi, what is framed mode? Anyway, I'm not sure if this is a good idea. According to the docstring,
To fix the problem you're reporting in the best way probably requires a more complete understanding of the cause and possible solutions. |
Thanks for the clarifications.
This is peculiar. Nothing in Activities itself resizes windows that way. Do you know what code is doing it? Does it happen in a default Emacs config? Does it happen with the latest versions of Consult, et al? As you may have noticed, we have the option I'm not strictly opposed to using |
Looks like what happens my situation, when timer runs all activities are saved, which does a I had tried doing a let binding of The
Oh, no I did not notice that. Yes, maybe moving to higher level may make sense. Was there a reason you added So... with all that said, I started thinking about what I said above with: "But in the other frame, it sizes the minibuffer for it's frame - likely because it doesn't have the same elements, or buffer text, or etc." I remembered I had added a couple of years ago ability to resize It does look like this is also to blame. I went a bit different from using tl;dr Very long story short (too long probably), I need to leave my vertico resize as (advice-add #'activities-save-all :around
(defun my/activities-save-all-dont-adjust-minibuffer (orig &rest r)
(save-window-excursion
(apply orig r))))) There may be some other feature out there that may also react to frame changes like this. Now at least aware if something else pops up down the road. Definitely good closing this PR, if you are. Appreciate the time here and with |
Mulling over more, better would be just to Updated the PR. Feel free to accept or close PR. Thanks! |
That sounds nice, but its docstring says that it's for internal purposes, and it's not documented in the manual, so I'm not sure that it's okay for us to use. It should probably be researched a bit first, e.g. by looking for mentions on emacs-devel. As well, I'm not certain that redisplay is even happening, because I don't see any flickering (whereas I did in other circumstances), and the Lisp code isn't stopping between activities, and we're not calling Finally, AFAICT redisplay isn't necessary for adjusting a window configuration, so I don't know if inhibiting it would prevent the problem reported here. |
Thank you for allowing the detailed back and forth! I definitely appreciate your insight in trying to create and maintain many popular packages with best long-term maintainability.
There's only 16 references to
Seems to happen during Very long story short (sorry!), setting However, in further digging, it looks like So I do think Let me know if that answers (to the best of my abilities :)) some of your questions, and helps set context. |
My only hesitation about binding
I guess that double-negative is a typo, but I have to ask to be sure. :) Thanks for looking into these things. |
I agree, should not use, but I was saying more for problem it causes with edebug, among others. You may have missed this part in my overly verbose reply:
You can see this in the updated commit attached to PR. More targeted and common.
I edited and struck out the second "not". It was not |
Thanks for your patience in working with me on this. I have a lot going on, so when I revisit this issue, it's easy for me to overlook or forget details. I mentioned earlier the possibility of having a global "anti-save" predicate list, which would prevent the saving of any activities, and that we could check for an active minibuffer in it. It seems to me that we probably shouldn't be saving any activities if there's an active minibuffer, anyway; and a solution like that would be more general and seem less hacky than this workaround of saving and restoring the window config if a minibuffer was open at the time we started saving. Do you (still) agree? |
By the way, for future reference, it's not a good idea to make PRs from a fork's |
Yes, makes perfect sense.
Since I know you have a lot going on, would you take assistance on this - or you already have a plan?
Not sure what I was thinking... I do know better. Okay to close this PR now? Thanks again! |
@jeff-phil Sure, feel free to send a PR about the new predicate list. BTW, forgive me if I asked already, but have you done FSF copyright assignment for Emacs? |
[thumbs-up!]
Yes, I am complete on FSF copyright assignment. |
Ok, however I'm not allowed to take anyone's word for it (not that I doubt you). I have to get confirmation from the Emacs maintainers (or find you in the list of existing contributors). Can I find commits by you in emacs.git? If so, under what name/email? |
Related to issue #88.
Save window configuration when
minibuffer
window is active, then restore afteractivities-save-all
to preventminibuffer
from being adjusted during saves when in framed mode.