Code Monkey home page Code Monkey logo

Comments (10)

jmburgos avatar jmburgos commented on August 18, 2024 2

Thank you. I will do a bit of testing and try to figure out what is going on.

from bufler.el.

alphapapa avatar alphapapa commented on August 18, 2024 2

Thanks to all for your patience and suggestions. I removed the delete-window call and made the action argument an option. Please let me know how that works for you.

from bufler.el.

alphapapa avatar alphapapa commented on August 18, 2024

Hi Julian,

You can see the code in question here:

(pop-to-buffer buffer '((display-buffer-reuse-window
AFAIK that shouldn't behave as you described, so maybe there's something else going on. Or, if I've misunderstood, and you can recommend a better default value for the pop-to-buffer action argument, please do. Or if we need to make this configurable, that could be done.

Thanks.

from bufler.el.

WorldsEndless avatar WorldsEndless commented on August 18, 2024

Coming from issue 77, this is almost show-stopping behavior. I have no customizations that I am aware of that should effect the action taken, but hitting enter on an item from the bufler list kills the previous window, whether in this frame or another. It doesn't seem to matter what types of buffer are displayed in the old or the new.

from bufler.el.

WorldsEndless avatar WorldsEndless commented on August 18, 2024

I fixed it in my case. It was a result of the following line, which I can simply remove. However, this must have been there for some reason. Before I pull request, can you provide an explanation for why it was doing any delete-window within bufler-define-buffer-command switch ?

(delete-window bufler-window))

from bufler.el.

alphapapa avatar alphapapa commented on August 18, 2024

You could look at the git blame for that line, and the comment preceding it. That code was last changed over 18 months ago, and I was probably the only one using it then, so I was probably just doing whatever seemed to fit my needs best at the time.

Other than that, if you can suggest a fix that ensures that it behaves as desired in all circumstances (or a reasonably comprehensive subset of them), we could make that change. Or it might be necessary to first more clearly define what the command should do.

from bufler.el.

WorldsEndless avatar WorldsEndless commented on August 18, 2024

I see the blame on there, but I'm still not sure why a function "switch" needs to delete-window at all, unless perhaps there is some external window functionality that needs preserving? I don't use anything like that in my use-case, so I'm not sure what needs to be preserved.

from bufler.el.

jcalve avatar jcalve commented on August 18, 2024

Could we at least have an option to disable this delete-window? I think the behaviour seems strange because in ibuffer the behaviour is the opposite, it only deletes other windows with an optional prefix.

from bufler.el.

dcunited001 avatar dcunited001 commented on August 18, 2024

@WorldsEndless @jcalve i think you can also address this by modifying the popup behavior in emacs.

example with doom emacs:

(set-popup-rules!
  '(("^\\*Bufler" :side right :width 60
    :vslot -5 :slot 3
    :modeline nil :select t :quit t))
)

Configuring it without doom emacs was a bit confusing for me at first. once you learn how to customize this, it's alot easier to get buffers to go where you want. The content of set-popup-rules! ends up in the variable display-buffer-alist.

from bufler.el.

WorldsEndless avatar WorldsEndless commented on August 18, 2024

ping on this. After reinstalling my system a couple times I went in and made the change again, but I've been running withouth that delete-buffer code for over a year. At least in exwm, it makes M-x bufler practically unusable, and simply removing that line makes everything work as expected.

from bufler.el.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.