while testing with no ~/.gtk-bookmarks and no volume, I was getting a
trailing separator. The new code should just add separators in correct
situations.
SVN revision: 39351
Please add the following to your /etc/mime.types:
application/x-edje edj
And the following to your ~/.e/e/config/$PROFILE/e.cfg (see hint below):
group "mime_icons" list {
group "E_Config_Mime_Icon" struct {
value "mime" string: "application/x-edje";
value "icon" string: "THUMB";
}
}
or just remove your settings and choose a newly installed profile.
How to edit your ~/.e/e/config/$PROFILE/e.cfg:
PROFILE=`eet -x ~/.e/e/config/profile.cfg config /dev/stdout`
eet -d ~/.e/e/config/$PROFILE/e.cfg config ~/.e/e/config/$PROFILE/e.src
$EDITOR ~/.e/e/config/$PROFILE/e.src
eet -e ~/.e/e/config/$PROFILE/e.cfg config ~/.e/e/config/$PROFILE/e.src 1
SVN revision: 39348
This cache is very simple and should work fine when system does not
change, it keeps a direct association of mime-types and found icons,
remembering theme and icon size. Search is very fast since it uses
stringshared strings and thus direct pointer comparison in hash
search. We could optimize it even more if we assumed stringshared
strings to come in, so no need to eina_stringshare_add() (which is a
hash per se), using just eina_stringshare_ref().
Cache population is limited to compile-time value and just values
older than a given threshold are deleted. I do not keep a LRU explicit
list, so you might have some old but unused items always alive. I
don't find this too bad, sure it will consume more memory, but will
not hurt performance. We can change this to purge all expired items by
not checking for number of items to remove, removing all that match.
Next I plan to find out a good way to cache and speed up file->mime
discovery. I plan to do auto-generated state-machine to match
extensions, so you don't need to check the same extension character
more than once. Example:
Input: bla.edc
Extensions: edc edj eps png bmp
It would first try to match against 'e', 'p' and 'b'. It will match
'e' and then check for 'd' (edc or edj) or 'p' (eps). It will match
'd' and then check for 'c' or 'j'. This will reduce number of
comparisons considerably.
As I'm running out of time (4am, not much time left on this month), I
could use some help here.
SVN revision: 39343
Now flags do not negate, rather specify if things should be used. This
will help us be compatible with original behavior and actually just
e_fwin is using that.
SVN revision: 39340
can use the same label and the same icon.
Atm the icons in the menu are taken from efreet and thus from
your icon theme...maybe icons found in the E17 theme should
override the system one?
SVN revision: 39337
* Make the fileman menu as it is in Places module (still need to fix icons)
Just a doubt:
why efm was called using ecore_idle_enterer_add ? it is necessary ? I need to reenable it?
SVN revision: 39335
oops, were using realpath and not path!
PS: still segfaults on some cases, related to mouse up callback being
called on already deleted icons, that should not happen as objects are
unrealized before being deleted. Need to investigate.
SVN revision: 39329
with these you can opt to ignore things like custom directory options,
very useful for widgets to choose files (e_widget_fsel) since you
don't want them to show your items as 128x128 :-)
SVN revision: 39322
This almost remove need of e_fm_mime.c since it will use efreet, but
may bring some slowdowns due efreet. In this case let's try to
optimize efreet and improve everything.
SVN revision: 39315
* split e_fm2_icon_get() to make it reuse more code paths.
* lots of new internal functions with _e_fm2_icon_ prefix are born,
try to reuse them as much as possible so we have less places to
change if we move to something else (hint: using FreeDesktop.Org
icons)
* optimize e_fm2_icons_update() and few others to do not copy
sd->realpath all the time, it is loop invariant there.
* comparison of mime icon "DESKTOP" and "THUMB" are now fast pointer
comparison since they're all eina_stringshare'd.
* themes can now differentiate between file types, like 'fifo',
'socket' or even 'executable'.
* common extension comparisons are bit faster, not using glob pattern
matching but rather reusing code to find out last '.' and then
comparing them in optimal way. I added E_FM2_SIMPLE_STRCASE_FILES
to make it even faster if one wants, left disabled by now.
SVN revision: 39313
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
Symbolic links are handled similar to "paste". If you "Copy" you'll
get the "Link" menu item that will create a symbolic link instead of
real copying the file.
Drag and Drop works similarly, use "Alt" in order to get a popup and
select "Link" there.
Toma: we do miss icons for it!
Mekius & Ptomaine: please review as I'm not that familiar with e_fm_op.c
SVN revision: 39170
e_fm2_custom_file now remembers directory settings, it will save
position on screen (horizontal and vertical pan percentage), view mode,
icon size, if to remember ordering and if it should show hidden files.
There is a menu option to remove these settings and inherit settings
from parent.
SVN revision: 39031
This was added in a commit by cedric (r38185) saying it was doing efreet
and eina_hash changes, so I expect it to be erroneous change.
If view mode has any problems, let me know.
SVN revision: 39025
When e starts in systems under heavy load, it might not get reply from
HAL before we need it, so detect batteries that still do not have
filled properties and avoid calling _battery_update() if nothing is
known.
SVN revision: 38946
vanishing, like with e_shelf_locked_set. gadcon providers set their own lock
function with e_gadcon_util_lock_func_set, which is called by
e_gadcon_locked_set.
SVN revision: 38759
according to raster e_gadcon_canvas_zone_geometry_get() was supposed
to return zone-relative coordinates, but it was implemented
incorrectly and everything now depends on absolute coordinates, so
let's keep it absolute.
SVN revision: 38589
* simplify eina_stringshare usage with _eina_stringshare_replace();
* do not modify the string in stringshare as in e_fm2_parent_go();
* use custom_theme_content instead of custom_theme in e_fm2_custom_theme_content_set().
Hopefully this will break nothing, but further analysis if it's
leaking strings in the stringshare should be done.
SVN revision: 38559
Some cases like not having o_base and o_frame are impossible, but I
added the cheap "else return;" just to keep it quiet. But some cases
were really bugs and were fixed.
SVN revision: 38556
It's nasty to have shelf auto-hided when you have a popup like mixer
or battery warning, so gadcon popups will now lock shelf while they're
visible.
Developers can go back to old behaviour setting the appropriate flag
with e_gadcon_popup_shelf_lock_set().
SVN revision: 38530
Anytime shelf appends its submenu, it will lock shelf so it's not
hidden automatically. Unlock happens as soon as the menu item is
deleted.
SVN revision: 38529
e_menu had this behaviour that submenus were not deleted
automatically, relying on the parent menu to hook to post_deactivate
and then delete them.
This was good because maybe you don't want to delete these children,
you might want to reuse them sometime.
But it ended that nobody was using this feature, and worse: most use
cases were failing to delete these children, causing memory leak.
This commit changes the default behaviour and thus remove all the
existing code that was replicating such work. If one want the old
behavior, just call e_menu_item_submenu_set(mi, NULL) and it will be
unbounded from the parent.
If you experience any problems with that, try adding some printf()
before _e_menu_free() and _e_menu_item_free() and print some relevant
information like m->category and m->header.title or mi->label in order
to figure out the problematic menu.
SVN revision: 38528
It's so annoying have to move mouse to screen border in order to show
shelfs. This way we can do a key bindings to do so.
One can use glob (uses fnmatch) to limit shelves by name.
SVN revision: 38527
might not have them - if the app is installed, and to allow the user to
select what goes in their ibar to start with. only .desktop files in
~/Desktop left to deal with.
SVN revision: 38473