Commit Graph

181 Commits

Author SHA1 Message Date
Viktor Kojouharov 648d75caab Larger backgrounds can now be set to scroll whenever a E changes between desks. Kind of like a transition, but uses only one (the first desk's), larger wallpaper instead of several wallpapers for all desks, and it overrides the transition settings if activated.
The option can currently be activated from Virtual Desktops Settings -> Advanced. A better home and preview would be better for these settings.

In more detail, this option can make a wallpaper, larger than the geometry of the zone, scroll appropriately with each desk change. Consider a nice panorama picture, which is as wide as the total desks' width. Then, at most, E will scroll the background by 1 / (number of desks) for each desk change. The direction of the scrolling is dependent on the desk change itself. Also, the user can specify a coefficient of maximum scrolling for each axis. If the coefficient is 0, the wallpaper will not move.

More advanced animations can be constructed with edje. The data item "directional_freedom" "(1|0) (1|0)" can toggle the actual wallpaper scrolling done by E for each axis. A message with the current x/y position, panning w|h, and zone w|h is sent to the background edje with each desk change animation tick. An example embryo script that handles the message, and changes a hypothetical "a1" part in the "e/desktop/background" group is shown below:

         public message(Msg_Type:type, id, ...) {
            if (type == MSG_INT_SET) {
               new x = getarg(2);
               new y = getarg(3);
  //	     new max_x = getarg(4);
  //	     new max_y = getarg(5);
  //	     new w = getarg(6);
  //	     new h = getarg(7);
               custom_state(PART:"a1", "default", 0.0);
               set_state_val(PART:"a1", STATE_FILL_POS, 0.0, 0.0, -x / 4, -y / 4);
               set_state(PART:"a1", "custom", 0.0);
            }
         }




SVN revision: 40543
2009-05-07 18:39:55 +00:00
Viktor Kojouharov 9bbc8158bd edge and corner binding infrastructure. If you have an old config, enable the conf_edgebindings module and hit 'Reset to defaults' to get edge desktop switching.
The edge/corner picker needs some love from someone who is not artistically challenged.  And a proper module icon as well.


SVN revision: 39220
2009-02-25 22:21:46 +00:00
Carsten Haitzler e9b740c27d use the loop_time - better synced anim timepoints and less overhead on
gettimeofday :)



SVN revision: 37393
2008-11-02 02:36:10 +00:00
Cedric BAIL 1087de2397 Remove Evas list and replace them with Eina list.
No change for ->next and ->data access right now, as the patch is already
big enough.



SVN revision: 36962
2008-10-22 11:49:33 +00:00
Cedric BAIL 3d6749983b Switch to eina_stringshare.
This could also change the usage of string share in E17.



SVN revision: 36679
2008-10-15 15:12:56 +00:00
Carsten Haitzler 0b0dfa93a7 and - that vlc fullscreen bug. found. fixed. but vlc's x11 code is really
nasty. does some utterly evil things. should i send off some suggestions to
them? (like 1. dont reparent the window in xcommon.c line 217, dont play with
wm focus policies in xcommon.c line 2269 - just dont send the
_NET_ACTIVE_WINDOW, you shouldnt' need to (wm should make the focus be
correct itself and wm's that don't should get a freindly reminder from users
when they dont remain consistent with focus policy), and then... xcommon.c
2317 remove the do {} while loop - i can think of many reasons the wm may
choose not to map your client window (yet - or ever), so this will never work
"reliably" always. just put in an XSync(p_vout->p_sys->p_display, False);
instead to force the x pipe to flush and do everything you asked before
returning control to the code and thus avoiding any badaccess stuff from x).



SVN revision: 36093
2008-09-19 09:44:07 +00:00
Carsten Haitzler bf9ed932f9 some debugging printfs - also avoid feeding focus back to the last focused
window if its one of a set of types.



SVN revision: 35726
2008-08-29 03:30:45 +00:00
Carsten Haitzler 99fc29f7aa and respect focus lock out flag more
SVN revision: 35431
2008-08-11 01:22:33 +00:00
Christopher Michael 3594a34f0d Formatting/Whitespace fixes.
SVN revision: 35015
2008-07-07 01:03:33 +00:00
Miculcy Brian 34eb4aeda4 Patch by Michael Stapelberg <michael+e17@stapelberg.de> (needed by the new tiling module).
SVN revision: 34748
2008-06-05 10:52:13 +00:00
Sebastian Dransfeld e9e513b86b Fix fullscreen on desktop change (patch by Hannes Janetzek).
SVN revision: 33066
2007-12-09 15:40:14 +00:00
Sebastian Dransfeld d65683a1cf formatting
SVN revision: 32725
2007-11-15 20:16:25 +00:00
Carsten Haitzler ec84855e6a use the shadowed window tree from ecore
SVN revision: 31977
2007-10-05 12:11:55 +00:00
Miculcy Brian 333be970d4 Bug fixed: Having a shelf only visible on specific desktops didn't work corrently with dualscreen setup.
SVN revision: 31814
2007-09-26 12:34:38 +00:00
Miculcy Brian aed16d2e23 This allows to have shelfs only on specified desktops. Someone might want to add a nice hide/show animation...
SVN revision: 31619
2007-09-04 23:59:01 +00:00
Christopher Michael 48e356e499 Just some formatting fixes...E style.
SVN revision: 29726
2007-04-25 11:28:35 +00:00
Sebastian Dransfeld f6dc1dc1cc Remove stale code.
Fix comments.


SVN revision: 29159
2007-03-25 22:45:00 +00:00
Carsten Haitzler cd5937a70e xinerama - slide in from off the container, not zone.
SVN revision: 25443
2006-09-04 13:38:35 +00:00
Carsten Haitzler 818e75fb00 1. fix perf dialog - to actually change fps
2. save icon theme config
3. add config for desk flip animation modes etc. etc.
4. desk flip animation!!! 2 main modes. might restructure this a bit tho
(separate out on/off from the mode as there may be many more modes later)


SVN revision: 25299
2006-09-01 15:37:23 +00:00
Carsten Haitzler 109157dc27 was hacking a bit with borders and desktops - just ignore that codee. it's
unused - at the moment.


SVN revision: 25210
2006-08-30 13:37:35 +00:00
Viktor Kojouharov 48b230924a make deskshow as a function. add an event for it
SVN revision: 24130
2006-07-22 22:25:04 +00:00
Carsten Haitzler 97eec41ad9 patches that i said were in - commit. (see my reply emails)
also finish off a TODO item or 2


SVN revision: 23267
2006-06-07 23:30:15 +00:00
stffrdhrn 218717c8dc Clean up compile warnings:
* char * -> const char * for stringshare strings
 * char * -> const char * where needed in functions
 * remove unused vars in some places


SVN revision: 20912
2006-03-02 12:03:48 +00:00
sebastid 6a638a7806 Fix EAPI warnings.
SVN revision: 19597
2006-01-07 10:39:46 +00:00
Carsten Haitzler d6f75b50cf fix stringshare NULL
SVN revision: 19558
2006-01-06 15:24:29 +00:00
Carsten Haitzler a3d5f5c28d a lot more use of stringshare.
SVN revision: 18823
2005-12-04 12:03:59 +00:00
Carsten Haitzler 9bb58eca2c aleksej patch for segv on moving window to a new desk if its negative desk
count :)


SVN revision: 18817
2005-12-04 03:25:34 +00:00
Carsten Haitzler d8c635f964 more stringshare work
SVN revision: 18816
2005-12-03 15:39:25 +00:00
sebastid 61e273d0df Fullscreen policy. Not tested since my stupid laptop only has one res.
Please test.


SVN revision: 18303
2005-11-04 23:30:18 +00:00
Carsten Haitzler 0adc7224c3 some widget work... and maybe a fix for disappearing windows?
SVN revision: 17596
2005-10-16 05:59:18 +00:00
rephorm 8356b338e9 Add desktop name to the pager (turn it on in the pager's config menu).
The theme could probably use a bit of touch up, but it works for now :)

Add an event when desktop names change.
Note: currently 'adding' a name with enlightenment_remote sends out change events for ALL of the desktops (even the ones that didn't change). This should be fixed...


SVN revision: 16604
2005-09-05 23:14:58 +00:00
sebastid 880a2f20e8 IF_FREE -> E_FREE
SVN revision: 16573
2005-09-05 15:24:07 +00:00
sebastid d30da0bf8e * Add options
-	e_config->transient.move
-	e_config->transient.resize
-	e_config->transient.raise
-	e_config->transient.lower
-	e_config->transient.layer
-	e_config->transient.desktop
-	e_config->transient.iconify
* Implement
-	e_config->transient.raise
-	e_config->transient.lower
-	e_config->transient.layer
-	e_config->transient.desktop
-	e_config->transient.iconify
* Show hide border in e_border_desk_set
* Add e_border_layer_set()


SVN revision: 16460
2005-09-02 07:38:40 +00:00
sebastid 17d788fd7f Remove unused variable.
SVN revision: 16154
2005-08-14 17:09:00 +00:00
Carsten Haitzler f1f9673f11 desktop name ipc patch.
slight formatting stuff.


SVN revision: 16043
2005-08-06 04:00:03 +00:00
sebastid 0e44ef8e96 Restore fullscreen when returning to a desk with a border that was
fullscreen.


SVN revision: 15852
2005-07-21 11:15:43 +00:00
sebastid 6b6f98a2a2 Only allow borders in normal layers to change stacking from the menu.
Move fullscreen from desk to zone. It is the zone that is fullscreen, and
then each desk must set fullscreen state on the zone if requested.


SVN revision: 15838
2005-07-20 13:07:58 +00:00
sebastid 92f768a7f8 mazimize -> maximize
Remove some unused variables.


SVN revision: 15815
2005-07-19 08:04:20 +00:00
Carsten Haitzler b0b86dde57 make click to focus behave a bit better - previously focused windwo gets the
focus now always - even in pointer focus. if flippign desktosp last window
focused on that desktop is focused bakc when u flip - they are options too :)


SVN revision: 15746
2005-07-12 11:07:57 +00:00
sebastid 768f894cd2 Hide desktop before windows, so that fullscreen can check if the desk
is visible or not.
Don't set desk_?_current in e_zone.c, it should only be done in e_desk_show


SVN revision: 15611
2005-07-01 11:05:48 +00:00
sebastid 086cb877a4 More checks if an focus in/out events belong to a border.
Store the active fullscreen window in it's desk.
Don't allow mouse focus out from a fullscreen window.


SVN revision: 15609
2005-07-01 10:07:25 +00:00
sebastid 13afc49f5a Make the background black when doing fullscreen.
SVN revision: 15607
2005-07-01 09:24:31 +00:00
Carsten Haitzler a654a9ffc2 and actually transition using desk transitions nto change when desk changes
SVN revision: 15576
2005-06-30 10:54:24 +00:00
Carsten Haitzler e314c2cc04 bg now allows transitions when changing the bg. also a first step to allow
different bg's per desk - not implemented yet tho, but some infrastructure
for it


SVN revision: 15568
2005-06-29 14:28:47 +00:00
sebastid 004f2e719b Write else if like it should be written.
SVN revision: 15517
2005-06-24 08:20:26 +00:00
Carsten Haitzler e7c5fa6a01 2 more bugs gone
SVN revision: 15515
2005-06-24 04:10:18 +00:00
sebastid fe85e13185 Make the background black when doing fullscreen.
SVN revision: 15433
2005-06-19 19:00:04 +00:00
vandango d546aacd33 little intl change
SVN revision: 14914
2005-05-22 23:50:29 +00:00
sebastid e7b246a440 Don't need to store if the DESKTOP hint was set on init. If the hint
doesn't exist or the desktop doesn't exists, update the hint with our
desktop.


SVN revision: 14816
2005-05-17 12:33:12 +00:00
sebastid 61baf25921 New border looping interface.
SVN revision: 14750
2005-05-13 10:09:55 +00:00
Carsten Haitzler fc45f10e1f work mplayer.. work!.
don't ask!


SVN revision: 14746
2005-05-13 07:24:47 +00:00
Carsten Haitzler 695c49a765 fix unmapped client windows that are still managed... (eg xmms playlist)
SVN revision: 14716
2005-05-12 03:32:48 +00:00
sebastid 4684062704 Better to listen to the event in e_zone, since the rest of the code is
in e_zone.


SVN revision: 14669
2005-05-08 16:43:54 +00:00
handyande a021f2a66b Well, that fixes my flipping troubles - an OK change?
SVN revision: 14613
2005-05-05 15:36:46 +00:00
sebastid 978b5bdf9a No need to cast.
SVN revision: 14294
2005-04-22 07:54:08 +00:00
sebastid 861beacda8 Cleanup.
SVN revision: 14248
2005-04-19 10:45:39 +00:00
Carsten Haitzler 6ca778ea55 i've gone over vd's - read the diff :)
SVN revision: 14123
2005-04-09 00:13:09 +00:00
sebastid d97d47b3ed Cleanup
SVN revision: 13854
2005-03-22 18:51:35 +00:00
sebastid a91a6bc607 Client list update.
SVN revision: 13741
2005-03-15 10:26:05 +00:00
sebastid c3470b0a1b Use macro.
SVN revision: 13423
2005-02-18 10:29:18 +00:00
sebastid 7035502079 Cleaner with for loop.
Destroy old desks, not only their client list.


SVN revision: 13376
2005-02-15 16:54:47 +00:00
sebastid c86091fcaf - Add atom E_ATOM_SHADE_DIRECTION, remove E_ATOM_ICONIC
- Add function for reordering border lists.
- Update hints, and use them.
- Add a flag to e_border_hide to tell if the window still
  is managed or not.
- Don't set changed flag if changing visibility. Visibility is handled
  outside _e_border_eval()
- Cleanup focus_out.
- Add desk show event.


SVN revision: 13372
2005-02-15 12:11:31 +00:00
Carsten Haitzler 4f54c588e1 seb's patch...
SVN revision: 13222
2005-02-07 13:51:09 +00:00
handyande ed8b9251f4 May not be totally correct, but this time it, ahem, works
SVN revision: 13125
2005-01-29 12:51:28 +00:00
rbdpngn b6c300dd69 Add type checking for the various E objects.
SVN revision: 13053
2005-01-22 06:58:34 +00:00
handyande eb0f1bd307 Remeber border hints when restarting (or recovering) E. This is currently set on all windows all the time in case of crash - it could be moved to being set on E shutdown (before a restart)
SVN revision: 13028
2005-01-20 14:01:31 +00:00
handyande 1c5b65ca4d a (not so) paranoid check
SVN revision: 13025
2005-01-20 10:42:09 +00:00
Carsten Haitzler aa53155368 actually restart/exit
SVN revision: 12953
2005-01-13 14:24:24 +00:00
handyande 059bfb1862 Move apps on desks being removed to theirnearest valid desk
fix a few warnings


SVN revision: 12837
2005-01-08 21:21:56 +00:00
handyande 92315b7568 Hook in menu configuring of desktops and dynamic resizing
SVN revision: 12832
2005-01-08 17:32:08 +00:00
handyande a38a5e1de9 OK, now we have a 2D set of desktops to each zone :) - callbacks not in yet so stuck with 2x2 for now - but wanted to get this in
SVN revision: 12828
2005-01-08 14:41:21 +00:00
Dan Sinclair 59813a3895 - add the sticky window code
SVN revision: 12820
2005-01-08 07:10:13 +00:00
xcomputerman 38899921b8 More bugfixes/updates:
- Add subsystem init/shutdown functions for e_desk and e_zone
- Fix bug in desk remove function
- Prevent duplicate desktop names being automatically generated
- When uniconifying, set window desktop to current
- Don't display iconified windows when desktop switching
- Selecting a window in the window list switches to that window's desktop


SVN revision: 12779
2005-01-05 10:37:53 +00:00
xcomputerman 212d966bde - Fix virtual desktop switching bug - don't delete hidden borders
- Fix ICCCM state bug for iconified windows
- Show borders in correct stacking order on desktop switch


SVN revision: 12777
2005-01-05 09:31:56 +00:00
xcomputerman 49ac422b1d Missing object check for new desk.
SVN revision: 12774
2005-01-05 08:39:25 +00:00
xcomputerman 1a48844b7f Bugfixes - restore avoid_damage call on new borders, move background blank
object to container level


SVN revision: 12719
2005-01-04 01:32:23 +00:00
xcomputerman b4a29f186d Warnings defenestrated. Object check really should be enabled by default now.
SVN revision: 12712
2005-01-03 22:04:04 +00:00
handyande 72dcee3d4a fix a couple of warnings etc - now no segs, but desks lose clients
SVN revision: 12706
2005-01-03 21:10:08 +00:00
xcomputerman 4558007166 Bad monkey!
SVN revision: 12703
2005-01-03 20:23:47 +00:00
xcomputerman 112ca3b2d2 Virtual Desktops! Yay.
Sorry, they don't quite work right yet. I'll fix the bug tomorrow. :)


SVN revision: 12698
2005-01-03 09:34:24 +00:00
Carsten Haitzler 5e2388c886 _ _ _ _ _____ ___
| | | | ___| | | |  ___| __ ___  ___ _______  ___   / _ \__   _____ _ __
| |_| |/ _ \ | | | |_ | '__/ _ \/ _ \_  / _ \/ __| | | | \ \ / / _ \ '__|
|  _  |  __/ | | |  _|| | |  __/  __// /  __/\__ \ | |_| |\ V /  __/ |
|_| |_|\___|_|_| |_|  |_|  \___|\___/___\___||___/  \___/  \_/ \___|_|


I put E17's wm code into cvs. Hell is freezing over. Duke Nukem Forever will
be out next week. Snowballls take up residence in Hell. The Fat Lady sings.
The End is nigh...

:)


SVN revision: 12247
2004-11-25 03:37:45 +00:00