Skip to content
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

Kill ring performance problem #36

Open
drorbrillsnps opened this issue Aug 3, 2022 · 0 comments
Open

Kill ring performance problem #36

drorbrillsnps opened this issue Aug 3, 2022 · 0 comments

Comments

@drorbrillsnps
Copy link

In some cases getting clipboard content can take a very long time (nothing to do with Emacs+ plugin).
Because the Kill ring feature in Emacs+ reads clipboard content even when the user did not activate a "paste" command, sometimes it can cause long freezes (see example below), even though the user did not attempt to use the "paste" command.

Is there a way to disable the Kill ring feature entirely?
Is there a way to reduce or avoid getting clipboard content unless the user actively wants to get content from it?

!ENTRY org.eclipse.ui.monitoring 4 0 2022-08-02 09:04:57.850
!MESSAGE UI freeze of 111s at 09:03:06.469
!SUBENTRY 1 org.eclipse.ui.monitoring 1 0 2022-08-02 09:04:57.850
!MESSAGE Sample at 09:04:28.908 (+82.439s)
Thread 'main' tid=1 (RUNNABLE)
!STACK 0
Stack Trace
at org.eclipse.swt.internal.gtk3.GTK3.gtk_clipboard_wait_for_contents(Native Method)
at org.eclipse.swt.dnd.Clipboard.gtk_clipboard_wait_for_contents(Clipboard.java:622)
at org.eclipse.swt.dnd.Clipboard.getContents(Clipboard.java:297)
at com.mulgasoft.emacsplus.KillRing.getClipboardText(KillRing.java:323)
at com.mulgasoft.emacsplus.KillRing.checkClipboard(KillRing.java:297)
at com.mulgasoft.emacsplus.KillRingListeners$StaticActivation$1.windowActivated(KillRingListeners.java:67)
at org.eclipse.ui.internal.Workbench$8.run(Workbench.java:1005)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.ui.internal.Workbench.fireWindowActivated(Workbench.java:1002)
at org.eclipse.ui.internal.WorkbenchWindow$6.shellActivated(WorkbenchWindow.java:2459)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:92)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5895)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1515)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1541)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
at org.eclipse.swt.widgets.Shell.gtk_focus_in_event(Shell.java:1596)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2406)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:6833)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6197)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1565)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4578)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1154)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1045)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.ui.internal.Workbench$$Lambda$281/0x0000000800dbacd0.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at [email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at [email protected]/java.lang.reflect.Method.invoke(Method.java:568)
at app//org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at app//org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at app//org.eclipse.equinox.launcher.Main.run(Main.java:1467)
at app//org.eclipse.equinox.launcher.Main.main(Main.java:1440)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant