Carsten Haitzler
871fed7493
e_shelf - check visiblity with zone and desk FIRST not later
...
es->cfg->desk_show_mode if false (default) implies a shelf is always
visible - true, as it's sticky (visible on all desktops). but this
didn't check zone. check zone first THEN this.
2015-04-28 07:51:35 +09:00
Mike Blumenkrantz
505b4551bb
bump modapi version
...
lots of changes lately, may as well force rebuilds
2015-04-27 15:42:28 -04:00
Mike Blumenkrantz
5ae00e6525
redo drop handlers to take an E_Object and Evas_Object
...
temp change to fix crashing when closing fwins with ctrl+w
2015-04-27 15:39:43 -04:00
Mike Blumenkrantz
b632afa546
more accurately determine whether a mouse grab is active in some parts of e
2015-04-27 14:32:19 -04:00
Mike Blumenkrantz
0c7ff0b0e9
add comp mouse grab detection function
2015-04-27 14:32:05 -04:00
Mike Blumenkrantz
76eec883b7
add e_grabinput_mouse_win_get()
2015-04-27 14:31:52 -04:00
Mike Blumenkrantz
1d6749e210
only allow efm key actions if key grab does not exist
2015-04-27 14:26:33 -04:00
Mike Blumenkrantz
c7bdf6d992
add comp util function for determining whether the keyboard has been grabbed
2015-04-27 14:21:33 -04:00
Mike Blumenkrantz
ff5b06b79d
fix MANAGER context keybinds to work with rootless compositors
2015-04-27 14:11:05 -04:00
Mike Blumenkrantz
e4298517dd
add internal win trap to set override property on windows
2015-04-27 13:56:56 -04:00
Mike Blumenkrantz
59ea27e819
set internal win icccm name/class/title during win trap show
...
wl clients have no concept of icccm name, so this is the only way to set it
also, setting it here makes it available sooner for other functionalities
2015-04-27 13:55:47 -04:00
Mike Blumenkrantz
0d439345c1
set focus on comp autoclose objects
...
fix T2114
2015-04-27 13:20:52 -04:00
Mike Blumenkrantz
b9c4171ab1
do not pass key events through autoclose handler
2015-04-27 13:04:53 -04:00
Mike Blumenkrantz
ee44d29ebc
ensure client max w/h props are set before applying them to client geom
2015-04-27 12:30:29 -04:00
Carsten Haitzler
969541a93c
e auto-placement - don't include shelves from other screens
...
unbeknownst to anyone e was placing around shelvs on OTHER screens...
this ended up with some .. odd results every now and again.
@fix
2015-04-27 16:54:15 +09:00
Mike Blumenkrantz
fd558491fd
don't set e_comp->root for wl compositors
...
root is the root window. wl compositors do not have root windows.
2015-04-24 14:57:05 -04:00
Mike Blumenkrantz
d0f48e6441
fix comp init failure case
2015-04-24 14:12:51 -04:00
Mike Blumenkrantz
3e50235e5b
fix comp fake layer init for wl compositors
...
fix T2363
2015-04-24 14:12:44 -04:00
Mike Blumenkrantz
9c573a49ac
fix internal win pixmap id int size in show trap
2015-04-23 12:35:22 -04:00
Mike Blumenkrantz
97a1642222
fix typo when setting event state in e_randr2_screen_refresh_queue()
...
a non-event should not unset this variable
2015-04-23 08:33:20 -04:00
Mike Blumenkrantz
4afb4b8fe9
simplify comp_x screen setup
...
we only care about the first root now, no point getting all the roots
2015-04-23 08:27:45 -04:00
Mike Blumenkrantz
0c0d481e4e
check module name existence before reading from it
...
CID 1295427
2015-04-23 08:23:13 -04:00
Mike Blumenkrantz
a86fe60d3a
use const lists for drm devices in signal handlers
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz
a452baafca
move comp_x screen setup code into e_randr
...
this was not x-specific, so move it for use in wl compositors
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz
e64998b042
resize comp canvas on e_comp_canvas_init()
...
remove unnecessary call in wl drm output module
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz
05d87a9b30
fix module blocking for wl modules
...
these should never be saved to or loaded from the config
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz
4b1925dadf
init randr during wayland init...always
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz
18c34ed151
change comp type check at start of e_comp_wl_init()
...
at present, this value will be set to either TYPE_NONE if no valid
compositor has been created or TYPE_X if running a wl compositor inside
an x11 compositor
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz
15540c01e4
use randr for screen setup in wl-x11 output module
...
enabling this module requires that e is linked against ecore-x to
allow screen management
2015-04-22 21:20:53 -04:00
Mike Blumenkrantz
89ae59b407
always add e_randr2.c to e build
...
randr no longer requires x11
2015-04-22 21:19:00 -04:00
Mike Blumenkrantz
a4ea6e7f23
add a small screen management interface to E_Comp, remove hardcoded x11 randr calls
...
this interface is extremely basic and should allow easy additions for other display
backends
2015-04-22 21:19:00 -04:00
Mike Blumenkrantz
8c6ec83e43
break out comp_x gl/sw canvas creation into external function
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz
36ea1ba372
move comp_x randr init to screen init function
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz
3ac3e9bc71
ensure valid strings are send when sending wl output geometry
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz
df4ada7e75
fix ecore-x cflags/libs inclusion for e binary
...
these variables will always exist
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz
e383b5b55a
always register E_EVENT_RANDR_CHANGE
...
failing to register this will cause event handlers for it to fail
on creation
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz
e1181c4d03
create e_comp during e_comp_init, set comp_type automatically
...
this simplifies comp creation slightly
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz
de0b1b2d39
add E_PIXMAP_TYPE_NONE
...
null type currently only used during comp init
2015-04-22 21:18:42 -04:00
Mike Blumenkrantz
881e0ab805
move all x11-related randr code into e_comp_x_randr.c
2015-04-22 16:16:05 -04:00
Mike Blumenkrantz
7104e637ef
_config_screen_find() -> e_randr2_config_screen_find()
2015-04-22 16:07:58 -04:00
Mike Blumenkrantz
b4e65519d1
move acpi lid status tracking from e_randr to e_acpi
2015-04-22 16:05:16 -04:00
Mike Blumenkrantz
853d04592e
move e_randr internal screen changing timer -> e_randr2_screen_refresh_queue()
2015-04-22 16:04:36 -04:00
Mike Blumenkrantz
98068e9b9c
add e_acpi_lid_is_closed() for returning cached state of computer lid
2015-04-22 15:50:05 -04:00
Chris Michael
57611c6d2f
e-comp-wl: Init randr if we are not wayland only
...
This is needed for the wl-x11 module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-22 10:46:41 -04:00
Mike Blumenkrantz
0bad7b6025
unadjust frame coords when calculating wl surface placement during commit
...
ec->y -> unadjust -> ec->client.y
2015-04-21 16:19:30 -04:00
Mike Blumenkrantz
f254531182
use pointer hash for wl pixmaps
2015-04-21 15:57:18 -04:00
Mike Blumenkrantz
f276023e71
pass surface resource when creating wl surface pixmaps
2015-04-21 15:41:10 -04:00
Mike Blumenkrantz
e869cb9649
disable client color editor for non-X clients for now
2015-04-21 15:21:19 -04:00
Mike Blumenkrantz
96f07bff8a
wl client pixmaps now use a different method for creating the pixmap id
2015-04-21 15:19:20 -04:00
Mike Blumenkrantz
6e222cede8
add wl client event callbacks at lower priority
...
this ensures that bindings will activate before events are passed to clients
2015-04-21 15:17:56 -04:00
Mike Blumenkrantz
b825af34cf
use client geom for comp object centering functions if ec->new_client is set
2015-04-21 15:05:25 -04:00
Chris Michael
9b7358aa32
e-comp-wl: Don't crash if we fail to create a new e_client
...
This "should" fix T2344 crashing, however I suppose a better question
is ... why is e_client_new returning NULL when it Does find the client
already in the hash...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-21 09:38:00 -04:00
Conrad Meyer
90fe5a4d0d
e_auth: Add suid helper for lokker own-pw checking on FreeBSD
...
Summary:
PAM on FreeBSD, unlike on Linux, does not allow users to check their own
password. Instead, we need a suid helper to do it for us. Add such a
helper on FreeBSD.
For now, it is limited to checking users in the local password database
(traditional Unix passwd file). This could and should be extended to use
PAM in a later patch.
Test Plan:
Tested empty pw, wrong pw, correct pw at lock screen; observed correct behavior
in each instance.
Reviewers: q66, zmike
Reviewed By: q66, zmike
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D2355
2015-04-21 13:11:56 +01:00
Tom Hacohen
99b8d84485
Auth: try harder when clearing passwords.
...
Based on http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html
Thanks again to Matthew Garrett, for pointing this out on twitter.
2015-04-21 10:45:01 +01:00
Tom Hacohen
acfdda6c7f
E auth: improve clearing out passwords from memory.
...
Optimising compilers (like gcc/clang with -O1 or above) were optimising
out the memset(). Until link time optimisations are good enough, this
will prevent them from doing so. The best solution would be to use
memset_s() (c11), though it's not readily available yet. This is the
first step towards using memset_s() with a fallback for systems who
don't have it. A better solution, is to put it in Eina, to prevent LTO
completely. This will have to be done after the EFL release.
Even this is not entirely safe though, but at least it protects us from
some memory disclosure issues.
This doesn't solve the fact that we may store a copy of the password in
other places, like the input system. We need to address that too.
Thanks to Matthew Garrett for pointing this out or Twitter.
2015-04-21 10:19:48 +01:00
Carsten Haitzler
9eaac75ae2
e - e_client - fix added printf
...
665caad451
fix added a printf i didn't
notice - fix.
2015-04-21 11:00:24 +09:00
Carsten Haitzler
665caad451
e client - desk wait - ref it properly and clean up delfn
...
delfn's on desks being referred to as profile.wait_desk were never
cleared when client was freed. als the desk itself never got an obj
reference - fix that and ref/unref it.
2015-04-21 09:36:33 +09:00
Carsten Haitzler
c746beb202
e - xsettings - calloc buffer since we leave 3 of 4 bytes unset
...
the first 4 bytes is a msb/lsb thing for xsetttings - we ignore 3 of
the 4 bytes. thus we should just calloc the whole buffer to ensure its 0
2015-04-21 08:52:19 +09:00
Derek Foreman
1fb1f17db0
Fix wayland compositor on 32 bit systems
...
Summary:
_e_elm_win_trap_show() treats Ecore_Window as a 64bit data type when
it's actually the same size as the system's pointer type.
#24HourFullPowerNoToiletNoShower
Reviewers: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2388
fix T2194
2015-04-20 18:18:20 -04:00
Mike Blumenkrantz
12d6cf8f3b
fix submenu visibility during scroll
...
sometimes while quickly moving the cursor through menu items with submenus
the visibility flag would toggle more quickly than the menu object's visibility.
this is no longer the case
2015-04-20 18:08:07 -04:00
Jean Guyomarc'h
ba975e702f
e_backlight_main: fix compiling when not having Eeze
...
Summary:
EINA_UNUSED is defined in Eina. Since we are not using the program at all,
let's void main()'s arguments instead of trying to ignore them.
Test Plan: tested only on OSX, unbreaks the build.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2387
2015-04-20 17:03:22 -04:00
Mike Blumenkrantz
ea7ec93af8
clear app menu cache any time a desktop is edited internally
...
ref T2271
2015-04-20 16:04:48 -04:00
Mike Blumenkrantz
3eaf4e8638
add function for clearing app menu cache
...
ref T2271
2015-04-20 16:04:31 -04:00
Mike Blumenkrantz
934d541795
use client geometry for starting unmaximize calculations
...
the resize operations in this function operate off client geometry, so
stop using frame geometry
fix T2170
2015-04-20 14:32:21 -04:00
Mike Blumenkrantz
14f44ef6e3
fix pixmap image clearing based on pixmap type
...
!@%!@$#!# borkerhorns!!!!!!
invalidates T2291
2015-04-16 14:39:09 -04:00
Stefan Schmidt
83572a3edb
e_client: Remove self assignment from e_comp
...
Hopefully the last one of these self assignments.
CID 1291840
2015-04-16 17:00:08 +02:00
Mike Blumenkrantz
af59e95b28
fix return value in backlight helper exe on non-freebsd systems
...
ref D2337
2015-04-14 20:37:47 -04:00
Mike Blumenkrantz
5dd146e7e4
fix nocomp_override conditional which would inaccurately toggle nocomp
...
hooray gcc 5.0
2015-04-14 20:26:21 -04:00
Conrad Meyer
4fc5495f4e
backlight: Use basic ACPI sysctl knob on FreeBSD (kernel)
...
Summary:
Unconditionally build the suid-helper _backlight program; conditionalize
behavior on Eeze, FreeBSD (doing nothing on neither). Add logic to set
the FreeBSD sysctl in a similar manner to udev devices on Linux.
Add _bl_sys_find/_get helpers for FreeBSD that check for and consult the
video ACPI sysctl.
Test Plan:
Seems to work okay on my laptop (with EINA_CPU_FAKE=1 to workaround a threadq
race that I believe is unrelated -- T2287).
Reviewers: zmike, q66
Reviewed By: q66
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D2337
2015-04-14 14:20:33 +01:00
Mike Blumenkrantz
785cb47b89
set E_Exec_Instance desktop during client idler if none present
...
ref T2284
2015-04-13 16:16:37 -04:00
Mike Blumenkrantz
668de186ac
fix desktop editor entry widget parenting
...
fix T2283
2015-04-13 15:46:00 -04:00
Mike Blumenkrantz
db9348c16f
do not attempt to re-center fullscreen/maximized internal windows
...
fix T2279
2015-04-13 15:39:30 -04:00
Mike Blumenkrantz
f1438a4187
toggle comp_hidden and grab input while client color editor is active
2015-04-13 13:20:29 -04:00
Chris Michael
4d46aae57c
e-comp-wl: Remove unused variable
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-12 09:28:26 -04:00
Mike Blumenkrantz
128338952e
remove cslider widget
...
no longer used
2015-04-09 16:37:16 -04:00
Mike Blumenkrantz
e569758fef
remove csel widget
...
no longer used
2015-04-09 16:36:41 -04:00
Mike Blumenkrantz
aeca417ebe
redo color dialog to use elm colorselector
...
this is waaaaaaay less functional and good-looking, but at least it doesn't
crash
2015-04-09 16:34:00 -04:00
Mike Blumenkrantz
155a678ff4
make entry widget call changed callbacks on "changed" again
...
this caused infinite loops before, but now I'm removing the things that looped.
fixes a lot of config dialogs
ref T2271
2015-04-09 16:32:24 -04:00
Mike Blumenkrantz
daf7f19837
don't redo min size hints on e_dialog show
...
these are guaranteed to be wrong because elm won't provide accurate size
hints without some arm twisting
2015-04-09 16:31:32 -04:00
Mike Blumenkrantz
01d27333b0
force dialogs to recalc content sizes before setting min size
2015-04-09 16:16:33 -04:00
Mike Blumenkrantz
5b2ab97ffc
fix entry sizing in file props dialog
...
ref T2271
2015-04-09 15:19:10 -04:00
Mike Blumenkrantz
7ef480d1a6
set desktop editor appselector dialog to be resizable
...
ref T2271
2015-04-09 15:12:47 -04:00
Mike Blumenkrantz
276706ab9d
match client dialogs to client's layer
...
a small annoyance for literally over a decade has been that window
dialogs would sometimes start behind their owners. now they don't.
2015-04-09 14:40:41 -04:00
Mike Blumenkrantz
57ade8c5ae
raise deskmirror windows on startup
...
these get added bottom -> top on creation, so ensure that they are raised
2015-04-09 14:20:28 -04:00
Mike Blumenkrantz
a3c6b7ada4
always lower e_layout children upon packing
...
fixes issues where a new child added would appear above other child objects
if the new child was meant to be stacked below other children
mostly noticeable in deskmirror
2015-04-09 14:20:28 -04:00
Mike Blumenkrantz
59b49538b1
remove layer setting from deskmirror
...
smart child objects can't have layers. apparently.
2015-04-09 14:20:28 -04:00
Carsten Haitzler
da4d1ecfe8
add options to randr2 to ignore acpi and hotplug randr events.
2015-04-09 15:44:07 +09:00
Mike Blumenkrantz
a73d2583c5
don't crash on wl shutdown
...
devilhorns? more like crasherhorns imo
2015-04-08 14:56:05 -04:00
Chris Michael
fa68ec127d
e_comp: Only need 'type' variable if we are building with HAVE_WAYLAND
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:49:17 -04:00
Mike Blumenkrantz
93e0ebd4e1
only call e_comp_wl_shutdown() for wayland compositors
2015-04-07 19:30:44 -04:00
Chidambar Zinnoury
b637a4f586
Bugfix: e dialog: don’t crash when using the escape key to close.
...
Commit 99589eb5af
introduced this bug as the callback creation wasn’t changed to suit the new prototype and stil passed a window object.
2015-04-06 21:53:21 +02:00
Mike Blumenkrantz
6e4710cc91
remove e_color_class
2015-04-06 15:26:36 -04:00
Mike Blumenkrantz
2fc7b0169c
move colorclass config to use elm infra, redo cc dialog to use new editor
...
this will allow all colorclasses present in the current theme to be edited
instead of only the hardcoded ones in the module. it will also require
completely new translations, for which translators will need to read the edc
files of the default theme (cleverly located in another repo) and provide
translations to the _translate() callback in the theme module
the editor currently lacks indicators for active/type on the colorclass
list, but this can be added in time. meanwhile, a large amount of code is
no longer duplicated or maintained in this repo
2015-04-06 15:26:36 -04:00
Mike Blumenkrantz
bdc0a6ab8b
fix wl randr error message string
2015-04-06 14:29:47 -04:00
Mike Blumenkrantz
e62ca8c671
make application color editor follow client geometry on move/resize
2015-04-06 12:39:07 -04:00
Mike Blumenkrantz
3498c6caf8
add colorclass editor to app menu
2015-04-05 16:27:18 -04:00
Mike Blumenkrantz
da149ba021
block ignored clients from lost client list
2015-04-03 20:57:52 -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
Stefan Schmidt
f848a8abec
e_module: Whitelist geolocation module
2015-04-02 15:14:11 -04:00
Mike Blumenkrantz
617c2d96ff
move wl E_Client creation to same place as E_Pixmap creation
...
ensure that surface manipulation functions will succeed even with no shell surface
2015-03-30 12:13:04 -04:00