diff --git a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
index a95b83fc7..4dffc6ff6 100644
--- a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
@@ -78,8 +78,10 @@ class MainFragment : Fragment() {
// Auxio's layout completely breaks down when it's window is resized too small,
// but for some insane reason google decided to cripple the window APIs one could use
// to limit it's size. So, we just have our own special layout that is shown whenever
- // the screen is too small because nothing works the way it should and everything
- // is broken.
+ // the screen is too small because of course we have to.
+ // Another fun fact: smallestScreenWidthDp is completely bugged and uses the total
+ // screen size, even when the window is smaller. This basically borks split screen
+ // even more than it already does. Fun!
if (requireActivity().isInMultiWindowMode) {
val config = resources.configuration
diff --git a/app/src/main/java/org/oxycblt/auxio/home/AdaptiveFloatingActionButton.kt b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveFloatingActionButton.kt
new file mode 100644
index 000000000..90ffba753
--- /dev/null
+++ b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveFloatingActionButton.kt
@@ -0,0 +1,24 @@
+package org.oxycblt.auxio.home
+
+import android.content.Context
+import android.util.AttributeSet
+import com.google.android.material.floatingactionbutton.FloatingActionButton
+import com.google.android.material.R as MaterialR
+
+class AdaptiveFloatingActionButton @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = MaterialR.style.Widget_Material3_FloatingActionButton_Primary
+) : FloatingActionButton(context, attrs, defStyleAttr) {
+
+ init {
+ size = SIZE_NORMAL
+
+ if (resources.configuration.smallestScreenWidthDp >= 640) {
+ customSize = resources.getDimensionPixelSize(MaterialR.dimen.m3_large_fab_size)
+ setMaxImageSize(
+ resources.getDimensionPixelSize(MaterialR.dimen.m3_large_fab_max_image_size)
+ )
+ }
+ }
+}
diff --git a/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt
index f0e966629..1faa95a88 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt
@@ -18,7 +18,7 @@ class AdaptiveTabStrategy(
tab.setIcon(tabMode.icon)
.setContentDescription(tabMode.string)
- width < 600 -> tab.setText(tabMode.string)
+ width < 640 -> tab.setText(tabMode.string)
else ->
tab.setIcon(tabMode.icon)
diff --git a/app/src/main/res/layout-sw640dp/fragment_home_list.xml b/app/src/main/res/layout-sw640dp/fragment_home_list.xml
new file mode 100644
index 000000000..d5b83ad83
--- /dev/null
+++ b/app/src/main/res/layout-sw640dp/fragment_home_list.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-sw600dp/view_playback_bar.xml b/app/src/main/res/layout-sw640dp/view_playback_bar.xml
similarity index 100%
rename from app/src/main/res/layout-sw600dp/view_playback_bar.xml
rename to app/src/main/res/layout-sw640dp/view_playback_bar.xml
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 2a829d4a6..285774204 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -49,10 +49,11 @@
app:layout_anchor="@id/home_pager"
app:layout_anchorGravity="bottom|end">
-
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 86f2ace36..2344c2bd7 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -32,6 +32,9 @@
6dp
12dp
+ 88dp
+ 128dp
+
176dp
110dp
@dimen/widget_width_min
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2769dc4f3..4fcf5ac44 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -107,7 +107,7 @@
Auxio needs permission to read your music library
No app can open this link
This directory is not supported
- Auxio does not support this screen size
+ Auxio does not support this window size
Search your library…