Commit Graph

188 Commits

Author SHA1 Message Date
Mike Blumenkrantz f36ecd9d3d giant comp rejiggering commit #2: popups are now objects drawn directly onto the compositor canvas with no xwindows of their own
* added a number of new e_comp functions and macros

* options for disabling effects on objects: this option does not currently have any effect

* all modules which used gadcon popups have been adjusted

* all modules which used input windows to detect close events for gadcon popups have been adjusted to use new popup autoclose functionality

* shelves are now always drawn on the compositor canvas, meaning objects will never get clipped by the shelf (ticket #1810)

* shelves no longer have an event object

SVN revision: 84060
2013-02-18 13:43:47 +00:00
Mike Blumenkrantz aa6a2d173d giant comp rejiggering commit because anything smaller would have broken something:
* remove xwin for container canvas: now drawn directly on the compositor canvas

* added SHAPE_DEBUG define for bored developers

* bindings now use new e struct for mouse/wheel events

* container+zone now get mouse events from smart callbacks instead of x events

* rename comp api namespace

* change comp underlay theme to have a swallow for the wallpaper

* add names to all zone/container/comp objects to make debugging much easier

* some minor related updates to go along with this

SVN revision: 83752
2013-02-07 13:20:07 +00:00
Mike Blumenkrantz 7923a0937c fix desktop gadget dragging near screen edges
ticket #2108


SVN revision: 83063
2013-01-22 09:39:04 +00:00
Lucas De Marchi 0675dd03a0 e: rename option use_composite to use_shaped_win
In order to move composite inside the core we need to kill the
use_composite option. However in some places it is being used to switch
between ARGB and shaped windows. It doesn't make much sense to keep the
advanced/engine dialog to let the user toggle this options if we have
composite always enabledm, but lets allow the user to shoot
himself on the foot (for now).

Next step will be to move the comp module files to core so user can't
unload it anymore.



SVN revision: 82433
2013-01-09 03:21:25 +00:00
Mike Blumenkrantz c94aac1b87 fix gadman load/shutdown
SVN revision: 80641
2012-12-11 10:49:17 +00:00
Mike Blumenkrantz dfe7117ba6 force enable gc edit flag if gcc is being edited to prevent crash when deleting just-added gadman gadgets from dialog
SVN revision: 79972
2012-12-01 16:08:39 +00:00
Mike Blumenkrantz c6a9c34e7f giant header overhaul which removes all the stupid one line function prototype headers and e_mod_main.h headers that contain nothing but unnecessary module api prototypes
SVN revision: 79908
2012-11-30 14:38:34 +00:00
Mike Blumenkrantz 6502761657 fix dangling gadman gadgets during dnd and fix edit mode toggling when gadgets are dragged in and out of desktop gadcon
SVN revision: 79876
2012-11-30 08:52:57 +00:00
Mike Blumenkrantz 98a1ef6bd1 more gadman dnd rewrites to fix this stupid, awful piece of garbage that I can't wait to delete.
ticket #1820 (again)


SVN revision: 79841
2012-11-29 16:03:54 +00:00
Mike Blumenkrantz 7f9e4979fc fix gadman crash when container shape changes
SVN revision: 79803
2012-11-29 05:19:41 +00:00
Carsten Haitzler 8f03dcc9ed dont hardcode overlay part as its not namespace - accept right click
on ANYTHING to stop move/resize in gadman.



SVN revision: 79686
2012-11-26 10:06:50 +00:00
Mike Blumenkrantz ae73a11981 another rewrite: gadman now just resets itself on a timer any time you mess with monitors instead of trying to add/remove gadcons properly. this should fix some bugs which were floating around
SVN revision: 79211
2012-11-13 09:51:28 +00:00
Mike Blumenkrantz 1374faeb04 patch from Doyoun Kang to fix gadman gadget positioning
SVN revision: 78636
2012-10-30 08:04:52 +00:00
Mike Blumenkrantz 45e0a1bb59 create gadman gadcons after module init is over to avoid re-creating all the gadcons repeatedly during init; speeds up init quite a bit and inadvertently fixes ticket #1685
SVN revision: 78526
2012-10-26 12:13:53 +00:00
Mike Blumenkrantz 1401c39182 desktop gadgets no longer have the confusing "Behavior" menu, instead the hover layer is now a separate location which can receive gadget moves from any gadcon in the "Move to" menu
SVN revision: 77528
2012-10-05 10:36:11 +00:00
Mike Blumenkrantz 22a560b41f unnecessary cast
SVN revision: 77527
2012-10-05 10:23:52 +00:00
Mike Blumenkrantz 2413409717 use list macros for gadman handlers
SVN revision: 77526
2012-10-05 10:22:57 +00:00
Mike Blumenkrantz 71f57bb52d gadcon location gadget_add callbacks now have a gadcon client param so the config can be retrieved since these callbacks are (currently) only used for changing locations of gadgets
also the related gcc param in gadget_del can now have a NULL config to signify that the gadget has been moved to a new gadcon

this means that moving a gadget to a new location will no longer cause it to lose its gadget config

ticket #1594


SVN revision: 77521
2012-10-05 09:57:34 +00:00
Mike Blumenkrantz 6933d4b8ac gadgets can now be configured from the Desktop menu to bypass selecting layer in the overall gadget config
SVN revision: 77517
2012-10-05 09:05:34 +00:00
Mike Blumenkrantz c873260de3 ensure that missing gadman gadget geom popup only ever appears once, also set edit mode on repositioned gadget
SVN revision: 77514
2012-10-05 08:23:00 +00:00
Mike Blumenkrantz 9c7ea16706 also handle reapplying default sizing more effectively
SVN revision: 77513
2012-10-05 08:16:11 +00:00
Mike Blumenkrantz d0d1fbe5ba fix gadman popups to work and support markup
SVN revision: 77512
2012-10-05 08:13:43 +00:00
Mike Blumenkrantz 77865ac5b0 break out gadman popups into separate functions with timers and handlers to ensure that they actually go away
SVN revision: 77509
2012-10-05 07:31:10 +00:00
Mike Blumenkrantz 3f67c25467 use default coords when repositioning a misconfigured desktop gadget so it will be less likely to be hidden by open dialogs
SVN revision: 77506
2012-10-05 06:59:06 +00:00
Sebastian Dransfeld b659bc1b26 e: Fix typo
Patch by Igor Murzov

SVN revision: 77492
2012-10-04 23:27:07 +00:00
Sebastian Dransfeld 436323bf59 e: cleanup layer handling
It seems people put random numbers as layers, so it is better to define
available layer numbers.

This patch also puts popups below fullscreen windows, as it sucks to get
popups during presentations. A better solution is maybe to put popups
above fullscreen, but have a presentation mode to put fullscreen windows
above popups?

SVN revision: 77293
2012-10-02 08:54:35 +00:00
Mike Blumenkrantz 4c09bb330f yet another gadget overhaul, this time fixing:
* gadget dragging over windows (ticket #1563)
* gadget dragging/resizing on the hover layer
* yet another gadget refcount bug
* lots of annoying inconsistencies when dragging around new desktop gadgets


SVN revision: 77271
2012-10-01 14:02:24 +00:00
Mike Blumenkrantz e7cbbb4ed1 use mover geom to determine gadman gadget zone, also don't save until drag is over
SVN revision: 77264
2012-10-01 10:42:58 +00:00
Mike Blumenkrantz 9c7996bbd8 end gadman edit when shutting down (fixes crash), clean up legacy gadman dnd code, fix gadman dnd to remove client configs when drag starts, not when edit starts
SVN revision: 77262
2012-10-01 10:28:38 +00:00
Mike Blumenkrantz 99f7820770 fix gadman gadget refcounting
SVN revision: 77258
2012-10-01 10:01:04 +00:00
Mike Blumenkrantz 4e779975f9 rename E_LIST_HANDLERS_APPEND to E_LIST_HANDLER_APPEND, also add E_LIST_FOREACH
SVN revision: 76951
2012-09-21 09:23:07 +00:00
Mike Blumenkrantz 791ec69614 fix bug where newly-added desktop gadgets wouldn't initiate edit mode correctly and would be undeletable
SVN revision: 76906
2012-09-20 12:27:00 +00:00
Mike Blumenkrantz 79545f4e3c delete gadman drop handlers
SVN revision: 76855
2012-09-19 12:40:37 +00:00
Mike Blumenkrantz 87ad874972 initialize variable
SVN revision: 76802
2012-09-18 11:31:11 +00:00
Mike Blumenkrantz 8239fa1514 use gadcon popup for rare gadman error
SVN revision: 76790
2012-09-18 09:05:00 +00:00
Mike Blumenkrantz 03dda786da with massive hacks and huge other hacks, it's finally possible to seamlessly drag icons from the desktop to a shelf and vice versa
ticket #113


SVN revision: 76765
2012-09-17 14:49:48 +00:00
Mike Blumenkrantz 916d997c81 adapt gadman dnd to non-global variables
SVN revision: 76760
2012-09-17 13:06:06 +00:00
Mike Blumenkrantz 404d6b2ea5 gadman static variables--
SVN revision: 76743
2012-09-17 09:14:52 +00:00
Mike Blumenkrantz 55bb34aa02 moving a gadget off the desktop using the menu now properly deletes the gadget from the desktop
SVN revision: 76537
2012-09-12 15:14:03 +00:00
Mike Blumenkrantz 567a996222 rename variable to be more like e_gadcon
SVN revision: 76523
2012-09-12 12:28:19 +00:00
Mike Blumenkrantz 0ecafb75e5 unset top gc in gadman to ensure it gets set properly later on
SVN revision: 76453
2012-09-11 10:38:09 +00:00
Mike Blumenkrantz ec95e5e0b0 re-set gadman bg when updating zones
SVN revision: 76447
2012-09-11 07:56:00 +00:00
Mike Blumenkrantz 96d2436b76 fix color calc for gadman hover layer
SVN revision: 76446
2012-09-11 07:38:52 +00:00
Mike Blumenkrantz d28abd0421 overhaul gadman to utilize the new gadget config dialogs, also streamline gadman gadget deletion to work like regular gadgets
SVN revision: 76258
2012-09-06 18:28:02 +00:00
Mike Blumenkrantz 851d0069f7 fix case where gadman would add gadgets multiple times
SVN revision: 76245
2012-09-06 13:50:58 +00:00
Mike Blumenkrantz 1171e0888a evas uses premul colors, now gadman does too
SVN revision: 76240
2012-09-06 12:49:02 +00:00
Mike Blumenkrantz 7a178b759e not sure how this went overlooked for so long, but if you use e_object for something...you HAVE to make a cleanup function for it! stupid gadman!
SVN revision: 76204
2012-09-05 16:50:05 +00:00
Mike Blumenkrantz 4c0fa2d381 big roundup commit fixing leaky submenus
SVN revision: 75973
2012-09-03 08:30:39 +00:00
Mike Blumenkrantz 1fb57fe691 more gadman leaks--
SVN revision: 75793
2012-08-28 13:44:17 +00:00
Mike Blumenkrantz ee9304d2a2 more gadman shutdown leaks
SVN revision: 75784
2012-08-28 12:23:03 +00:00
Mike Blumenkrantz b16786d2b8 fix desktop gadget move/resize
SVN revision: 75653
2012-08-24 12:32:20 +00:00
Mike Blumenkrantz 5b4385d654 reset gadman another way to prevent crashes
SVN revision: 75645
2012-08-24 08:53:48 +00:00
Mike Blumenkrantz 8bc7ac007e reset gadman when zone 0 is added/removed to ensure proper gadget placement
ticket #1372


SVN revision: 75643
2012-08-24 07:33:37 +00:00
Mike Blumenkrantz 94e2fc5257 clean up gadget right click menus to stop leaking
SVN revision: 75285
2012-08-15 07:22:04 +00:00
Mike Blumenkrantz 4033f4c720 whoops, forgot to use zone geom for saving gadget sizes as well as placing them
SVN revision: 74593
2012-07-30 15:14:57 +00:00
Mike Blumenkrantz 7cf1434f32 oh gadman, you so crazy. don't set gadget size based on MANAGER dimensions, that's not even close to accurate!
SVN revision: 74579
2012-07-30 10:38:31 +00:00
Mike Blumenkrantz 71ce826982 e_gadcon_client_find now takes an optional gadcon param to speed it up where possible
SVN revision: 74512
2012-07-27 16:10:06 +00:00
Mike Blumenkrantz 66d61b1778 trivial gadman cleanup
SVN revision: 74510
2012-07-27 16:02:44 +00:00
Mike Blumenkrantz 7a0babcfbe remove some unnecessary checks and a legacy bug in gadman
SVN revision: 74509
2012-07-27 15:49:51 +00:00
Mike Blumenkrantz 250ea631d2 fix gadman placement of multiple clients of same class, also fix shadow warning
SVN revision: 74508
2012-07-27 15:41:58 +00:00
Mike Blumenkrantz 5db9d9fb00 change gadcon waiting classes list to a hash in order to remove some strcmps
SVN revision: 74487
2012-07-27 12:26:41 +00:00
Mike Blumenkrantz 36872afc13 ensure that gadman checks for the client class in populated classes before requesting a populate; this should never ever be necessary
SVN revision: 74486
2012-07-27 12:08:52 +00:00
Mike Blumenkrantz 3d2b75b3de pass gadcon cc through to gadman_gadget_place() when available instead of searching through the list for it
SVN revision: 74484
2012-07-27 10:52:53 +00:00
Mike Blumenkrantz f473e943ee ensure gadman gadget is not already in waiting list before adding
SVN revision: 74479
2012-07-27 09:29:59 +00:00
Mike Blumenkrantz eddf43a8cd make gadman try to place gadgets if the client class is loaded after the gadget
this is NOT a good time to update.


SVN revision: 74473
2012-07-27 08:19:01 +00:00
Mike Blumenkrantz 92a8b3d652 move some gadman functions to be static
SVN revision: 74471
2012-07-27 07:22:57 +00:00
Mike Blumenkrantz 18f8444c86 when a gadman gadget is detected without any stored geometry settings, move and resize it to something reasonable so it can be changed by the user, and also pop a dialog to notify
SVN revision: 74470
2012-07-27 07:02:47 +00:00
Mike Blumenkrantz 68b44ce619 more gadman fixes to not store the actual gcc pointer
SVN revision: 74444
2012-07-26 14:00:20 +00:00
Mike Blumenkrantz a9107599de gadman now tracks gadgets by the config instead of the gadget object, should prevent crashes if a gadget is ever repopulated
SVN revision: 74440
2012-07-26 12:48:11 +00:00
Mike Blumenkrantz 298dd0941b refresh gadman available gadgets on both disable and enable of module
SVN revision: 73205
2012-07-03 07:39:44 +00:00
Mike Blumenkrantz 25b6a1bd1d fix gadman to not crash with module load/unload, also dynamically update available gadgets list when new modules are loaded
SVN revision: 73165
2012-07-02 13:28:13 +00:00
Mike Blumenkrantz 55e263ef55 formatting
SVN revision: 73147
2012-07-02 10:13:27 +00:00
Stefan Schmidt 69b50b64f4 e/gadman: Rename variable in loop to avoid shadowing
SVN revision: 72533
2012-06-20 08:48:27 +00:00
Doyoun Kang 135484b239 From: Doyoun Kang <doyoun.kang@samsung.com>
Subject: [e] [gadman] Crashed e

I found a gadman module's bug which makes e to crash.
After new zone is added in run-time, i tried to add a gadget (like
clock, cpufreq) to the new zone, then e is crashed.

So, i attached a patch which fix this bug.



SVN revision: 72078
2012-06-13 09:37:22 +00:00
Carsten Haitzler 346a77eaf1 make gadman popup/show win also handle dnd as a target.
SVN revision: 70956
2012-05-13 05:14:02 +00:00
Cedric BAIL c2a29811d5 e: massiv warning cleanup !
SVN revision: 70756
2012-05-04 09:38:52 +00:00
Carsten Haitzler 515819cdb5 make all zone matching agree on the same convention - use zone->num,
not zone->id. zone->id is for matching u to zinerama/xrandr
screens/outputs. e re-sorts based on highest res screens first, lower
res later.



SVN revision: 67951
2012-02-15 04:35:18 +00:00
Sebastian Dransfeld 6c950e981a e/gadman: Always return allocated buffer
The result from _get_bind_text will be free'd, so we must always
allocate it.

SVN revision: 67299
2012-01-18 22:11:04 +00:00
Sebastian Dransfeld 0bd4ef0855 e/gadman: cf->style should always be stringshared
SVN revision: 67298
2012-01-18 22:10:54 +00:00
Sebastian Dransfeld 96a38b7b0d e/gadman: formatting
SVN revision: 67297
2012-01-18 22:10:43 +00:00
Davide Andreoli 7a4ab7417a Revert a 13 months old commit by englebass
Messagge was:
module unload will delete gadcons, so we need to cleanup in gadman as
well.


This cause all my gadget to be deleted when I switch from 1 monitor
to 2 monitors (while e is running). This probably occcur also when
switching resolution.

Also I don't like all the gadgets configs to be deleted when the 
gadman module is unloaded, we have a conservative approch with
gadget config, so don't see the reason to delete all my gadget
here.

DaveMDS



SVN revision: 67251
2012-01-16 21:54:53 +00:00
Carsten Haitzler cdb864ed8e remove all traces of selecting engine in e17 - wont actuallly ever be
needed beyond compositor. :)



SVN revision: 66513
2011-12-26 06:24:59 +00:00
Hannes Janetzek 7f457f1911 e17: add option to have gadcon client settings menu in toplevel again.
added e_menu_item_new_relative(E_Menu, E_Menu_Item *rel) which appends 
 new item to rel or prepends it when rel is NULL.

changed e_gadcon_util_client_menu_append to to take only the gadget menu
 and returns the new toplevel menu that should be shown by gcc
 depending on the setting this is a new menu with gadget menu as submenu
 or the gadet_menu with gadget menu items appended

updated e-modules-extra comes in a minute


SVN revision: 57826
2011-03-17 17:08:36 +00:00
Carsten Haitzler b835438c0d from:
http://trac.enlightenment.org/e/ticket/671

:)
tnx kiuma
 


SVN revision: 56044
2011-01-11 08:44:19 +00:00
Peter van de Werken 565303e0f3 Modified patch.
From: Peter van de Werken <pwerken-e@a-eskwadraat.nl>
Only add a separator if there is something to separate.



SVN revision: 55780
2010-12-30 13:44:39 +00:00
Sebastian Dransfeld b5a77ea6fc Prevent double free
SVN revision: 55771
2010-12-29 19:47:55 +00:00
Sebastian Dransfeld b44d0038a1 Add del hook
module unload will delete gadcons, so we need to cleanup in gadman as
well.

SVN revision: 55681
2010-12-21 03:05:37 +00:00
Sebastian Dransfeld bcc5351764 don't eina_list_free after EINA_LIST_FREE
SVN revision: 55680
2010-12-21 03:05:26 +00:00
Sebastian Dransfeld ed4d0cf74f Set static variable to NULL after free
SVN revision: 55679
2010-12-21 03:03:51 +00:00
Sebastian Dransfeld 8c6c2d7270 Don't fake an existing box
o_box should be an e_box

SVN revision: 54323
2010-11-08 12:46:25 +00:00
Miculcy Brian dd641e9259 New categories for modules.
To be continued soon...


SVN revision: 53514
2010-10-17 17:33:44 +00:00
Miculcy Brian 2f8f31fbf5 This commit will change the shelf menu completly:
If you have a Gadget and open the menu over it, all gadget specific options are under a separate submenu. The menu items which the Gadget sets theirself can be put on the main menu tree or on the Gadget submenu.
If you don't see a reason for this, check the ibar menu _before_ and _after_. :)

This api change broke all modules but i already fixed them all. Hope everything works... I also shortend text strings, etc, etc.
Hope you like it! :)


SVN revision: 52041
2010-09-09 14:44:21 +00:00
Christopher Michael d90e5b12b8 Add UNUSED.
Remove unused variables.
Fix formatting, remove whitespace, etc, etc, etc.



SVN revision: 51442
2010-08-19 19:18:43 +00:00
Christopher Michael 748267a25e This include Already handled by e.h.
SVN revision: 50334
2010-07-18 17:27:57 +00:00
Christopher Michael b7036e67ae Fix potential segfault when loading/unloading modules.
SVN revision: 49168
2010-05-23 23:05:51 +00:00
Christopher Michael 3aec0866d3 Fix Gadgets segfaulting when modules are unloaded.
This removes lots of unnecessary gadget object deletes and lots of
other sillyness. Ideally, this module needs a much much cleaner &
nicer rewrite.



SVN revision: 49164
2010-05-23 21:38:29 +00:00
Davide Andreoli 0f9b3d1b1e * Fix bug #390
uberpinguin: can you confirm?

SVN revision: 42471
2009-09-13 20:11:25 +00:00
Hannes Janetzek f82afe7e3b do not populate gadman twice. now that there are two sources from which custom gadcons might be populated
SVN revision: 42291
2009-09-06 12:21:27 +00:00
Hannes Janetzek a551323a28 e/src/modules:
- cast ints to pointer correctly
- remove unused variables
- #if 0 unusued code
- fix some function declarations for callbacks 


SVN revision: 42210
2009-09-03 16:32:48 +00:00
victor 324e84908c From: victor <victor.scorpion@gmail.com>
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
2009-08-31 11:23:03 +00:00