| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
SDL applications (usually games) don't have any API to provide an
application ID and a reason for inhibition, so if those are Flatpak'ed
get the application ID from the Flatpak, and use the gathered name as
the reason for inhibition.
https://bugzilla.gnome.org/show_bug.cgi?id=767982
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are problems with treating the power-button on tablets in a special
manner:
1) The configuration for the power-button behavior is now part of the
main control-center power capplet, so it is visible to all users. It is
very strange and inconsistent for users with a device which gets identified
as a tablet that they can configure the behavior of the button in the
control-center but the behavior does not change.
2) The method used to determine if something is a tablet is unreliable,
various surface like devices and some laptops wrongly have "Tablet"
as chassis-type. So relying on chassis-type info for this is a bad idea.
This commit removes the special handling of the power-button on tablets,
falling back to the normal behavior of doing what the user has configured.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Quite some time ago special handling for tablets was added to
gsd-power-manager to automatically suspend the tablet when the
screen was blanked to save power.
With the more recent auto-suspend (when on battery power) support, this
hardcoded behavior really is no longer necessary, if the auto-suspend
timeout gets set to the same value as the blank timeout the same result
is achieved, but now under user control, rather then being hardcoded.
Not having this hardcoded is desirable because suspend is not always
desirable, e.g. when ongoing downloads are active, or other network
connections are open such as an irc client.
The hardcoded behavior is especially troublesome because it not only
triggers on actual tablets, but also on various non tablet devices,
both surface like devices, which are often used as one would use a
laptop, as well as on some actual laptops. On laptops one may typically
have an irc-client open, network downloads ongoing, etc. and then lock
the screen when walking away. The current hardcoded suspend behavior
causes the downloads to abort, irc messages to be missed, etc. and
with this not being configurable there is nothing the user can do to
avoid this.
I've looked into making gsd_power_is_hardware_a_tablet() more reliable,
but this relies on the DMI chassis type, which ultimately simply is
unreliable
Since the auto-suspend on screen blank functionality is duplicate with
the auto-suspend and the tablet-identification is unreliable, lets just
remove the special handling for tablets.
|
|
|
|
|
|
|
|
|
|
|
| |
While we theoretically only want a different default value inside a VM,
we currently hack this by never doing a suspend action inside VMs.
However, that also breaks automatic logout, which is an unintended side
effect.
Move the check to not install the corresponding timeout (preventing
sleep warnings from being displayed) and also only enforce the VM
specific hack for the Suspend and Hibernate actions.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently if the user configures the "from" and "to" times for the night
light schedule to be close together or equal, g-s-d gets confused as it
still tries to smear the transition over a full hour period.
To fix this, first make sure that the smearing period is short enough to
fit between sunrise and sunset. Also redefine equal start/end times when
calculating whether a time falls into a range as the full 24h period.
This effectively means that we will smear over the full day or night
time when the sunrise and sunset are closer than an hour to each other.
It also means that we always enable night light when the times are
equal.
Based on a patch by Matthew Leeds <matthew.leeds@endlessm.com>.
|
|
|
|
|
| |
It seems that this is causing sporadic failures. Increase the sleep time
to apply the settings to 2 seconds rather than only waiting one second.
|
|
|
|
|
|
|
|
| |
Many of the error cases were not handled, resulting in the sender to
never get a reply. Fix these by adding appropriate error return paths
(simply returning a generic GError in some cases).
Fixes: #344
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reason was "Multiple displays attached" which is not really
accurate, as we are looking for an external screen rather than multiple
screens. Also, we always grab the inhibitor after a change and then
release it again if there is no external monitor after a short period of
time.
Change it to "External monitor attached or configuration changed
recently" which should clarify this.
Fixes: #353
|
|
|
|
|
|
|
| |
This is needed for the ITS rules, without it msgfmt fails on the policy
file.
Fixes #10
|
|
|
|
|
|
| |
We need at least 1.3.5 for cd_color_get_blackbody_rgb.
Fixes #392
|
|
|
|
|
|
| |
This is a regression that was introduced when moving to
G_DECLARE_FINAL_TYPE. This was a typo that only happened for
GsdPowerManager, and the other migrated classes are fine.
|
|
|
|
|
|
|
|
| |
The session manager object is globally shared and may live longer than
the GSD plugin manager object. Use g_signal_connect_object rathre than
g_signal_connect to prevent callbacks to destroyed objects.
This is a theoretical issue, no impact has been seen from this.
|
|
|
|
|
|
|
|
|
| |
The reference would be leaked if the function returns early. Move
attaching the data and register it so it gets unref'ed automatically.
Note that this reference leak has no effect in normal sessions, in the
worst case it prevents proper cleaup of some resources on daemon
shutdown.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When clients disconnected and they were not the active client they would
not be removed from the list. This caused the controller to create a
proxy for non-existing clients, causing a bad state. The "connecting"
boolean was also not reset, meaning that a new MPRIS client would never
be used.
Also, there seems to have been a race caused by the fact that we
destroyed the DBus proxy from the vanished signal. Change the DBus proxy
to be removed when its g-name-owner property becomes NULL.
Fixes #45
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't have the concept of an output ID anymore in the DBus API. The
current code was entirely broken for a long time now (i.e. never
signalled any output) and the fixup for 3.32 that I did was actually
doing guesses that were incorrect.
Fix this properly by passing around the connector name rather than an
output ID. This requires changes in gnome-shell to work properly (but
doesn't regress without those changes).
Fixes: #401
|
| |
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit 6c5866c49c2ab1686b93675e54022ad2b9095e52)
|
|
|
|
|
| |
This fixes error in applications started through media-keys:
Gtk-WARNING **: 17:48:33.761: Failed to register client: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Unable to register client
|
|
|
|
|
|
|
| |
Implement the screen brightness cycle up action for the
SCREEN_BRIGHTNESS_CYCLE_KEY media-key.
GNOME/gnome-settings-daemon#117
|
|
|
|
|
|
|
|
|
|
|
| |
The Acer Veriton Z4660G/Z4860G/Z6860G series AIO desktops have a
brightness button in the bottom. The KEY_BRIGHTNESS_CYCLE event will be
sent from ACPI video module in kernel when the button is pressed.
This commit adds the binding for the KEY_BRIGHTNESS_CYCLE event sent
from the button as a media-key.
GNOME/gnome-settings-daemon#117
|
|
|
|
|
| |
The WWan plugin is pending to be merged, and these dependencies are
needed for the CI at this point already.
|
|
|
|
| |
(cherry picked from commit 47e25e0d9813abd818049aeadc78b40083b27b3b)
|
|
|
|
| |
(cherry picked from commit 9d8935df2170608d5b9c22697d5c914d0e78109f)
|
|
|
|
|
| |
Use gdk_x11_screen_get_screen_number rather than the deprecated
gdk_screen_get_number.
|
|
|
|
|
|
|
|
| |
We used to call up_client_get_devices which passes an array of devices
but does not unreference the devices again when the array is destroyed.
GsdPower did correctly reference the devices, so this fixes both a
memory leak and a deprecation warning.
|
|
|
|
| |
This fixes more compile time warnings.
|
| |
|
|
|
|
|
| |
These are used to guard an X11 specific all (which will hopefully be
removed soon). Doing so fixes a compile time warning.
|
|
|
|
|
| |
The module only works for X11, and the generic functions are deprecated.
Use the X11 specific functions to fix compile time warnings.
|
|
|
|
|
| |
The error trap would only be popped if the if branch was taken. Move the
error trap pushing into the if branch to prevent possible issues.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The string is dynamically allocated, it shouldn't have a const
specifier.
|
| |
|