abo-abo / hydra

make Emacs bindings that stick around
1.85k stars 113 forks source link

After update got flickering. #349

Open erikgustavalm opened 5 years ago

erikgustavalm commented 5 years ago

versions hydra 20190821.939 pretty-hydra 20190930.2105

Hello, I recently updated all packages and now whenever I change hydra I get a tiny flick showing the modeline. First it was a flick whenever i pushed a hydra key but setting hydra--work-around-dedicated to nil removed that flickering. But the other persist.

abo-abo commented 5 years ago

Could you please add a reproduction scenario? Was 20190821.939 the version without the flickering?

yuhan0 commented 5 years ago

Might be related to https://github.com/seagle0128/doom-modeline/issues/183 - check if the fit-window-to-buffer function is being advised.

@abo-abo Is there a reason the *LV* buffer is killed and recreated on every keystroke? I was able to comment out the line (kill-buffer buf) in lv-delete-window, which allowed the workaround in the above issue to take effect.

abo-abo commented 5 years ago

Is there a reason the LV buffer is killed and recreated on every keystroke?

This is not the case. I checked it by edebugging lv-delete-window and then using this hydra:

(defhydra hydra-zoom (global-map "<f2>")
  "zoom"
  ("g" text-scale-increase "in")
  ("l" text-scale-decrease "out")
  ("r" (text-scale-set 0) "reset")
  ("0" (text-scale-set 0) :bind nil :exit t)
  ("1" (text-scale-set 0) nil :bind nil :exit t))
erikgustavalm commented 5 years ago

Is there a reason the LV buffer is killed and recreated on every keystroke?

This is not the case. I checked it by edebugging lv-delete-window and then using this hydra:

(defhydra hydra-zoom (global-map "<f2>")
  "zoom"
  ("g" text-scale-increase "in")
  ("l" text-scale-decrease "out")
  ("r" (text-scale-set 0) "reset")
  ("0" (text-scale-set 0) :bind nil :exit t)
  ("1" (text-scale-set 0) nil :bind nil :exit t))

Didn't work for me either, the last working was 20190617.859. With ..939 the flicker was introduced for me.

abo-abo commented 5 years ago

Can you reproduce the flicker with make run from this repo?

erikgustavalm commented 5 years ago

Can you reproduce the flicker with make run from this repo?

On a vanilla emacs or only with Hydra?

artenator commented 5 years ago

I found this thread because I am also experiencing flickering, but only when I press a hydra key.

I tried the solution above (setting hydra--work-around-dedicated to nil) which solved the issue for me.

abo-abo commented 5 years ago

@artenator Which Emacs version are you using? I can set hydra--work-around-dedicated to nil based on that version.

artenator commented 4 years ago

@abo-abo I am using emacs 26.3 (build 1, x86_64-apple-darwin18.5.0, Carbon Version 158 AppKit 1671.4) of 2019-08-29

It is the mac port from https://github.com/railwaycat/homebrew-emacsmacport

abo-abo commented 4 years ago

@artenator Thanks. You no longer need to set the variable in your config for >=26.3.

@erikgustavalm Let's try to bisect the issue. The last working commit was 82ff126. Since then, only 3 commits were added that changed any functionality:

Please try doing this:

git clone https://github.com/abo-abo/hydra/
git checkout 82ff126
# reload/restart Emacs to verify the bug was not introduced so far.
git checkout a91dd72
# reload/restart and check if the bug is present
git checkout 435c55e
# reload/restart and check if the bug is present
git checkout 9936d1c
# reload/restart and check if the bug is present
jonascarpay commented 4 years ago

I'm on 27.1 and the issue is present for me. Setting hydra--work-around-dedicated to nil works.

I have tried bisecting, but for me the issue is present even as far back as f668f4c11477d3d38230072244cd3581aa162def. Let me know if there's anything else you'd like me to try out.