コード例 #1
0
ファイル: keyboard.go プロジェクト: felixonmars/dde-daemon
func NewKeyboard(l *log.Logger) *Keyboard {
	kbd := &Keyboard{}

	kbd.settings = gio.NewSettings("com.deepin.dde.keyboard")
	kbd.CurrentLayout = property.NewGSettingsStringProperty(
		kbd, "CurrentLayout",
		kbd.settings, kbdKeyLayout)
	kbd.RepeatEnabled = property.NewGSettingsBoolProperty(
		kbd, "RepeatEnabled",
		kbd.settings, kbdKeyRepeatEnable)
	kbd.RepeatInterval = property.NewGSettingsUintProperty(
		kbd, "RepeatInterval",
		kbd.settings, kbdKeyRepeatInterval)
	kbd.RepeatDelay = property.NewGSettingsUintProperty(
		kbd, "RepeatDelay",
		kbd.settings, kbdKeyRepeatDelay)
	kbd.CursorBlink = property.NewGSettingsIntProperty(
		kbd, "CursorBlink",
		kbd.settings, kbdKeyCursorBlink)
	kbd.CapslockToggle = property.NewGSettingsBoolProperty(
		kbd, "CapslockToggle",
		kbd.settings, kbdKeyCapslockToggle)
	kbd.UserLayoutList = property.NewGSettingsStrvProperty(
		kbd, "UserLayoutList",
		kbd.settings, kbdKeyUserLayoutList)
	kbd.UserOptionList = property.NewGSettingsStrvProperty(
		kbd, "UserOptionList",
		kbd.settings, kbdKeyLayoutOptions)

	kbd.logger = l
	var err error
	kbd.layoutDescMap, err = getLayoutListByFile(kbdKeyLayoutXml)
	if err != nil {
		//TODO: handle error
		kbd.errorInfo("Get Layout Desc List Failed: %v", err)
		return nil
	}

	kbd.greeter, err = greeterutils.NewGreeterUtils(
		"com.deepin.api.GreeterUtils",
		"/com/deepin/api/GreeterUtils")
	if err != nil {
		kbd.warningInfo("Create GreeterUtils Failed: %v", err)
		kbd.greeter = nil
	}

	kbd.xsettings, err = sessionmanager.NewXSettings(
		"com.deepin.SessionManager",
		"/com/deepin/XSettings",
	)
	if err != nil {
		kbd.warningInfo("Create XSettings Failed: %v", err)
		kbd.xsettings = nil
	}

	kbd.handleGSettings()
	kbd.init()

	return kbd
}
コード例 #2
0
ファイル: mouse.go プロジェクト: felixonmars/dde-daemon
func NewMouse(l *log.Logger) *Mouse {
	m := &Mouse{}

	m.settings = gio.NewSettings("com.deepin.dde.mouse")
	m.LeftHanded = property.NewGSettingsBoolProperty(
		m, "LeftHanded",
		m.settings, mouseKeyLeftHanded)
	m.DisableTpad = property.NewGSettingsBoolProperty(
		m, "DisableTpad",
		m.settings, mouseKeyDisableTouchpad)
	m.NaturalScroll = property.NewGSettingsBoolProperty(
		m, "NaturalScroll",
		m.settings, mouseKeyNaturalScroll)
	m.MiddleButtonEmulation = property.NewGSettingsBoolProperty(
		m, "MiddleButtonEmulation",
		m.settings, mouseKeyMiddleButton)

	m.MotionAcceleration = property.NewGSettingsFloatProperty(
		m, "MotionAcceleration",
		m.settings, mouseKeyAcceleration)
	m.MotionThreshold = property.NewGSettingsFloatProperty(
		m, "MotionThreshold",
		m.settings, mouseKeyThreshold)

	m.DoubleClick = property.NewGSettingsIntProperty(
		m, "DoubleClick",
		m.settings, mouseKeyDoubleClick)
	m.DragThreshold = property.NewGSettingsIntProperty(
		m, "DragThreshold",
		m.settings, mouseKeyDragThreshold)

	mouseList, _, _ := wrapper.GetDevicesList()
	m.setPropDeviceList(mouseList)
	if len(mouseList) > 0 {
		m.setPropExist(true)
	} else {
		m.setPropExist(false)
	}

	m.logger = l
	var err error
	m.xsettings, err = sessionmanager.NewXSettings(
		"com.deepin.SessionManager",
		"/com/deepin/XSettings",
	)
	if err != nil {
		m.warningInfo("Create XSettings Failed: %v", err)
		m.xsettings = nil
	}

	_mouse = m
	m.init()
	m.handleGSettings()

	return m
}
コード例 #3
0
ファイル: font.go プロジェクト: felixonmars/dde-daemon
func (fs *FontSettings) initSettings() {
	if fs.xs == nil {
		var err error
		if fs.xs, err = sessionmanager.NewXSettings("com.deepin.SessionManager", "/com/deepin/XSettings"); err != nil {
			Logger.Fatal("New XSettings Failed:", err)
			return
		}
	}

	if fs.wmSettings == nil {
		fs.wmSettings = gio.NewSettings("org.gnome.desktop.wm.preferences")
	}
}
コード例 #4
0
ファイル: xsettings.go プロジェクト: felixonmars/dde-daemon
func NewXSProxy() (*XSProxy, error) {
	if _proxy != nil {
		_proxy.refer()
		return _proxy, nil
	}

	xs, err := sessionmanager.NewXSettings(
		"com.deepin.SessionManager",
		"/com/deepin/XSettings",
	)
	if err != nil {
		return nil, err
	}

	_proxy = &XSProxy{xs: xs}
	_proxy.refer()

	return _proxy, nil
}
コード例 #5
0
ファイル: touchpad.go プロジェクト: felixonmars/dde-daemon
func NewTouchpad(l *log.Logger) *Touchpad {
	tpad := &Touchpad{}

	tpad.settings = gio.NewSettings("com.deepin.dde.touchpad")
	tpad.TPadEnable = property.NewGSettingsBoolProperty(
		tpad, "TPadEnable",
		tpad.settings, tpadKeyEnabled)
	tpad.LeftHanded = property.NewGSettingsBoolProperty(
		tpad, "LeftHanded",
		tpad.settings, tpadKeyLeftHanded)
	tpad.DisableIfTyping = property.NewGSettingsBoolProperty(
		tpad, "DisableIfTyping",
		tpad.settings, tpadKeyWhileTyping)
	tpad.NaturalScroll = property.NewGSettingsBoolProperty(
		tpad, "NaturalScroll",
		tpad.settings, tpadKeyNaturalScroll)
	tpad.EdgeScroll = property.NewGSettingsBoolProperty(
		tpad, "EdgeScroll",
		tpad.settings, tpadKeyEdgeScroll)
	tpad.VertScroll = property.NewGSettingsBoolProperty(
		tpad, "VertScroll",
		tpad.settings, tpadKeyVertScroll)
	tpad.HorizScroll = property.NewGSettingsBoolProperty(
		tpad, "HorizScroll",
		tpad.settings, tpadKeyHorizScroll)
	tpad.TapClick = property.NewGSettingsBoolProperty(
		tpad, "TapClick",
		tpad.settings, tpadKeyTapClick)

	tpad.MotionAcceleration = property.NewGSettingsFloatProperty(
		tpad, "MotionAcceleration",
		tpad.settings, tpadKeyAcceleration)
	tpad.MotionThreshold = property.NewGSettingsFloatProperty(
		tpad, "MotionThreshold",
		tpad.settings, tpadKeyThreshold)

	tpad.DeltaScroll = property.NewGSettingsIntProperty(
		tpad, "DeltaScroll",
		tpad.settings, tpadKeyScrollDelta)
	tpad.DoubleClick = property.NewGSettingsIntProperty(
		tpad, "DoubleClick",
		tpad.settings, tpadKeyDoubleClick)
	tpad.DragThreshold = property.NewGSettingsIntProperty(
		tpad, "DragThreshold",
		tpad.settings, tpadKeyDragThreshold)

	_, tpadList, _ := wrapper.GetDevicesList()
	tpad.setPropDeviceList(tpadList)

	if len(tpad.DeviceList) > 0 {
		tpad.setPropExist(true)
	} else {
		tpad.setPropExist(false)
	}

	tpad.logger = l
	var err error
	tpad.xsettings, err = sessionmanager.NewXSettings(
		"com.deepin.SessionManager",
		"/com/deepin/XSettings",
	)
	if err != nil {
		tpad.warningInfo("Create XSettings Failed: %v", err)
		tpad.xsettings = nil
	}

	_tpad = tpad
	tpad.init()
	tpad.handleGSettings()

	return tpad
}