Today is a new day, so I started it off finishing a small project from yesterday: menu optimization. With the addition of the (frequently) huge Files submenus, I discovered that the method for creating menus in E17 was quite slow; we would actually draw all the items at once — quite a costly operation for giant menus! After some work, we now use idlers which work based on animator frametime to populate menus, greatly improving responsiveness on all menus.
Next up was fixing a small bug in e widgets: focus was being improperly set on unfocusable objects. Bonus points to Devilhorns for spotting the symptoms of this in a backtrace.
Following this I got back into EFM to fix a number of bugs related to drag-n-drop: specifically that the dnd coordinates didn’t take into account pointer position if the filemanager widget wasn’t at 0,0. Also, symlinks and .desktop entries pointing to directories are now valid dnd targets. Furthermore, DnD is now enabled on the sidebar so you can easily drag files onto your removable media volumes.