Gnome Shell扩展覆盖C API?

时间:2017-01-17 18:54:24

标签: gnome gnome-shell gnome-shell-extensions

这可能是一个问题,答案可能是下降gnome shell扩展教程的URL,因为我找不到。

我遇到的问题,我想通过Gnome扩展来解决

在gnome设置守护进程中(参见https://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/power/gsd-backlight-helper.c#n123),我想覆盖以下函数

clamp_minimum (gint max, gint value)
{
    gint minimum;
    /* If the interface has less than 100 possible values, it's
     * likely that 0 doesn't turn the backlight off so we let 0 be
     * set in that case. */
    if (max > 99)
        minimum = 1;
    else
        minimum = 0;

    return MAX (value, minimum);
}

我希望这种方法总是返回0,因为那样屏幕亮度的最低设置将变为0,即黑色调,最终让我在晚上听音乐时操作电脑而不用一直打开屏幕。

基本上,XFCE,MacOS,Cinnamon和其他人已经实现了这一点,但Gnome出于某种原因这样做了。

所以,我的问题是:我可以覆盖或拦截对此函数的调用,以便始终从Gnome扩展名返回0吗?

感谢。

1 个答案:

答案 0 :(得分:0)

要回答您的明确问题:不,您不能覆盖或拦截对此函数的调用。

但是,您可以编写一个Shell扩展名,当系统未锁定/注销时,您可以将屏幕切换到永久关闭状态(因为注销所有扩展名上的disable()并设置GNOME Shell模式转换为gdm)。