diff --git a/lawnchair/res/values/attrs.xml b/lawnchair/res/values/attrs.xml
new file mode 100644
index 0000000000..d435b24dd7
--- /dev/null
+++ b/lawnchair/res/values/attrs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lawnchair/res/xml/app_drawer_settings.xml b/lawnchair/res/xml/app_drawer_settings.xml
new file mode 100644
index 0000000000..3ac18f721e
--- /dev/null
+++ b/lawnchair/res/xml/app_drawer_settings.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lawnchair/res/xml/dock_settings.xml b/lawnchair/res/xml/dock_settings.xml
new file mode 100644
index 0000000000..737b427422
--- /dev/null
+++ b/lawnchair/res/xml/dock_settings.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lawnchair/res/xml/home_screen_settings.xml b/lawnchair/res/xml/home_screen_settings.xml
index 2f82db54a7..a963297b07 100644
--- a/lawnchair/res/xml/home_screen_settings.xml
+++ b/lawnchair/res/xml/home_screen_settings.xml
@@ -1,7 +1,8 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:lawnchair="http://schemas.android.com/apk/res-auto">
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lawnchair/res/xml/settings.xml b/lawnchair/res/xml/settings.xml
index 5c766658dc..58c76117e0 100644
--- a/lawnchair/res/xml/settings.xml
+++ b/lawnchair/res/xml/settings.xml
@@ -14,4 +14,14 @@
android:icon="@drawable/ic_home_screen"
android:fragment="ch.deletescape.lawnchair.settings.fragments.HomeScreenSettingsFragment" />
+
+
+
+
\ No newline at end of file
diff --git a/lawnchair/src/ch/deletescape/lawnchair/settings/fragments/AppDrawerSettingsFragment.kt b/lawnchair/src/ch/deletescape/lawnchair/settings/fragments/AppDrawerSettingsFragment.kt
new file mode 100644
index 0000000000..4c8b92e300
--- /dev/null
+++ b/lawnchair/src/ch/deletescape/lawnchair/settings/fragments/AppDrawerSettingsFragment.kt
@@ -0,0 +1,8 @@
+package ch.deletescape.lawnchair.settings.fragments
+
+import com.android.launcher3.R
+
+class AppDrawerSettingsFragment : BasePreferenceFragment(R.xml.app_drawer_settings, false, true) {
+ override val title: String
+ get() = "App Drawer"
+}
\ No newline at end of file
diff --git a/lawnchair/src/ch/deletescape/lawnchair/settings/fragments/DockSettingsFragment.kt b/lawnchair/src/ch/deletescape/lawnchair/settings/fragments/DockSettingsFragment.kt
new file mode 100644
index 0000000000..6ec081b96d
--- /dev/null
+++ b/lawnchair/src/ch/deletescape/lawnchair/settings/fragments/DockSettingsFragment.kt
@@ -0,0 +1,8 @@
+package ch.deletescape.lawnchair.settings.fragments
+
+import com.android.launcher3.R
+
+class DockSettingsFragment : BasePreferenceFragment(R.xml.dock_settings, false, true) {
+ override val title: String
+ get() = "Dock"
+}
\ No newline at end of file
diff --git a/lawnchair/src/ch/deletescape/lawnchair/settings/ui/preferences/CustomSeekBarPreference.kt b/lawnchair/src/ch/deletescape/lawnchair/settings/ui/preferences/CustomSeekBarPreference.kt
new file mode 100644
index 0000000000..2fef6a9ad5
--- /dev/null
+++ b/lawnchair/src/ch/deletescape/lawnchair/settings/ui/preferences/CustomSeekBarPreference.kt
@@ -0,0 +1,34 @@
+package ch.deletescape.lawnchair.settings.ui.preferences
+
+import android.content.Context
+import android.util.AttributeSet
+import android.util.Log
+import androidx.preference.Preference
+import androidx.preference.PreferenceViewHolder
+import androidx.preference.SeekBarPreference
+import com.android.launcher3.R
+
+class CustomSeekBarPreference(context: Context, attrs: AttributeSet? = null) : SeekBarPreference(context, attrs), Preference.OnPreferenceChangeListener {
+
+ private val minValue: Int
+ private val maxValue: Int
+
+ init {
+ context.obtainStyledAttributes(attrs, R.styleable.CustomSeekBarPreference).apply {
+ minValue = this.getInt(R.styleable.CustomSeekBarPreference_minValue, 10)
+ maxValue = this.getInt(R.styleable.CustomSeekBarPreference_maxValue, 100)
+ recycle()
+ }
+ }
+
+ override fun onBindViewHolder(view: PreferenceViewHolder?) {
+ super.onBindViewHolder(view)
+ onPreferenceChangeListener = this
+ Log.i(null, "$minValue")
+ }
+
+ override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean {
+ TODO("Not yet implemented")
+ }
+
+}
\ No newline at end of file