Commit Graph

367 Commits

Author SHA1 Message Date
Mike Blumenkrantz 3eaf4e8638 add function for clearing app menu cache
ref T2271
2015-04-20 16:04:31 -04:00
Carsten Haitzler c85c02ab0d e - lost windows menu is back. no windows menu does not handle it.
fix lack of lost windows submenu. no - windows menu does not handle
it. lost windows lists windows that are LOST - out of screen bounds.
this happens a lot with some apps asking to be placed out of bounds
for whatever silly reasons they have. you literally cannot get these
windows back without this menu. bring it back!

@fix
2015-04-03 17:53:26 +09:00
Mike Blumenkrantz dbcd03044e remove manager number from e_bg functions
this is no longer relevant; related code will be removed soon
2015-03-18 19:12:32 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz f9fc4b13de remove E_Comp usage from fileman/fwin 2015-03-18 17:40:04 -04:00
Mike Blumenkrantz eb029f94f7 remove E_Comp usage from internal menus 2015-03-18 17:31:56 -04:00
Mike Blumenkrantz e330067acb remove E_Comp from object/about dialogs 2015-03-18 11:48:46 -04:00
Mike Blumenkrantz 09ec213a31 remove e_util_zone_current_get() usage 2015-03-13 17:58:45 -04:00
Mike Blumenkrantz ba7c1ac49c remove E_Zone->comp member 2015-03-13 17:44:24 -04:00
Mike Blumenkrantz 34d906fa42 e_zone functions no longer require E_Comp param 2015-03-13 17:28:49 -04:00
Mike Blumenkrantz b63e490a33 remove e_util_comp_current_get() usage 2015-03-13 16:28:08 -04:00
Mike Blumenkrantz bacf638d73 remove E_Drag->comp and E_Comp param from e_drag_new() 2015-03-13 16:21:15 -04:00
Mike Blumenkrantz 23c4d42e4c rename extremely frustratingly-named E_Screen_Limits enum and members
this came in a patch that I take full responsibility for not adequately reviewing at the time.
the names are confusing and counterintuitive, and it does not properly include the client namespace.
2015-02-18 18:34:29 -05:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Carsten Haitzler 49812337e9 e menu - try fix a bug in e apps menu crashes with new efreet api
this fixes T1441 - or tries.. since it's not easily reproduced, this
is a try and understanding the problem and being conservative by
refcounting until the data is no longer needed. combined with its
needed new api's from 356d10fbeefd3f79f3cc848ed266d33e04ac7238 i hope
this works.
2014-07-23 20:38:01 +09:00
Carsten Haitzler 47b3e30e04 fix whitespace formatting 2014-07-23 19:33:25 +09:00
Mike Blumenkrantz 6dd98df0d6 remove all remaining efl version check defines 2014-03-13 11:55:29 -04:00
Mike Blumenkrantz d0589662c5 bugfix: check for unicode string end in client menu
CID 1186203
2014-03-13 11:51:21 -04:00
Mike Blumenkrantz 8d71213839 e_client_name_get() -> e_client_util_name_get()
this should be inlined
2014-02-05 10:55:50 -05:00
Mike Blumenkrantz c2be19c093 feature: comp config is no longer a module
given that compositing is always enabled and that it's crucial to be able to change these settings, potentially having them unavailable is not a great way to live
2014-01-14 20:28:57 -05:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Carsten Haitzler bb8e4e830c revert threaded app menu filling code - not stable in efreet
efreet still has lots of problems somewhere (unknown where) with
threaded use. it's just not safe even now. i'm seeing insanely
easy-to-reproduce issues every time i bring up a menu. since this is
unlikely to be solved in efreet before release, don't depend on efreet
being threadsafe and go back to the non-threaded code.

Revert "e: No need to check MINOR twice"
This reverts commit 97dd1d7486.
Revert "app menu parsing is now async with efreet 1.8"
This reverts commit 3989e54e21.
2013-11-27 19:43:05 +09:00
Sebastian Dransfeld c838eb74f6 menu: These ain't errors 2013-11-21 10:50:27 +01:00
Sebastian Dransfeld 97dd1d7486 e: No need to check MINOR twice 2013-06-21 12:48:10 +02:00
Mike Blumenkrantz 3989e54e21 app menu parsing is now async with efreet 1.8 2013-06-21 10:02:25 +01:00
Mike Blumenkrantz 4628c3b6dc only call app menu scan functions when passing a menu
klocwork issue
2013-06-10 10:16:52 +01:00
Mike Blumenkrantz 1b8c6fc89a fix possible memleak when creating new app menu entries
klocwork issue
2013-05-20 11:16:07 +01:00
Carsten Haitzler 6cd17aec69 fix: removing list node from list WHILE walking list without using the
foreach_safe.. fix.. use foreach_safe.
2013-04-18 12:50:06 +09:00
Mike Blumenkrantz 6f2a6d30f7 fix new crash in e_int_menus app finder code
SVN revision: 84064
2013-02-18 14:11:41 +00:00
Mike Blumenkrantz df0920e3a7 patch by Deon Thomas which implements efreet menu caching for e_int_menus
SVN revision: 83939
2013-02-15 08:16:06 +00:00
Cedric BAIL ba93ddb0de e: efreet_menu_parse is not thread safe.
SVN revision: 83762
2013-02-08 07:15:54 +00:00
Mike Blumenkrantz 5237b25e34 unbreak 1.7 branch compile
SPANK SPANK SPANK JIHOOOOOOOOOOOOOOOOOOOOOOOON


SVN revision: 83142
2013-01-23 10:05:53 +00:00
Jihoon Kim 10960b39c9 e17: use eina_unicode_utf8_next_get instead of eina_unicode_utf8_get_next
SVN revision: 83141
2013-01-23 10:03:31 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Mike Blumenkrantz a428601f56 config submenu now sets "config" category
SVN revision: 82546
2013-01-10 10:27:08 +00:00
Mike Blumenkrantz bede9e08bf Desktop->Shelves menu now shows shelf names instead of orientations
ticket #2105


SVN revision: 82408
2013-01-08 11:32:46 +00:00
Igor Murzov 678645f3ac Better gettext usage in a few places
SVN revision: 82293
2013-01-05 22:54:51 +00:00
Mike Blumenkrantz 21bdf63d57 don't generate menu on startup, just cache it after the first one
SVN revision: 81561
2012-12-21 16:34:50 +00:00
Mike Blumenkrantz 3bc56a9e5f fix a tremendous number of stringshare leaks
SVN revision: 81532
2012-12-21 10:20:05 +00:00
Mike Blumenkrantz 43dca4ccd8 don't leak efreet menus!
SVN revision: 81338
2012-12-19 09:44:55 +00:00
Carsten Haitzler 47c5345f55 lets not make the buffer so small (256 chars). with utf8 this could be
as little as 42 letters... in theory.... :) 1024 is better.



SVN revision: 81318
2012-12-19 01:33:20 +00:00
Mike Blumenkrantz 747a446838 apparently efreet_menu_get() uses timers and such for some reason, sigh. back to threadless we go for this
SVN revision: 81239
2012-12-18 12:01:59 +00:00
Massimo Maiurana 6b330d0932 Translate the "Shelf <orientation>" message (patch from Igor Murzov)
SVN revision: 81052
2012-12-16 17:10:08 +00:00
Chidambar Zinnoury d2f9a1cc7d e main menu: remove parentheses and disable item when there are no elements.
SVN revision: 81030
2012-12-15 20:07:02 +00:00
Mike Blumenkrantz 251ee5a5d6 another pedantic and probably unneeded null check
SVN revision: 80837
2012-12-13 12:52:13 +00:00
Mike Blumenkrantz 3a82001c8b fix leak in client menu generation
SVN revision: 80836
2012-12-13 12:50:58 +00:00
Mike Blumenkrantz 6388913775 another pedantic and probably unneeded null check
SVN revision: 80835
2012-12-13 12:47:34 +00:00
Mike Blumenkrantz 503d7305db Dear all,
As I've said before, I'm attached a patch for minor bugs in the e17 again.
 Please take a look at attached patch.

 01. missing E_FREE(wev) if zone is null
     File: src/bin/e_actions.c: 1467
     Function: ACT_FN_GO_EDGE macro function
     null check of zone and wev, it would be better to separate them.

 02. dead code
     File: src/bin/e_configure.c: 338
     Function: _e_configure_efreet_desktop_update

 03. array buf might be overwritten by "buf[i] = '\0'"
     File: src/bin/e_eap_editor.c: 412
     Function: _e_desktop_edit_user_local_desktop_filename_generate

 04. missing null check
     File: src/bin/e_fm.c
     Function: e_fm2_icon_get: 2196
     It would be better to check ic->info.file in e_fm2_icon_get
     before passing to _e_fm2_file_is_edje because it doesn't check
     null pointer.

 05. array 'path' might be overwritten by "path[i + 1] = XXX"
     File: src/bin/e_fm.c: 4299
     Function: _e_fm2_uri_parse

 06. missing null check
     File: src/bin/e_fm_device.c: 468
     Function: e_fm2_device_mount_find
     If the null pointer is passed to e_fm2_device_mount_find,
     then it attempt to compare string using strncmp without null
     check.
     e.g., e_fm2_path_set
           -> real_path = _e_fm2_dev_path_map: this function could return null.
           -> sd->realpath = real_path;
           -> e_fm2_device_mount_find(sd->realpath)

 07. missing free(fstrip)
     File: src/bin/e_import_config_dialog.c: 34
     Function: _import_edj_gen

 08. missing _module_free(cfm)
     File: src/bin/e_int_config_modules.c: 530
     Function: _load_modules

 09. missing free(class) in for loop
     File: src/bin/e_int_menus.c: 1187
     Function: _e_int_menus_clients_add_by_class

 10. missing free(roots)
     File: src/bin/e_main.c: 1646
     Function: _e_main_screens_init
     Actually only e_win_init function could return 0.
     But I've added free to other codes for the consistency.

 11. missing null check of 'es->cfg'
     File: src/bin/e_shelf.c: 2583
     Function: _e_shelf_bindings_add
     'es->cfg' might be null. please look at e_shelf_position_calc.

 12. no ect->category check before comparing string values
     File: src/bin/e_theme.c: 387
     Function: e_theme_config_remove
     I'm not sure, but inner if block checks ect->category before
     deleting a string.

 13. missing E_FREE(wcb) in while loop
     File: src/bin/e_widget_ilist.c: 146
     Function: _queue_timer

 14. dereferencing freed pointer 'entry'
     File: src/modules/quickaccess/e_mod_quickaccess.c: 583
     Function: _e_qa_event_border_remove_cb

 15. missing E_FREE(trov)
     File: src/modules/tiling/e_mod_tiling.c: 3106
     Function: _do_transition_overlay

 Thanks & Regards,
 Gwanglim


SVN revision: 80231
2012-12-05 11:13:09 +00:00
Mike Blumenkrantz 68e6b07cd7 all dialogs are no longer resizable
SVN revision: 80032
2012-12-03 09:24:12 +00:00
Mike Blumenkrantz 21c5355c18 remove menu fixme
SVN revision: 79946
2012-11-30 20:04:11 +00:00