e4macs
e4macs copied to clipboard
Kill ring performance problem
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)