jalview.git
5 years agoMerge branch 'feature/JAL-3143ensemblJSON' into Jalview-BH/JAL-3026-JAL-3063-JAXB
gmungoc [Mon, 4 Feb 2019 13:46:14 +0000 (13:46 +0000)]
Merge branch 'feature/JAL-3143ensemblJSON' into Jalview-BH/JAL-3026-JAL-3063-JAXB

5 years agoJAL-3143 update unit test for ID -> id change feature/JAL-3143ensemblJSON
gmungoc [Mon, 4 Feb 2019 12:18:29 +0000 (12:18 +0000)]
JAL-3143 update unit test for ID -> id change

5 years agoSplit pane removing title bar for JInternalFrames
hansonr [Thu, 31 Jan 2019 06:29:21 +0000 (00:29 -0600)]
Split pane removing title bar for JInternalFrames

5 years agofixes org.json.JSONObject for fully qualified method signatures
hansonr [Thu, 31 Jan 2019 00:11:41 +0000 (18:11 -0600)]
fixes org.json.JSONObject for fully qualified method signatures

5 years agoremoves org.json from srcjar
hansonr [Thu, 31 Jan 2019 00:11:06 +0000 (18:11 -0600)]
removes org.json from srcjar

5 years agoMerge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of
gmungoc [Wed, 30 Jan 2019 16:05:51 +0000 (16:05 +0000)]
Merge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of
https://source.jalview.org/git/jalview.git into
Jalview-BH/JAL-3026-JAL-3063-JAXB

Conflicts:
src/jalview/gui/SequenceFetcher.java

5 years agoJAL-3144 don't change comma to semi-colon if not requested!
gmungoc [Wed, 30 Jan 2019 15:40:53 +0000 (15:40 +0000)]
JAL-3144 don't change comma to semi-colon if not requested!

5 years agowoops.
hansonr [Wed, 30 Jan 2019 15:26:02 +0000 (09:26 -0600)]
woops.

5 years agoMerge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git...
hansonr [Wed, 30 Jan 2019 14:57:38 +0000 (08:57 -0600)]
Merge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git/jalview.git into Jalview-BH/JAL-3026-JAL-3063-JAXB

5 years agoFix for textarea not updating value ("value", not "innerHTML")
hansonr [Wed, 30 Jan 2019 14:57:21 +0000 (08:57 -0600)]
Fix for textarea not updating value ("value", not "innerHTML")

5 years agofixes unidentified Java problem
hansonr [Wed, 30 Jan 2019 14:56:52 +0000 (08:56 -0600)]
fixes unidentified Java problem

when pasted text has white space trailing or preceding, error was
indicated that "" could not be loaded.

5 years agoJAL-3056 no export as BioJS in JalviewJS
gmungoc [Wed, 30 Jan 2019 10:55:05 +0000 (10:55 +0000)]
JAL-3056 no export as BioJS in JalviewJS

5 years agoclasspath to include test always
hansonr [Tue, 29 Jan 2019 21:11:05 +0000 (15:11 -0600)]
classpath to include test always

5 years agoJSON writing fix, JColorChooser (mnemonic change) fix
hansonr [Tue, 29 Jan 2019 21:10:46 +0000 (15:10 -0600)]
JSON writing fix, JColorChooser (mnemonic change) fix

5 years agoMerge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git...
hansonr [Tue, 29 Jan 2019 18:52:22 +0000 (12:52 -0600)]
Merge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git/jalview.git into Jalview-BH/JAL-3026-JAL-3063-JAXB

5 years agotest package fix for List<DBRefEntry> DBrefs (untested)
hansonr [Tue, 29 Jan 2019 18:52:02 +0000 (12:52 -0600)]
test package fix for List<DBRefEntry> DBrefs (untested)

5 years agoMerge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git...
gmungoc [Tue, 29 Jan 2019 11:33:12 +0000 (11:33 +0000)]
Merge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git/jalview.git into Jalview-BH/JAL-3026-JAL-3063-JAXB

5 years agoMerge branch 'feature/JAL-3143ensemblJSON' into trialMerge
gmungoc [Tue, 29 Jan 2019 11:32:18 +0000 (11:32 +0000)]
Merge branch 'feature/JAL-3143ensemblJSON' into trialMerge

Conflicts:
src/jalview/ext/ensembl/EnsemblFeatures.java

5 years agoJAL-3143 format alleles array for feature description
gmungoc [Tue, 29 Jan 2019 11:17:48 +0000 (11:17 +0000)]
JAL-3143 format alleles array for feature description

5 years agoFetch Sequences...PDB - all tabs working
hansonr [Tue, 29 Jan 2019 07:39:55 +0000 (01:39 -0600)]
Fetch Sequences...PDB - all tabs working

Could still be a problem with panels being moved to and from being
content panes.

5 years agoexperiment using a register buffer instead of creating thousands of
hansonr [Tue, 29 Jan 2019 03:20:51 +0000 (21:20 -0600)]
experiment using a register buffer instead of creating thousands of
int[]. Turns out, it's no diffent in Chrome.

5 years agotiming notes; SwingJS for StringBuilder/Buffer
hansonr [Tue, 29 Jan 2019 03:04:35 +0000 (21:04 -0600)]
timing notes; SwingJS for StringBuilder/Buffer

5 years agoiterators
hansonr [Tue, 29 Jan 2019 03:03:15 +0000 (21:03 -0600)]
iterators

5 years agotime check, iterators
hansonr [Tue, 29 Jan 2019 03:00:52 +0000 (21:00 -0600)]
time check, iterators

5 years agoJSON moved to swingjs/json
hansonr [Tue, 29 Jan 2019 03:00:31 +0000 (21:00 -0600)]
JSON moved to swingjs/json

5 years agoJSON code moved to swingjs.json.JSON
hansonr [Tue, 29 Jan 2019 02:02:24 +0000 (20:02 -0600)]
JSON code moved to swingjs.json.JSON

5 years agomore iterators out; some time checks
hansonr [Tue, 29 Jan 2019 02:01:45 +0000 (20:01 -0600)]
more iterators out; some time checks

5 years agoJAL-3032 revert change to tooltip StringBuilder length
gmungoc [Mon, 28 Jan 2019 14:59:27 +0000 (14:59 +0000)]
JAL-3032 revert change to tooltip StringBuilder length

5 years agofinal timing checks for optimization
hansonr [Sat, 26 Jan 2019 16:58:31 +0000 (10:58 -0600)]
final timing checks for optimization

5 years agoPlatform.timecheck calls removed or commented out.
hansonr [Sat, 26 Jan 2019 16:58:04 +0000 (10:58 -0600)]
Platform.timecheck calls removed or commented out.

5 years agoremoving cyclic call
hansonr [Sat, 26 Jan 2019 05:51:50 +0000 (23:51 -0600)]
removing cyclic call

5 years agoJalview.isJS() --> Platform.isJS(), DBRefEntry[] --> List<DBRefEntry>
hansonr [Sat, 26 Jan 2019 05:13:29 +0000 (23:13 -0600)]
Jalview.isJS() --> Platform.isJS(), DBRefEntry[] --> List<DBRefEntry>

5 years agotimestamp just before major refactoring in relation to preliminary
hansonr [Sat, 26 Jan 2019 04:06:47 +0000 (22:06 -0600)]
timestamp just before major refactoring in relation to preliminary
contructor/iterator optimization

5 years agoSwingJS update (maybe nothing?)
hansonr [Fri, 25 Jan 2019 09:25:18 +0000 (03:25 -0600)]
SwingJS update (maybe nothing?)

5 years agotiming code
hansonr [Fri, 25 Jan 2019 09:24:52 +0000 (03:24 -0600)]
timing code

5 years agoJSON refactoring
hansonr [Fri, 25 Jan 2019 09:24:37 +0000 (03:24 -0600)]
JSON refactoring

5 years agoJavaScript browser-based JSON parsing
hansonr [Fri, 25 Jan 2019 09:23:54 +0000 (03:23 -0600)]
JavaScript browser-based JSON parsing

5 years agoTiming code
hansonr [Fri, 25 Jan 2019 09:23:21 +0000 (03:23 -0600)]
Timing code

5 years agoadds File..Load Project file for JS
hansonr [Thu, 24 Jan 2019 13:13:30 +0000 (07:13 -0600)]
adds File..Load Project file for JS

5 years agofixes DnD
hansonr [Thu, 24 Jan 2019 12:24:10 +0000 (06:24 -0600)]
fixes DnD

5 years agoadded _j2sclasslist.txt for buildcore.xml and
hansonr [Wed, 23 Jan 2019 21:27:02 +0000 (15:27 -0600)]
added _j2sclasslist.txt for buildcore.xml and
jalview_bin_JalviewJS_core.html

5 years agoMenus close properly, toolips restored
hansonr [Wed, 23 Jan 2019 21:19:59 +0000 (15:19 -0600)]
Menus close properly, toolips restored

minor bug in SeqPanel I introduced some time ago.

5 years agomenu, slider work
hansonr [Wed, 23 Jan 2019 16:32:10 +0000 (10:32 -0600)]
menu, slider work

5 years agoMerge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git...
hansonr [Tue, 22 Jan 2019 14:18:17 +0000 (08:18 -0600)]
Merge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git/jalview.git into Jalview-BH/JAL-3026-JAL-3063-JAXB

5 years agoFloat.isInfinite, popup menus, slider, spinner redux
hansonr [Tue, 22 Jan 2019 14:17:58 +0000 (08:17 -0600)]
Float.isInfinite, popup menus, slider, spinner redux

5 years agoTests for methods of Float
gmungoc [Tue, 22 Jan 2019 10:53:47 +0000 (10:53 +0000)]
Tests for methods of Float

5 years agorecompiled libs; JSONException fixed, JSlider, JSpinner
hansonr [Tue, 22 Jan 2019 05:41:01 +0000 (23:41 -0600)]
recompiled libs; JSONException fixed, JSlider, JSpinner

5 years agoadded Platform settings separating mouse use of win/mac difference
hansonr [Mon, 21 Jan 2019 18:46:50 +0000 (12:46 -0600)]
added Platform settings separating mouse use of win/mac difference

5 years agoadded Platform settings separating mouse use of win/mac difference
hansonr [Mon, 21 Jan 2019 18:23:59 +0000 (12:23 -0600)]
added Platform settings separating mouse use of win/mac difference

5 years agoisAMac() -> isAMacAndNotJS(), isWindows() -> isWindowsAndNotJS()
hansonr [Mon, 21 Jan 2019 17:39:57 +0000 (11:39 -0600)]
isAMac() -> isAMacAndNotJS(), isWindows() -> isWindowsAndNotJS()

Added Platform.isWin[Right|Middle]Button()

5 years agoisAMac() -> isAMacAndNotJS(), isWindows() -> isWindowsAndNotJS()
hansonr [Mon, 21 Jan 2019 17:38:23 +0000 (11:38 -0600)]
isAMac() -> isAMacAndNotJS(), isWindows() -> isWindowsAndNotJS()

Added Platform.isWin[Right|Middle]Button()

5 years agominor Platform.isAMac() clean up
hansonr [Mon, 21 Jan 2019 16:57:25 +0000 (10:57 -0600)]
minor Platform.isAMac() clean up

removes secondary references "MAC"
changes unnecessary instance creation new Platform().isAMac()

5 years agoremoving indirect references to Platform.isAMac()
hansonr [Mon, 21 Jan 2019 16:46:54 +0000 (10:46 -0600)]
removing indirect references to Platform.isAMac()

5 years agocomments only
hansonr [Mon, 21 Jan 2019 16:42:13 +0000 (10:42 -0600)]
comments only

5 years agofixes popup issue involving invocation from mousePressed event.
hansonr [Mon, 21 Jan 2019 06:08:38 +0000 (00:08 -0600)]
fixes popup issue involving invocation from mousePressed event.

5 years agomenu update; popup not functioning, though?? Working fine in test suite.
hansonr [Mon, 21 Jan 2019 04:52:03 +0000 (22:52 -0600)]
menu update; popup not functioning, though?? Working fine in test suite.
Will test.

5 years agomenu update; popup not functioning, though?? Working fine in test suite.
hansonr [Mon, 21 Jan 2019 04:52:03 +0000 (22:52 -0600)]
menu update; popup not functioning, though?? Working fine in test suite.
Will test.

5 years agomenu bug preventing closing - recompiled
hansonr [Sat, 19 Jan 2019 13:08:20 +0000 (07:08 -0600)]
menu bug preventing closing - recompiled

5 years agoJAL-3143 'id' not 'ID' attribute drives generation of variant link
gmungoc [Fri, 18 Jan 2019 09:59:45 +0000 (09:59 +0000)]
JAL-3143 'id' not 'ID' attribute drives generation of variant link

5 years agomenu bug preventing closing
hansonr [Fri, 18 Jan 2019 09:19:35 +0000 (03:19 -0600)]
menu bug preventing closing

I see the problem with label icons offset. Something I did when I was
doing mnemonics, I think....

5 years agocanvas line/font/pixel fixes; menu accelerators;
hansonr [Fri, 18 Jan 2019 08:57:57 +0000 (02:57 -0600)]
canvas line/font/pixel fixes; menu accelerators;

5 years agoMerge branch 'develop' into Jalview-BH/JAL-3026-JAL-3063-JAXB
gmungoc [Thu, 17 Jan 2019 15:29:29 +0000 (15:29 +0000)]
Merge branch 'develop' into Jalview-BH/JAL-3026-JAL-3063-JAXB

Conflicts:
.gitignore
resources/lang/Messages.properties
resources/lang/Messages_es.properties
src/jalview/commands/EditCommand.java
src/jalview/gui/FeatureSettings.java
src/jalview/gui/ScalePanel.java

5 years agoremoval of AlignmentFrame lines
hansonr [Tue, 15 Jan 2019 19:18:38 +0000 (13:18 -0600)]
removal of AlignmentFrame lines

5 years agosubimage height error
hansonr [Tue, 15 Jan 2019 19:17:16 +0000 (13:17 -0600)]
subimage height error

5 years agoJAL-3186 remove Variable Colour from popup menu
gmungoc [Mon, 14 Jan 2019 16:13:10 +0000 (16:13 +0000)]
JAL-3186 remove Variable Colour from popup menu

5 years agoJAL-3186 remove duplicate message keys
gmungoc [Mon, 14 Jan 2019 16:00:59 +0000 (16:00 +0000)]
JAL-3186 remove duplicate message keys

5 years agoJAL-2069 wider dialog so all fields show!
gmungoc [Fri, 16 Nov 2018 08:04:54 +0000 (08:04 +0000)]
JAL-2069 wider dialog so all fields show!

Conflicts:
src/jalview/gui/FeatureTypeSettings.java

5 years agoJAL-3186 reorder popup menu slightly
gmungoc [Mon, 14 Jan 2019 15:04:04 +0000 (15:04 +0000)]
JAL-3186 reorder popup menu slightly

5 years agoJAL-2069 clear any error colour when setting threshold from slider
gmungoc [Mon, 14 Jan 2019 14:25:11 +0000 (14:25 +0000)]
JAL-2069 clear any error colour when setting threshold from slider

5 years agoJAL-3125 tidy up
gmungoc [Wed, 26 Sep 2018 14:08:11 +0000 (15:08 +0100)]
JAL-3125 tidy up

5 years agoJAL-3125 avoid slider 'rounding' threshold field value
gmungoc [Wed, 26 Sep 2018 11:05:01 +0000 (12:05 +0100)]
JAL-3125 avoid slider 'rounding' threshold field value

5 years agoMnemonics implemented fully for menus; will appear on standard buttons
hansonr [Mon, 14 Jan 2019 07:21:42 +0000 (01:21 -0600)]
Mnemonics implemented fully for menus; will appear on standard buttons
and the RootPane menubar, but they will not be active, as they are
actually not mnemonics. They are a form of implicit ALT-X accelerators
(which use InputMap). Accelerators are next to implement. Should be
relatively easy.  Not planning to implement mouse-down-and-hold for
mnemonic cycles (multiple mnemonics with the same letter).

5 years agoMerge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git...
hansonr [Fri, 11 Jan 2019 04:49:59 +0000 (22:49 -0600)]
Merge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git/jalview.git into Jalview-BH/JAL-3026-JAL-3063-JAXB

5 years agoSwingJS upgrade
hansonr [Fri, 11 Jan 2019 04:49:40 +0000 (22:49 -0600)]
SwingJS upgrade

5 years ago(commented out but potentially useful) methods to tap Java release
hansonr [Fri, 11 Jan 2019 04:49:20 +0000 (22:49 -0600)]
(commented out but potentially useful) methods to tap Java release
logging options -- used for tracing events

5 years agoJS optimization for too aggressive dynamic operation when entering PDB
hansonr [Fri, 11 Jan 2019 04:48:06 +0000 (22:48 -0600)]
JS optimization for too aggressive dynamic operation when entering PDB
IDs  (proposal only)

5 years agoadding (unnecessary, but informative super() call in Desktop
hansonr [Fri, 11 Jan 2019 04:46:25 +0000 (22:46 -0600)]
adding (unnecessary, but informative super() call in Desktop

5 years agoJAL-3032 stub JS tabbed pane removed as not used
gmungoc [Wed, 9 Jan 2019 15:54:50 +0000 (15:54 +0000)]
JAL-3032 stub JS tabbed pane removed as not used

5 years agoJAL-3032 tweak inner/outer class references
gmungoc [Wed, 9 Jan 2019 15:52:56 +0000 (15:52 +0000)]
JAL-3032 tweak inner/outer class references

5 years agoJAL-3032 refine 'empty status message' test (JS issue 179)
gmungoc [Wed, 9 Jan 2019 15:51:57 +0000 (15:51 +0000)]
JAL-3032 refine 'empty status message' test (JS issue 179)

5 years ago#179 status bar; #85 table repaint; #197?; #193 frame nonresizable;
hansonr [Wed, 9 Jan 2019 05:45:53 +0000 (23:45 -0600)]
#179 status bar; #85 table repaint; #197?; #193 frame nonresizable;

#191 JSON (String.toLowerCase$java_util_Locale missing)

5 years agosimplification of FeatureSettings inner classes
hansonr [Wed, 9 Jan 2019 05:38:31 +0000 (23:38 -0600)]
simplification of FeatureSettings inner classes

No need here for additional private inner variables that cover outer
class's versions of the same thing. No need for a pointer to the outer
class, as "me" is already the "this" of the other class.

Added necessary JTable.repaint() to fix the problem that "stopping"
editing was relying upon the invalidation to be maintained throughout
the modal dialog, but JavaScript cannot keep the thread from doing its
repaints. So in JavaScript, while the modal dialog is loading, the
validate sequence from stopping editing fires. Thus, when the editing
dialog closes, it is already validated for the previous value, and we
need to explicitly repaint the table to see the update.

5 years agocomment added in relation to status bar
hansonr [Wed, 9 Jan 2019 05:33:45 +0000 (23:33 -0600)]
comment added in relation to status bar

5 years agopreliminary KeyListener, CaretListener
hansonr [Tue, 8 Jan 2019 07:26:16 +0000 (01:26 -0600)]
preliminary KeyListener, CaretListener

not quite working yet

5 years agoJAL-1889 additional test for clover-added fields
gmungoc [Thu, 3 Jan 2019 10:28:43 +0000 (10:28 +0000)]
JAL-1889 additional test for clover-added fields

5 years agoJAL-1889 ignore 'synthetic' fields added for jacoco
gmungoc [Thu, 3 Jan 2019 09:16:15 +0000 (09:16 +0000)]
JAL-1889 ignore 'synthetic' fields added for jacoco

5 years agoJEditorPane <div>....<br><div>
hansonr [Sat, 29 Dec 2018 04:40:54 +0000 (22:40 -0600)]
JEditorPane <div>....<br><div>

5 years agoJEditorPane <div>....<br><div>
hansonr [Sat, 29 Dec 2018 03:07:08 +0000 (21:07 -0600)]
JEditorPane <div>....<br><div>

5 years agosupport added for JEditorPane, JTextPane, JTextArea, JTextField
hansonr [Sat, 29 Dec 2018 03:07:08 +0000 (21:07 -0600)]
support added for JEditorPane, JTextPane, JTextArea, JTextField

- default selection support for JTextArea and JTextField
- DefaultStyledDocument support for JTextPane
- includes font/color/bold/italic/sub/sup

5 years ago#188, #195
hansonr [Tue, 25 Dec 2018 00:10:28 +0000 (18:10 -0600)]
#188, #195

- disabled submenus still opening (enable node should be li, not "a" tag
- popup requires double click (interference with JToolBar closing)

5 years agobetter Jmol help link
hansonr [Tue, 25 Dec 2018 00:05:25 +0000 (18:05 -0600)]
better Jmol help link

5 years agofixes #195 popup requires two clicks
hansonr [Mon, 24 Dec 2018 22:52:53 +0000 (16:52 -0600)]
fixes #195 popup requires two clicks

(interference with JTooptip window closing)

5 years agoMerge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git...
hansonr [Sat, 22 Dec 2018 18:49:52 +0000 (12:49 -0600)]
Merge branch 'Jalview-BH/JAL-3026-JAL-3063-JAXB' of https://source.jalview.org/git/jalview.git into Jalview-BH/JAL-3026-JAL-3063-JAXB

5 years ago#179, #185 status bar flicker gone (?), Colour by Annotation working
hansonr [Sat, 22 Dec 2018 18:49:32 +0000 (12:49 -0600)]
#179, #185 status bar flicker gone (?), Colour by Annotation working

5 years agoJAL-3032 prefer Jalview.isJS() to j2sNative
gmungoc [Fri, 21 Dec 2018 11:06:37 +0000 (11:06 +0000)]
JAL-3032 prefer Jalview.isJS() to j2sNative

5 years agomenubar, menus, tables
hansonr [Fri, 21 Dec 2018 02:51:40 +0000 (20:51 -0600)]
menubar, menus, tables

- Menubar adjusted to height of menu item text
- popip menu hover highlight moved from <a> to <li> tag,
  makes for full-width highlight
- popup menu hover to highlight bypasses <span> children by
  using mouseover instead of mouseenter
- popup menu vertical and horizontal spacing tweaks

maybe still issues with menu exit/hiding

- tables now correctly respond to changed data[] model
- much streamlined processing on changes for better performance
- still could do more, but it seems pretty smooth

- not able to reproduce any issues with color picker

Make sure to do a clean build. There were files in JavaScript that did
not get updated in my recent pull of Mungo's work.

5 years agoJalviewFileChooser back to original; synth. ref fixed in j2sClazz.js
hansonr [Thu, 20 Dec 2018 12:10:52 +0000 (06:10 -0600)]
JalviewFileChooser back to original; synth. ref fixed in j2sClazz.js

5 years agopreliminary hack fix for synthetic reference issue
hansonr [Thu, 20 Dec 2018 11:41:12 +0000 (05:41 -0600)]
preliminary hack fix for synthetic reference issue

           RecentlyOpened
         inner/ /subclasses
       JalviewFileChooser
          \          /
           JFileChooser
                 Component

So Component can be retrieved two ways through JFileChooser. (1) as the
original JalviewFileChooser object
(2) as the superclass of RecentlyOpened.

I will look into it. For now it is sufficient to simply move
RecentlyOpened to be at least a static class. I just made it another
top-level class.

5 years agofixes menu persistence issues
hansonr [Thu, 20 Dec 2018 10:16:43 +0000 (04:16 -0600)]
fixes menu persistence issues

- closes all menus on any click
- adds persistence for clicking a submenu item

5 years agoseq panel issue with shift-left-mouse drag fix
hansonr [Thu, 20 Dec 2018 08:59:04 +0000 (02:59 -0600)]
seq panel issue with shift-left-mouse drag fix

TODO: menus no longer close on their own