Commit Graph

12054 Commits

Author SHA1 Message Date
Mike Blumenkrantz 721eeb994e make spacer gadgets smarter when multiple spacers exist
* ignore consecutive spacers
* attempt to size/fill consistently based on occupied space

fix T5973
2017-09-12 13:21:04 -04:00
Carsten Haitzler 9eebe065c2 e powerszve - fix sleep timeout for select to be correct
bad inverse fmod and using int not double first before converting to
microseconds...
2017-09-12 11:03:50 +09:00
Al Poole b304e77f64 filepreview: unbreak netstar's changes.
The previous broke the video preview size. Was too complicated.
Generally just sucked. This is simpler. I don't want to touch
this again. Sorry!
2017-09-10 22:41:09 +01:00
Al Poole 12e0303e4b filepreview: show mime type icon when not video and no artwork.
This adds the icon associated with the file type to the preview.
If there's no artwork available the audio preview will no longer
be a large void, the mimetype icon will display.
2017-09-10 13:05:44 +01:00
Al Poole 8a9de1de69 filepreview: add support for album artwork in preview when applicable.
When available preview will display album artwork when previewing audio.
2017-09-09 22:23:14 +01:00
Carsten Haitzler 6502f030c9 fix nested wayland in x11 mode with getting canvas zone geometry
yup. was broken. fixes T5993

@fix
2017-09-09 11:56:16 +09:00
Carsten Haitzler 1d610fd609 fix up window+screen positioning fixup so it doesnt catch other clients
so some other clients like mpv also try to explicitly position their
windows (like centering on screen 0 ALWAYS) and this now gets caught
up in trying to detect libreoffice doing the same thing for
presentations. so only support this is the app has explicitly
requested initial positionin explicitly and then use pending configures.
2017-09-09 11:18:15 +09:00
Carsten Haitzler 041748b017 window focus - fix focus switch action next/prev walk dead code 2017-09-09 09:57:22 +09:00
Derek Foreman 9566b72e86 Fix crash when processing a wayland client cursor set after death
It looks like the only way we can get here with NULL resource data
is when we explicitly cleared it in the del hook, meaning the client
is dead to us.  In this case it's ok to ignore the cursor set request.

ref T4988
2017-09-08 14:38:08 -05:00
Mike Blumenkrantz 7fd3e2e798 restore 'application name' remember setting in dialog
broken in 6e8070d226

fix T5991
2017-09-07 14:13:01 -04:00
Mike Blumenkrantz 378e371e74 remove fullscreen clients from vdesk clients list when toggling sticky state
fix T5988
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz 72b979ca2b handle first time desk setting for fullscreen clients without crashing
ref T5988
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz 8f26d33d11 warp pointer to center of internal dialog on show if dialog has focus
ensure that pointer-based focus policies do not experience unexpected focus
changes when a dialog changes from basic<->advanced

ref T1931
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz 739eb9b679 add more files to autotools dist 2017-09-06 13:32:25 -04:00
Mike Blumenkrantz 5dc267ec84 block all desk flips during window resize
this breaks *

fix T5984
2017-09-06 13:32:25 -04:00
Derek Foreman cc5eec5cc3 Remove bogus EINA_UNUSED
move along, nothing to see here.
2017-09-01 15:13:41 -05:00
Mike Blumenkrantz 6f1b75e87b disable auto positioning of gadget ctxpopups for now
ctxpopups 2hard4me atm
2017-09-01 15:39:33 -04:00
Mike Blumenkrantz df1e21b120 reset zone edge objects after comp canvas update
fix T5969
2017-09-01 13:54:54 -04:00
Mike Blumenkrantz ef6197b119 do not force client focus setting after calling e_desk_last_focused_focus()
in some cases focus setting must be deferred, and forcing focus in these cases
will create focus bugs

ref 9ae24a3a4a
2017-09-01 13:40:12 -04:00
Mike Blumenkrantz 8ea5cf9c47 add desklock gadget site event rect to event grabber while editor is visible
allow actions to trigger on gadgets during editing

ref T4648
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 46cd0090cd stack gadgets below site event rect when reparenting gadget 2017-09-01 13:40:11 -04:00
Mike Blumenkrantz e5dd1f12f3 set shaped client image alpha after setting image data
avoid triggering render sync with old image data

fix T5957
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz b492e87851 use correct string for randr screen fuzzy matching
using the full edid string results in infinite recursion
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 75a12a9461 check for matching '/' in screen edid before fuzzy matching in randr init
if no / exists then this function is pointless
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 6dd9205e0a rename E_EVENT_COMPOSITOR_RESIZE -> E_EVENT_COMPOSITOR_UPDATE 2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 1ca1201110 recalc desktop gadget sites on compositor update event 2017-09-01 13:40:11 -04:00
Mike Blumenkrantz f8a599d525 avoid adding render updates on client resize while shading the client
this results in a blank render

fix T5929
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 1a651f23af return during client pixel callback if pixmap is dirty and no updates exist
this probably indicates a client update is needed in order to complete the
render, so the existing data should be reused since nothing will render now
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 026ce1a43e move pending client render queue in pixel callback to before render call
no functional changes
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz a76e9aa8fe do not reset existing client damage on resize if tiler size matches pixmap size
this probably indicates a case where the client wasn't actually resized and the
compositor is doing something like shading a window
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 84e999f5f3 track gadget ctxpopups and reposition within zone on resize
this attempts to shift the ctxpopup content vertically and horizontally to
keep it on the same screen that the gadget is on

fix T5945
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 2afaea3b49 remove e_util_pointer_center()
this is yet another utility function which duplicates code from elsewhere and
does it incorrectly

fix T3164
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 9076301213 use focus_set_with_pointer to focus from clients menu (middle click)
fixes pointer warping for this case
2017-09-01 13:40:11 -04:00
Carsten Haitzler 9ae24a3a4a e client focus - fix focus if moving focused window to new desk - long
fix client focus the very very very long way vs
418319fc94
2017-09-01 19:29:03 +09:00
Derek Foreman 42d3e30f5c Handle wayland frame commits with no surface damage better
Previously we immediately kicked back the frame callback when a client
sent a surface frame without damage.  This let clients that use frames
for timing proceed, but they generally just send another frame right
away and spin in this way until they reach their intended render time.

Now we use animators so the frame callbacks will be limited to the
animator tick source's frequency.

ref T5850
2017-08-31 14:44:58 -05:00
Carsten Haitzler 418319fc94 e client focus - fix focus if moving focused window to new desk
if the window being moved to a new desktop is focused, then ensure
after the move to restore focus to the last focused in the focus stack
for this desk to something stays focused.

@fix
2017-08-30 16:13:50 +09:00
Carsten Haitzler 5ec93f15ff e actions - add actions for moving focus around - feature request
was simple. winlist already had it. added action to focus next/prev or
up/down/left/right. useful for tiling... :)

@feature
2017-08-29 20:31:30 +09:00
Mike Blumenkrantz 1d72713dc0 use int array for client maximize hint state update
CID 1379946
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz e707576e81 check returns for read/write to powersave fds
CID 1379942
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 8717a4a020 initialize stack variables
CIDs 1379939, 1379943
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 43d837d681 don't pretend randr mode can be null when it can't
CID 1379945
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz c7c4470ae0 force client render on mirror show for clients which have not yet been rendered
this is the same mechanism in e_comp_object_dirty() which applies now if a
mirror is created for a previously-dirty client

fix T5937
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz a188c4751c Revert "handle updates_full when adding comp object update regions"
This reverts commit fac907e0c5.

this was already handled and I'm dumb.
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz fef7941083 set elm profile to match e profile during startup
this is actually broken, as is entire the concept of using mixed e+elm configs.
if a user manually changes the profile, e.g., for a single app, then this will
overwrite the global profile name. similarly, setting the profile in this manner
overwrites the global profile, causing all existing apps to switch to that profile
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 1902befc92 Revert "force recalc on bryce scroller when doing recalc on gadget site"
This reverts commit 87515abd2a.

this breaks scaling since the min size must be reset in order to trigger a
resize
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 175c614838 add spacer gadgets for bryces
this is a rectangle which dynamically resizes based on the available space
in the bar. it can only be added when autosize is disabled, and setting
autosize will remove all spacers

fix T5914
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 2e0638e87a check whether gadgets are elm objects before calling elm functions 2017-08-25 14:47:10 -04:00
Mike Blumenkrantz f806dae1e1 track setxkbmap processes and allow only one to run at a time
fix T5188
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 0f5b287866 add gadget api for determining if a gadget site is a desklock site
potentially this could be improved to use a vastly overengineered 'policy'
setup, but for now this fits the biggest use case

ref T4648
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz a72b88c0e7 handle bryce setup when theme is broken
fix T5889
2017-08-25 14:47:10 -04:00