one more todo item being knocked off. but there.
also no proper icon for it yet. mostly code from the old taskbar with
lots of little things fixed.
SVN revision: 64518
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
we try use x on shutdown when x io fatal conditions have happened.
x_fatal flag around for that now too. tested. seems to now be happy
and not cause aborts on shutdown when x has gone.
SVN revision: 57075
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.
Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.
SVN revision: 54795
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
For corner shelves, detect movement in corner windows
Use ev->root.{x,y} as event coordinates, we do not care where the mouse
moves within the edge windows.
Convenience function for window -> edge detection.
SVN revision: 45498
put the edge windows on the correct layers
allow edge click bindings
use actions for auto-hide shelves
toggling auto-hide will cause edge event windows to show/hide if necessary
SVN revision: 42864
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
* e_border_center() will center window in a better way, accounting
the shelves/panels instead of just centering on the screen. This is
better and most noticeable if screens are small and a big shelf on
just one edge.
* e_border_move_without_border(), e_border_resize_without_border()
and e_border_move_resize_without_border() will assume the given
values do not acount border/decorations (client_inset) and will do
automatically. As stated in documentation, this is specially useful
when it is a new client and thus have no decorations when it is
positioned, when decorations are added window would be placed at
wrong position. One can try this by adding efwin window overflowing
the bottom-right corner, closing it and when reopen fileman would
try to make it inside the screen, this would not work well with
part of the window still being outside.
* e_win_move(), e_win_resize() and e_win_move_resize() will now use
new e_border functions.
SVN revision: 40307
this solves an annoyance with systray: the bounce-on-mouse-over (mouse
over systray would make shelf hide, but after the animation starts the
shelf get mouse-in again and abort the hide, then starts again). But
it will introduce another annoyance: if systray open a menu and you
navigate to it, shelf will not get mouse-out event and thus will not
autohide.
I'm leaving this behavior as it is less annoying. I discussed a bit
with rasterman and solving this is not easy, we'd need to poll for
mouse position and query window tree, this would waste cpu and keep
timeout rate high, draining battery.
SVN revision: 40128
when xrandr/xinerama changes zone (screen/output) geometry, the shelf
needs to update its hide_origin and also do hide animation if it was
hidden already.
SVN revision: 40126