Commit Graph

6375 Commits

Author SHA1 Message Date
Mike Blumenkrantz 235c369adf feature: make desklock hookable, break out current desklock into module, move pam stuff to separate file
after this commit, the new-but-invisible module "lokker" (or other custom loaded module) is in charge of creating all graphics for the lock screen, and it will be added to the user's config. failure to load a lockscreen module will just result in a black screen

desklock subsystem now handles all the pre/post lock stuff while the modules themselves are responsible for creating visuals and calling auth functions to determine whether to unlock the screen
2014-01-14 20:28:59 -05:00
discomfitor cb956069d5 feature: revive personal desklock passwords
these were previously disabled because hashing a password was too much work (I guess?), but now they're back. config dialog has changed accordingly
2014-01-14 20:28:59 -05:00
discomfitor 3948c1c910 fix fileman stealing focus
desktop fileman should only receive focus if there is no client currently visible on the active desktop
2014-01-14 20:28:59 -05:00
Mike Blumenkrantz c667f7612f feature: E16-style live pager returns! window-only drags currently a little broken
p16 is a pager replacement module which uses deskmirror to show you live views of each desktop. it has a separate theme and reuses a lot of pager code.

not sure if original pager should be kept, but it's still around for now.

pager and pager16 both provide the same gadget and cannot be loaded simultaneously
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 6bc7662459 add e_exec instances for wl clients if they set surface class: works for terminology
creating phony e_exec instances based on name/class allows wayland clients to show up normally in ibar
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz dcdf4bb9f9 don't delete pointers when changing settings, just update size
this fixes a case where cursors would be permanently broken (along with the world) when changing cursor settings
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 5737103d67 wl pointers done-ish
pointers in E now come in two flavors, one for each protocol that we currently support. each is created from the owner compositor backend:

X pointers still work as usual

Wayland pointers are actually surfaces that we dump image data into periodically to render them as evas images

some small amounts of hack is necessary to make this work, namely blocking X pointers when a Wayland one is in use if we're running a multi-protocol compositor
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz fa32b5e708 add wl_fb output module
adds a probably-working wayland framebuffer output module

Additional authors:
Chris Michael <cp.michael@samsung.com>

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz c268302e67 add wl_x11 output module
this is the first of the wayland output modules, and it is extremely simple as a result of the compositor rewrite. for any other wayland output modules, it should be enough to simply create an ecore_evas canvas and do startup in this way.
2014-01-14 20:28:57 -05:00
Mike Blumenkrantz 12d7405a0f huge wl fixup (wayland clients actually working again)
* try to clear up build system for separating out ecore-x

* add #ifdefs for lots of ecore-x stuff

* break out some internal e wl functions for reuse in api

* store wl surface buffers as an inlist

* add protocol-specific client compositor data

** move lots of X client attributes here

* add pixmap type checks to a number of X-specific things, such as grabinput, to block them for non-X clients

* rearrange startup order to work with wayland

* move X screensaver code to e_comp_x

* flag modules still requiring X with -DNEED_X
2014-01-14 20:28:57 -05:00
Mike Blumenkrantz a9627e84f5 remove a bunch of unnecessary ecore-x calls from modules 2014-01-14 20:28:57 -05:00
Mike Blumenkrantz 1be76d599c disable illume building, blacklist illume modules
illume 100% requires X, thus illume is dead. replacements are semi-underway.
2014-01-14 20:28:57 -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 8be0ce31d7 ignore evry clipboard win 2014-01-14 20:28:57 -05:00
Mike Blumenkrantz f88bfbdda1 set name/class on evry clipboard 2014-01-14 20:28:56 -05:00
Mike Blumenkrantz cd3cfd139a use input window for evry clipboard 2014-01-14 20:28:56 -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
Mike Blumenkrantz e3c85ec4da feature: use non-recursive makefiles for entire build system
this is the correct way to write a build system. one toplevel Makefile.am with the rest of the directories having include Makefile.mk files.

additional authors:

Iván Briano <ivan.briano@intel.com>
2014-01-14 20:22:01 -05:00
Mike Blumenkrantz 4c9123c9b4 fix weird pulse crash when sink name is NULL (wtf?) 2014-01-14 20:22:01 -05:00
Mike Blumenkrantz a0b07b9df7 fix ibar mouse in/out animations
previous operation resulted in repeated show/hide signals which looked bad.

going to have to investigate timer settings on this, current behavior, while a step in the right direction, seems unusable for me with the mismatch of no delay to show, LOOOOOOONG delay to hide
2014-01-05 23:51:47 -05:00
Mike Blumenkrantz 11c6db8e74 reword ibar mouseover config option for easier reading/translation 2014-01-05 23:51:32 -05:00
Carsten Haitzler 86f4dc82d5 ibar - add option to show icon menu on mousover 2014-01-06 13:19:56 +09:00
Chris Michael eb4c914c3e Initialize btn variable to zero
Fixes compiler warning 'btn' may be used uninitialized

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-01-04 11:24:55 +00:00
Mike Blumenkrantz 7824d31942 dear $EDITOR, thanks for removing that newline in the includes.
I didn't need it, and it didn't break anything.

no wait, fuck you.

sincerely,
zmike
2014-01-01 14:32:56 -05:00
Mike Blumenkrantz 8462090f3d bugfix: no more crashes when being a jerk with Navigate menu scrolling
this really only happens if you're TRYING to break things, but don't assume parent menu item is active item since it might not be
2014-01-01 14:25:27 -05:00
Carsten Haitzler ab268a42b0 evrything - fixes strict aliasing wanring and was a stupid cast anyway
this fixes strict aliasing wanrings (-Wstrict-aliasing) whihc are a
result of imported md5 code being just really stupid with casting an
array to a ptr when there is no need.
2013-12-29 15:08:39 +09:00
Mike Blumenkrantz e2f7641432 bugfix: use the right directory for user themes 2013-12-26 17:59:31 -05:00
Mike Blumenkrantz 2ea6870f10 bugfix: check shot filename for actual file extension, not just extension string
T684
2013-12-24 20:52:59 -05:00
Mike Blumenkrantz 2a01f4b3cb bugfix: delete mixer's pulse exe handler after it's started so desklock doesn't break 2013-12-23 14:02:06 -05:00
Mike Blumenkrantz be6351f15e fix mixer regression which broke non-pulseaudio support 2013-12-21 09:26:57 -05:00
José Roberto de Souza 3b00919101 systray: Remove xembed callbacks when xembed support is disable 2013-12-18 16:25:23 -05:00
José Roberto de Souza dc74938241 Refactor systray to have only one box
This is simpler and avoid some edje erros.

This patch depends on a patch on elementary to update systray edj.
2013-12-18 16:25:23 -05:00
Mike Blumenkrantz 292bcf6e81 only allow backlight to go to 0.1, not 0.0
on some backlight devices, 0.0 is completely off, which can render the system unusable.

T651
2013-12-17 11:22:56 -05:00
Mike Blumenkrantz 02e95afdf3 use regular ecore-exe for pulse start to not track launch 2013-12-16 08:16:36 -05:00
Mike Blumenkrantz c7a23ab5bd don't crash when pulse exec deletes itself during startup timer 2013-12-15 17:03:38 -05:00
Mike Blumenkrantz 64b8da15a4 don't crash when ibar mouse rolling
T666 (wtf)
2013-12-15 13:36:55 -05:00
Mike Blumenkrantz 39cf0a5a1b try connecting to pulse on a timer after it gets started in case it's a slow startup 2013-12-15 10:13:37 -05:00
Mike Blumenkrantz bccda8e7b3 try running start-pulseaudio-x11 from mixer 2013-12-15 08:56:52 -05:00
Boris Faure 3155115bc5 fix tiling configuration screen 2013-12-14 17:50:47 +01:00
Carsten Haitzler e2c20040e8 e17 wizard - update missing flags and alignment in ui, as well as refresh
this adds moldova (moldavian?) flag for layouts of keyboards and
refreshes some of the generic images for unknown, latin america, brail
and arabic "flag" images, and forces flag icons to be 2:1 aspect
ration with icon centered within that area to address T647
2013-12-11 16:53:49 +09:00
Mike Blumenkrantz bbaa7a76b7 set systray icon layer based on gadcon container layer 2013-12-10 11:18:49 -05:00
Carsten Haitzler 9da3c339ba mixer - address duplicate bindings for the same action with timeout
use time logging to not allow actions within a small window of time
from eachother. this fixes T620 - or should.
2013-12-10 18:48:20 +09:00
Mike Blumenkrantz c0a1d4104f hide teamwork popups on desk flip 2013-12-09 17:05:42 -05:00
Mike Blumenkrantz 27d607d863 remove physics module
realistically I shouldn't have merged this into the release last year.

failing that, I probably should have removed it after the release.

even if I didn't remove it, I should have at least updated/tested it.

I did none of these things, and neither did anyone else, and thus we have an unmaintained module in core.

NOT ON MY WATCH
2013-12-09 08:22:19 -05:00
Mike Blumenkrantz 93ddaf2846 remove unnecessary file 2013-12-09 08:22:19 -05:00
Mike Blumenkrantz 400f966b70 improve efm popup display with multiple monitors
previously we'd clamp to the current screen, but that's not really necessary. also e_popup sucks, so trying to create zone-relative coords is not going to work -> just use first zone always
2013-12-09 07:26:33 -05:00
Carsten Haitzler 835a3dfac6 comp - remove sync support in comp - it should be off by default anyway.
this was never a great idea, and it has too many buglets in corner
cases (eg window resizing) so remove it. simpler is better.
2013-12-09 20:43:35 +09:00
Jérémy Zurcher ac094ed72a mixer: add option disable_pulseaudio
- checkbox in module config
  - default to false
  - if set, do not start pulseaudio even if available
2013-12-06 09:52:15 +01:00
Jérémy Zurcher be68dc962e mixer: load module config in e_modapi_init(), same as others 2013-12-06 09:50:39 +01:00
Mike Blumenkrantz b8af219a77 bugfix: don't add NoDisplay .desktop files to evry apps view
T598
2013-12-04 12:02:05 -05:00
Mike Blumenkrantz 526578941f only force custom icon view for efm desktops when creating a fileman path for the first time
T98
2013-12-02 16:02:42 -05:00
Mike Blumenkrantz ec9ea6c97c fix evry crash when switching views
T317
2013-12-02 15:14:56 -05:00
Mike Blumenkrantz fc9e8865cf only try to start pulseaudio once 2013-11-30 16:37:27 -05:00
Mike Blumenkrantz dc63fb0a0c remove some eldbus stragglers from pulse mixer 2013-11-30 11:16:20 -05:00
Mike Blumenkrantz 8c1f521738 fix pulse mixer startup
dbus starting this is the wrong way to go I guess, e_exec is much simpler

fix T410 just in time for release!
2013-11-30 11:11:30 -05:00
Carsten Haitzler 8803e7fed2 double free coverty complaint - it doesn't know the action re-execs
this will shut coverty up (hopefully). it doesn't know that a re-exec
of the process will mean the code never gets out of the if ()...
unless the restart action is never found... and that never happens.
2013-11-30 11:51:50 +09:00
Olaf Conradi 39a986aace When changing the gravity setting, one cannot reset it to 0, as the setting is
not properly shown when reopening the dialog. It's always shown as 0 and
therefore not saveable.
2013-11-29 18:18:14 -05:00
Mike Blumenkrantz 5e8171d686 fix winlist first selection check
I added this a long time ago but forgot to do the right comparison
2013-11-29 12:18:55 -05:00
Mike Blumenkrantz cafc28a197 improve theme apply to actually apply startup splash setting... 2013-11-29 09:47:31 -05:00
Mike Blumenkrantz ed60e2482a fix stringshare magic failure in theme dialog, unbreaks apply button 2013-11-29 09:45:31 -05:00
Mike Blumenkrantz d2acd5edcc set initial value of show_splash in theme config dialog 2013-11-29 09:45:08 -05:00
Mike Blumenkrantz e7edfacfce recover option to set startup splash and stick it into theme config dialog
yes, I know this is ugly. fix T588
2013-11-29 09:36:44 -05:00
discomfitor 875f4bdd91 teamwork now flags http 301 as a dummy since we have no way to follow moved urls with ecore-con 2013-11-28 12:31:07 -05:00
Mike Blumenkrantz cd7a0e6b64 simplify code for moving windows to other desks: add effect unclipping to e_border_desk_set 2013-11-28 09:43:20 -05:00
Mike Blumenkrantz 1ca73f8826 clicking Settings->All opens the settings panel
T382
2013-11-26 12:56:53 -05:00
Mike Blumenkrantz 80b3dc4830 alter fileman Open Terminal Here test/execution to activate when a regular file is passed
T34
2013-11-26 12:32:00 -05:00
Mike Blumenkrantz 0d10bd1ab0 block window shot menu item when window is not visible
T478
2013-11-26 11:55:41 -05:00
Mike Blumenkrantz 5d4e2aa074 refresh efm after changing fileman settings
T549
2013-11-25 20:48:36 -05:00
Carsten Haitzler 22d5f604f3 wizard - protect min size calc against missing group complaints
if someone were to ... replace the default theme... and would be missing
groups... in theory the min size calc may fail thus leaving min w/h
unset, so just set them anyway.
2013-11-26 08:32:49 +09:00
Mike Blumenkrantz 444c115080 don't need to change gadman frame and base layers, only frame (outer) layer 2013-11-25 17:18:29 -05:00
Mike Blumenkrantz f1f7a1aa20 fix gadman loading with no previous config and modules already loaded 2013-11-25 16:25:21 -05:00
Mike Blumenkrantz abff6f1427 conf2 and related subsystems were a fun and useful experiment, but this is not their time. removed.
see econf.git
2013-11-25 16:04:01 -05:00
Carsten Haitzler a6d03bb051 space-- 2013-11-24 13:51:49 +09:00
Carsten Haitzler a96f443c10 gadman - fix possible segv with conf being null 2013-11-24 12:35:47 +09:00
Mike Blumenkrantz e3b65f1cbb show wallpaper preview in config dialog
T417
2013-11-21 17:46:56 -05:00
Sebastian Dransfeld df4b3baf30 fm: Use string value directly 2013-11-21 13:57:58 +01:00
Stefan Schmidt ab82c45a5d wl_screenshot: Fix eina_file_mkstemp usage.
In my previous commit I did not took into account that ein_file_mkstemp
does not alter the given filename. This is different from mkstemp and I
missed that.

We now ask for the new filename and use it instead.
2013-11-21 09:25:56 +01:00
Mike Blumenkrantz bedf56c457 add back/forward mouse button support for efm when a toolbar is present
button numbers untested because I don't have a mouse, so if they're wrong someone should post the results of clicking those buttons from xev

T67
2013-11-20 15:32:31 -05:00
Mike Blumenkrantz 3cd71f149b disable resizing of buttons in window remember dialog
T381
2013-11-20 15:32:30 -05:00
Stefan Schmidt 4ec3258ded docs: Fix bugtracker URL to point to phab and not trac. 2013-11-19 14:30:54 +01:00
Sebastian Dransfeld b926ac2f51 gadman: Check for valid objects
Fixes T522
2013-11-17 23:45:56 +01:00
Stefan Schmidt 0afd8e8910 Avoid umask problem with mkstemp by using eina_file_mkstemp
Instead of handling umask in every mkstemp case we can simply use
eina_file_mkstemp for this.

CID: 1039806
2013-11-15 16:34:55 +01:00
Stefan Schmidt 56fe7e4e5b conf_randr: Compare mode against correct smart data.
This copy and paste bug compared the sd mode against the parent sd mode.
Classical c&p bug when having two blocks of code so similar.

CID: 1039954
2013-11-15 15:55:45 +01:00
Carsten Haitzler fdc9b52299 randr dialog - fix badly broken screen resizing logic. now it works reliably. 2013-11-14 15:10:36 +09:00
Davide Andreoli 771c352281 music-control: do not request props if the service is not up.
This prevent music player that support the dbus activation system
to be launched at module startup. Instead of blindly request properties
first check if the name has an owner.

As a side effect now the module fully support the dbus activation system:
if your player is not running it will be launched when you click his
name or any of the controls in the popup.

Note: If your player does not provide the autorun feature you can just
create a .service file in dbus share folder with the following content:

[D-BUS Service]
Name=org.mpris.MediaPlayer2.quodlibet
Exec=/usr/bin/quodlibet

...of course you must change the name of your player ;)
2013-11-11 23:40:27 +01:00
Davide Andreoli 5920551f15 music-control: use efreet to decode uri
This fix the cover image display when spaces (and probably other special chars) are in the file name.
2013-11-11 21:53:16 +01:00
Davide Andreoli 2ef11b928e music-control: add Quod Libet in players list 2013-11-11 20:45:29 +01:00
Carsten Haitzler baadcee049 check e passes distckec and set up a 0.18 alpha1 2013-11-05 16:44:30 +09:00
Sebastian Dransfeld 51a7ff2847 e/randr: lower monitor on middle click
If monitors are stacked above each other it is diffiult to find the
monitor below.
2013-11-04 11:16:05 +01:00
Davide Andreoli 2822d8e22b music-control: let the popup automatically delete the cover image.
This way the image of the cover is deleted after the popup-del animation.
2013-11-02 23:09:38 +01:00
Carsten Haitzler a1d1e40559 elm integration improvement - copy themes over, fix includes and null config
provide a config upgrade path to version 13 which nulls/frees out
theme config (save memory - but more housekeeping), and that also
copeis ofer all files in ~/.e/e/themes to ~/.elementary/themes so you
don't lose themes you personally have and deletes the old e theme dir
if this succeeds.

also remove all #includes of Elementary.h and Emotion.h from single c
files as they are requirements now and in e.h

also remove theme path vars and code as theme path is no longer used.
2013-11-01 15:53:05 +09:00
Carsten Haitzler 4b4a51d189 elm theme use - use elementary only for themes and remove e's own theme
now e only uses elementary's theme. this is to stop the bitrot and
forking of e's theme vs the unified elm theme that has everything for
e in it already. this obviously makes elm a requirement of e18 on, and
this also notes that emotion is always in efl these days, so its no
longer an option, and ecore-imf is no longer used as edje does the
entires now itself. in future it'll all be elm.

this is a major unification point for themes for elm and e. this will
need some testing, but everything seems to work day-to-day, but theme
selector is untested.

this also removes the theme selector for splash as that is now simply
unified with the same theme as everything else.
2013-10-31 23:36:22 +09:00
Carsten Haitzler 6eca480e76 make emotion as well as elm requirements, ecore-imf is not used anymore. 2013-10-31 17:12:32 +09:00
Davide Andreoli 410c2a398d music_control: add metadata (title, artist and album) and the cover image to the popup
Reviewers: zmike, zehortigoza

Reviewed By: zehortigoza

CC: cedric

Differential Revision: https://phab.enlightenment.org/D272
2013-10-28 22:55:10 +01:00
Mike Blumenkrantz c2e0679c3d unbreak temp module exe event handlers
returning 0/DONE breaks successive handlers, and that's really bad if you're breaking handlers for exes that you don't own.
2013-10-28 13:22:28 +00:00
Carsten Haitzler 221631ef19 suspend/resume handler in clock - fix and use handler that doesnt need eio ev 2013-10-23 10:03:56 +01:00
Carsten Haitzler ab3930c66a remove not connect. tnks gustavo 2013-10-22 15:55:00 +01:00
Carsten Haitzler 5f60606ffe connman - tenatively add remove api - needs hooking into ui for "forget" 2013-10-22 07:56:28 +01:00
Carsten Haitzler fdbb4525a2 clock - use system timerfd change event in ecore and fix eio monitor of tz
this now uses the system ecore timedate change event instead of a
local timerfd. centralized implementation now.

also it fixes yhe eio monitor to ALSO monitor /etc as well to detect
changes to timzesone and filter down to the files needed.
2013-10-22 07:56:01 +01:00
discomfitor 481258b07b use livethumb instead of preview for tw popups to make transparency look less horrendous 2013-10-20 13:40:41 +01:00