e_flowlayout_min_size/e_flowlayout_max_size_ changed to size_min/max
e_entry_min_size_* changed to e_entry_size_min_*
e_slider_min_size changed to e_slider_size_min_*
SVN revision: 42164
- this is hopefully the last format change of history for now..
- keep the numbers low. need to add normalization when first item hits 1.0
SVN revision: 42137
- more work on history sort
- use return for browsing only in thumb mode.
one needs it also to launch actions on folders..
- cleanups
SVN revision: 42122
Hi guys.
Here is my solution for #113 ticket request. This allows to transfer a
gadget to different locations. In short,
- any module can register arbitrary number of locations by invoking
e_gadcon_location_register().
- module is responsible to provide 2 functions, one for removing
particular gadget and one to add particular gadget class.
- module responsible to equip its gadcon(s) with reference to registered
location. If a gadcon contains non-NULL location reference, each gadget
contained by this gadcon can have submenu on its context menu. Template
function for constructing such submenu is provided
e_gadcon_client_add_location_menu. Gadgets can be moved from and to this
location by invoking menu items. Gadcons with NULL location reference
can accept transferred gadgets by module logic but can't send contained
gadgets to another module.
- module responsible to unregister location when gadcon is no more
available.
- menu items for context submenu is sorted by E_GADCON_SITE_XXX assigned
to that. Module can assign and change an icon for context menu item
corresponding to its location(s).
- Currently only shelves and gadman (desktop) used in gadget transfer
operations. I believe it is no trouble to ivolve any other
gadcon-capable module into the process. If you want to have that, please
just let me know.
Here the patch in attachmet. It even works, at least sometimes and at
least for me. Hope you'll find it useful.
SVN revision: 42121
- theme: allow smaller popup size, cleanups
- free items from history. needs some more testing
to let the history not grow too large
SVN revision: 42119
- give exact matches higher priority
- i.e. type "xt" and select a specific xterm window
afterwards xt will put this item first in the list
- cleanup
SVN revision: 42107
- moved history functions to evry_history.c
- unload history hash when popup is not visible
- TODO cleanup history when it ahs grown too large
SVN revision: 42097
- added history that should adapt sort list sorting to usage
- conf dialog: moved plugiγ types to separate pages
- fixed bug from shared hash of apps plugins
SVN revision: 42095
- add cursor left/right folder navigation back to list view + arrows for the theme
- remove old list view theme
- use ctrl+3 / ctrl++ for changing zoom level in thumb view
SVN revision: 42070
- optimized view to update when required
- dirbrowse send asnyc upadte only when current list has changed
- ++ evry_action priorities, needs config option though
- moved _app_action to evry_util_app_exec
SVN revision: 42051
- keep state of view for zoom and mode when browsing
- only update non async sources when switching selectors while update timer is active
- fix 'open with' action
SVN revision: 42047
- removed old list view. both is in thumb view now. toggle them with ctrl+2
- removed o_icon and o_bg memebers from Evry_Item, those didnt belong there..
- moved some stuff into evry_util.c
SVN revision: 42031
- copied dir scanner from exebuf, finds now all the stuff that showed up in exebuf
- should have an option to be disabled by default. most people will only use
-desktops anyway
- use shared hash for apps and 'open with' plugin
- added 'run command' action
SVN revision: 41969
- new thumb view: use + for zoom
- moved plugins to subdirs
- theme tweaks
- fix fuzzy match once again
- hash border and app items
SVN revision: 41961
Whitespace Removal.
Fetch the windows evas once instead of multiple calls to e_win_evas_get.
Use E_FREE to free the config dialog structure.
Make sure the window is centered when switching between Basic & Advanced.
SVN revision: 41931
- added obligatory 'set as wallpaper' action for image file
(plugin shows how to make hierachical menus by a plugin)
the import action is taken from e_int_wallpaper, would be
good to move a generic version to e_util
- initiate first view automatically (to handle plugin selection
without showing the list)
- cleanups
SVN revision: 41930
- added intercept and cleanup functions for Evry_Action.
intercept is run before subject item is passed to object plugin
so that it can convert the output type of subject to the input type
of object plugin. used for BORDER -> APPLICATION (if border has a
reference to a .desktop file)
SVN revision: 41921
- support the inheritance of plugins for
plugins with one instances per state (dir_browse)
- moved internal plugins action_selector and aggregator
to separate files
- all type_in/out checks are now done with pointer comparison
SVN revision: 41920
- added begging of help view plugin (trigger with space+?)
- fix fuzzy match to handle punctuation correctly
- fix view plugin api for singleton plugins
SVN revision: 41909
I did these while hunting for "buttons not auto-enabled" but that
problem ended to be in e_widget that I fixed already. They should be
harmless, so here they go.
SVN revision: 41884
not sure if it's a bug in e's keybindings conf but this works around
the problemφchanging a predef action with params to one that has NULL
SVN revision: 41866
- automatically create e-actions for subject plugins so that
can be triggered directly
-> see bindings category: everything
- optimze fuuzy match
- plug border: handle border remove events
SVN revision: 41865
- no more glob matches
- dir browse now checks for mime magic, hope that slows down no too much
- preview: cleanups
- nicer var names in fuzzy match
SVN revision: 41852
- fixed bug from not removing items of old list that raster found yesterday
- added api functions so that plugins can provide their own view
SVN revision: 41827
- pass plugin priority hints with plugin registration
for initial sorting
- register "select action" as normal plugin
(move it before "open with.." action
to use efm as default to browse dirs)
SVN revision: 41822
- added 'send to current desk' border action
- fuzzy match cosmetic
- strip off path from desktop->exec for matching. now '/' shows dir browser as first entry :)
- wider list popup
- open file with apps that only support x-directoy as mimetype strips off filename
SVN revision: 41812
- fuzz<_match fix: match last word of 'string' with every word in 'match'
- dont fetch new items when only space was added
- apps: cleanup
SVN revision: 41794
- fix action selector update when no subject item exists
- better weights from fuzzy matching
- apps: combine launch time with fuzy weight for sorting
- aggregator: eruse priority from plugins for sorting
SVN revision: 41779
- use const for items passed to plugin functions
- fixed possible segv in dirbrowse plugin
- added tracker search for folders
- restrict tracker search results to supported mimetypes when using 'open file' action
SVN revision: 41702
- use eina_module. TODO public header needs to be exported for external build of plugins
- fix evry_async_update: do not show tab if there are no candidates
SVN revision: 41539
Just type "aspell" and then words, it will show the options, navigate
to correct item and hit ENTER, it will be copied to X selection and
Clipboard.
To select language use "lang=XXXX;" prefix. This will be valid while
everything dialog is alive, when it's hidden the language is
forgotten.
Examples:
aspell helo
shows: hello, hell...
aspell lang=pt_BR; olla
shows: olá, olhar...
SVN revision: 41536
- Hide eina_list internals by using eina macros
- Cleanup some duplicate code
Patches slightly modified for formatting & whitespace removal.
Use eina_list internal macros in some places that were missed.
SVN revision: 41518
This nasty bug was more evident with dialog reuse on configuration
Basic/Advanced toggle, on some resolutions like 1280x1024 it was
always reprodutible.
The problem spotted by Manio is that the dialog contents is resized
but the window is not. The bug follow is:
* window is at some given size (640x512)
* user toggles contents, calls e_dialog_show()
* bg_object (window contents) is resized to MIN (!!!)
* e_win_resize is called with MIN (so far, so good)
* something calls e_util_win_auto_resize_fill(), size is back to 640x512
* _e_border_eval() resizes to the last value 640x512, it's unchanged
so _ecore_evas_x_resize() checks for size being the same and ignore,
not even callking back fn_resize (user callback, _e_dialog_cb_resize).
* window is at 640x512, while bg_object is at MIN, BUG!
One solution is to never change bg_object from outside
_e_dialog_cb_resize, like it's after this patch. The other is to
always call fn_resize even if it did not changed, which could lead to
lots of useless work.
By: manio
Confirmed: barbieri
SVN revision: 41515
entries. This is done so that if a module is loaded/unloaded while the
Config Panel is displayed, then the Panel will maintain the proper items.
There is still a bug wrt the toolbar where when items are added/removed, the
toolbar maintains a disabled look and does not center the items.
SVN revision: 41502
Use E_FREE for things created with E_NEW.
Add new function to clear the toolbar.
Add new function to return the number of the selected item.
SVN revision: 41501
We should just set E_CONF_PROFILE from command line option or e_config
startup if we did not had this set before. This is because
ecore_app_restart() will use the same parameters and profile will be
there yet.
SVN revision: 41500
execinfo.h (which contains the backtrace* functions is only included
if OBJECT_PARANOIA_CHECK is defined so add an #ifdef around those calls.
SVN revision: 41439
- enable app history again and added fix to not screw it up anymore.
maybe e_exehist_add should check that a valid entry is produced before adding it.
ei->exe was NULL in e_exehist_sorted_list_get. need to track it down further..
SVN revision: 41357
- made triggers exclusive for now. i.e. '=' only shows calc plugin
- calc: create special window for clipboard selection
- fixed apps glob matches
SVN revision: 41351
This patch will reuse the same e_dialog and thus window while changing
contents between basic and advanced. The benefit, among many, is to
avoid titlebar flashing like hell when you click the toggle button.
By: manio
SVN revision: 41314
Ooops! My last changes to introduce without_border broke things, often
unnoticed but it was in the way when we requested resize of existing
window, done in the patch to reuse the e_dialog while toggling between
basic<->advanced by manio.
Thanks manio for spotting and Sachiel for the time help debugging it.
SVN revision: 41313
Before gadman was using a single gadcon for all zones, that lead to
problems like popup menus being incorrectly placed.
The correct solution is to mimic shelves and have one gadcon per zone,
including the top layer.
By: manio
SVN revision: 41312
this should help us in near future:
* -valgrind[=MODE], to run under valgrind and toggle interesting
options as we often request users to give us valgrind logs but
they're often running valgrind on wrong binaries and with wrong
parameters. See enlightenment_start -help for more, but in sort:
-valgrind=all should give us enough information.
* -valgrind-log-file=path, so the log will not mix with lots of
output we do.
* debug: on crashes, always list traceback (execinfo/glibc
functions) and check if gdb exists, if so ask it to print out
traceback of all threads to stdout. gdb will be detached as soon
as messages were printed and everything should work without gdb as
well.
SVN revision: 41309
Some icons will change their geometry and this should be reflected on
layout.
This should fix some icons being incorrectly placed (Google Desktop,
VideoLan, Claws-Mail, ...)
By: Vincent Francois
SVN revision: 41308
- fix segv in calc
- added triggers to plugins. '=' for calc, to be configurable soon
- added optional realize-cb for plugins to delay list generation until shown
SVN revision: 41290
version config - literally keep the last 9 config revisions (10 including the
current) and if config gets corrupted...it auto-falls back to the last good
one.
SVN revision: 41252
Formatting.
Whitespace Removal.
Variable cleanup.
Add missing 'static' declaration on private function.
Move EAPI functions to be together in the source before local functions.
SVN revision: 41246
- added initial version of calculator frontend (only bc for now)
- return without candidate selected adds current result to the history
- return on candidate puts result in clipboard
- scrolling for the plugin selector tabs
- fix segv when popping a state without a selected candidate
SVN revision: 41242
to error, abort or overwrite dialogs.
2. Glyph in fileman_opinfo theme that show have or not operation linked
filemanager window.
3. When click on operation on fileman_opinfo, then linked efm window
raised or attention dialog if error exist.
SVN revision: 41229
1. Gadcon sities:
-- 'E_Gadcon_Site' enum to list all available sities,
-- added 'is_site' callback for distinguish gadcon sities,
-- 'e_gadcon_site_is_*' helpers written to use in gadget modules,
-- gadcon config dialogs modified to show only gadgets that appropriate
to selected gadcon site,
-- all gadget modules updated for using new callback.
When callback is not provided in module, then gadget can be used in
any gadcon site.
2. Filemanager:
-- added error icon to unexisting path dialog,
-- added callback 'func.abort' to 'E_Fm2_Op_Registry_Entry' to specify
abort operation sequence (if not provided, then operation is not
cancelable),
-- added parameter to 'e_fm2_op_registry_entry_add' to specify abort
method on construct 'E_Fm2_Op_Registry_Entry' or make non-cancelable
operation if this function is not provided,
-- added 'e_fm2_operation_abort' call to cancel efm2 operation,
-- added method '_e_fm2_operation_abort_internal' that represent efm2
default handler of operation cancelling,
-- 'done' and 'total' fields of 'E_Fm2_Op_Registry_Entry' changed to
off_t type, also all message handlers modified to work with it
(to show progress for large files correctly),
-- improved file operation progress processing,
-- added cancel button to operation progress gadget in filemanager window,
-- added delete file glyph to operation progress gadget,
-- improved status message for efm2 operation progress.
3. Filemanager slave:
-- fixed critical bug in message handling via stdin/stdout,
-- fixed critical bug in removing task from list,
-- improved 'E_FM_OP_ABORT' handling,
-- fix rollback counting on moving files.
4. Fileman_opinfo module:
-- a new theme writed: status string and gadget for view operation status
in summary and detail modes,
-- summary mode: operation glyph, state message, progressbar, abort button,
-- detail mode: all for summary + from filename, to filename,
-- summary/detailed button works as trigger,
-- added source of module theme and used images.
4. Pathbar module:
-- non-critical fix, just for safety.
Also patch contains several minor updates to serve main task.
SVN revision: 41224
- added Evry_Action which allows to add actions to item types that are
provided by other source plugins. The action can act on two items, e.g.
select an app -> chose action 'open file' -> all plugins which provide FILE
are queried -> select file -> enter executes app with given file
- moved back to static plugin instances, plugin that can be instantiated
recursively must thandle this in begin/cleanup functions (see dir_browse)
SVN revision: 41189
The old code that query the zone based on x,y was causing me
segfaults. When battery module was in a hidden shelf, the position was
outside any zone and then segmentation fault.
As far as I understand, gcc->gadcon->zone should always exist and
always be correct, but I don't have xinerama setup now to confirm
that.
If you know this is wrong, let me know!
SVN revision: 41147
Here's another patch I've made for efm2 to fix an issue that I've
often experienced using it (in Illume) with a touch-screen
device (Freerunner). It often happens a very strange thing: I
try to finger-scroll a bottom icon (it must be on the latest row)
moving my thumb up, well... The the scroller doesn't scroll, but
wherever and whenever I release my finger, the selected icon is
executed!
I don't really know to what is this due (the touchscreen seems to
perform correctly by the way), but I've never been able to
replicate it using a mouse in my PC.
Anyway to fix this issue, that could be specific, I've used a
workaround that I think that could be applied for all: it
basically checks if the mouse has been released in the area where
the clicked icon is, before sending a "selected" callback.
It needs the previously attached
e_fm2-single-click-delay-support.patch to be applied correctly.
Going deeply into the real issue I've made some tests, and I got
that this seems mostly due to an evas issue (I figure), since the
e_fm2's scrollframe never sets the evas event flag to:
EVAS_EVENT_FLAG_ON_HOLD
(that would avoid the un-wanted click).
After some debugging there, I've also seen that in this very
particular buggy case the _e_smart_event_mouse_up() and
_e_smart_event_mouse_move() callback functions are never
called (so I figure that evas doesn't add the callbacks at all
for the scrollframe, while they are added in the e_fm2).
Let me know what you think about this... I thing that the Om
users would need a fix like this.
By: Marco Trevisan (Treviño)
SVN revision: 41129
Use the e_fm2 single_click_delay option in illume's e_fm2 to allow to
configure, from the launcher settings, a click delay to prevent
un-wanted clicks.
I've added a slider to configure the delay from the settings (also if it
has some issues, check the code comments and let me know if should be
redesigned). The default value is set to 120 ms, but it works great too
for lower values.
By: Marco Trevisan (Treviño)
SVN revision: 41128
avoiding the un-wanted clicks with touch-screen devices (especially if
they aren't so precise); it basically allows to set a time delay to be
awaited (pressing over an icon) before sending a "selected" callback.
Thanks to this, it could be needed a longer pressure to select an item
in the file-manager; useful for embedded/touch-based systems.
By: Marco Trevisan (Treviño)
SVN revision: 41127
This bug was showing when fast toggling between advanced<->basic in
config dialogs.
Note, however, that there are a remaining alien bug with fast
toggling. It's aborting due adding evas object as member of another
from other canvas, which is not allowed. I tried to debug it and it's
REALLY weird, the advanced or basic create_widgets() are being called
twice, from inside the same function, like if the create_widgets() was
calling itself, but the code do not do that, I traced some that would
happen from e_widget_button_add()!!! Like if we had threads of were
being preempted from nowhere, really strange... seems like a stack
corruption :-(
SVN revision: 41038
as spotted by manio, toggling between "Basic" and "Advanced" mode was
making the window move (just open Theme dialog and toggle).
Manio suggested a fix by keeping window center between both modes, but
I think that given our top-left to bottom-right reading (LTR) we
better keep the title bar (x,y) intact and avoid full rescan. This can
be weird in small screens where the dialog will not be centered
anymore and that will show easily, but on regular screens this should
not be an issue.
Also spotted that it was wrong when trying to avoid window overflow
(using x instead of y).
PS: I wonder why we destroy and create the window all over again! This
is really annoying, title bar will show the focus animation and you
get lost (need to rescan it again).
SVN revision: 41004
if an executable returns non-zero a dialog will be present with
information, if it was a .desktop file, then it would use the "Name"
field to name the log and all.
However, the .desktop reference was deleted and the dialog would use a
bogus pointer. Now we take a reference insidethe dialog and just
release it on dialog deletion.
Found by manio, fix by me.
SVN revision: 40987
Avoid case where e_exec (and possible others) gives
e_util_filename_escape() a NULL parameter, actually another bug, but
does not hurt to safe guard this one.
By: manio
SVN revision: 40979
do not crash if user request a tab but efm is not using toolbars (ie:
nav, path).
It is still producing weird results when create more than one tab.
SVN revision: 40945
for quick commands (i call couple of short-named shell scripts) it was
easy to trigger the situation where timer expired after popup was gone
and E got a segv by accessing popup == NULL.
SVN revision: 40932
1. Added E_FM_OP_EJECT command to e_fm_main. It unmounts volume
before eject, if it necessary.
2. Added timeouts of mounting/unmounting/ejecting media, and
it's moved to slave e_fm_main.c. Each timeout will generate
*_MOUNT_ERROR, *_UNMOUNT_ERROR and *_EJECT_ERROR message.
3. Added auto mount on insert media and auto showing efm2 window
on mount volume options to filemanager config.
4. Added mounted/unmounted glyphs to efm2 icons and track state
code. Now each removable device have "M" glyph on icon if mounted
and "U" when unmounted.
5. Added mount/unmount/eject commands to icon dropdown menu.
6. Russian translation of mew messages.
7. Other bugfixes and improvements for co-operation.
Now, efm2 contains all code to mount/umnount/eject removable media and
all code to provide corresponding user interface.
It can working independently from 'places' or co-operate with it.
By: Sergey Semernin
SVN revision: 40928
I found strange behavior in my configuration (xinerama - two screens
with two zones). When i select a Enlightenment->Restart from menu the
popups for gadgets on desktop doesn't appear or appear wrongly. After
some time i've found that this depends on on from what screen i am
choosing this enlightenment->restart :)
After some debugging i figured it out:
When restarting enlightenment some gadgets (i.e. calendar) are calling
e_gadgon_popup_new(). Inside that function, zone for popup window
(this zone was used later in ecore_evas_move_resize) is calculated
like that:
{{{
zone = e_util_zone_current_get(e_manager_current_get());
and in e_manager_current_get is: ecore_x_pointer_xy_get()
}}}
... so - i have my answer why restaring from one screen (cursor was on
that screen) and from second screen i have different results...
In other words: during initializing module like calendar - created
zone for popup is assigned depending on current cursor position.
In my patch i've chage this to obtain zone using the gadget position
instead. But it solves the problem partialy.
Next thing - in function:
e_gadget_popup_show() (which is called later) when calculating popup
position coordinates was calculated using zone:
{{{
pop->gcc->gadcon->zone
}}}
which in my case was always the first (initial) zone - (of course it
was wrong, because i put a gadgets on different screens for testing).
so i changed it to zone of popup window (which was calculated before,
in e_gadgon_popup_new()) and after that everythings works ok :) Zones
for popups are correctly assigned and popups calculation are also ok -
even after restaring enlightenment (tested with cursor on both
screens).
By: manio
SVN revision: 40927
Run Command (module exebuf in e) was acting strange for me. I
have .desktops for Firefox and Firefox - Safe mode (well, at least a
menu entries for them), and when I entered "firefox" in the input box,
and choose the command "firefox" from the list under the input field,
exebuf was starting Firefox - Safe Mode (it was the only one showed in
the upper list - "Firefox" was not listed there).
This patch fixes it (the lower selected, upper started problem, not the
"Firefox" is not there one) for me.
By: Tomasz Kontusz
SVN revision: 40926
if e_modapi_init() called e_gadcon_provider_register() the module
gc_init() would be called immediately, becore e_modapi_init() finished
and thus mod->data was unset (it's set by E when that function
returns).
most modules did not show this problem since they keep lots of globals
around and use them, but not mixer module. Mixer module did check for
global mixer_mod to be set and also mixer_mod->data, thus exposed this
problem, with "mixer is not able to show on desktop/gadget" but did in
shelves, since it would refuse to load immediately but would be loaded
later at e_shelf_config_new()->e_gadcon_populate().
Now gadcons are populated from an idler, avoiding all these problems
and probably will impact user's perceived load time since it will do
less work before getting to main loop and being able to process
events.
SVN revision: 40714