diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/widgets/manage/ManageWidgetsActivity.kt b/app/src/main/java/de/jrpie/android/launcher/ui/widgets/manage/ManageWidgetsActivity.kt
index 38bbb84..953fc28 100644
--- a/app/src/main/java/de/jrpie/android/launcher/ui/widgets/manage/ManageWidgetsActivity.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/ui/widgets/manage/ManageWidgetsActivity.kt
@@ -147,17 +147,13 @@ class ManageWidgetsActivity : UIObject, Activity() {
private fun createWidget(data: Intent) {
Log.i("Launcher", "creating widget")
val appWidgetManager = (application as Application).appWidgetManager
- val appWidgetHost = (application as Application).appWidgetHost
val appWidgetId = data.extras?.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID) ?: return
+ val provider = appWidgetManager.getAppWidgetInfo(appWidgetId)
+
val display = windowManager.defaultDisplay
val widgetInfo = appWidgetManager.getAppWidgetInfo(appWidgetId)
- if (widgetInfo == null) {
- Log.w("Launcher", "can't access widget")
- appWidgetHost.deleteAppWidgetId(appWidgetId)
- return
- }
val position = WidgetPosition.findFreeSpace(
WidgetPanel.byId(panelId),
@@ -165,7 +161,7 @@ class ManageWidgetsActivity : UIObject, Activity() {
max(3, (GRID_SIZE * (widgetInfo.minHeight) / display.height.toFloat()).roundToInt())
)
- val widget = AppWidget(appWidgetId, position, panelId, widgetInfo)
+ val widget = AppWidget(appWidgetId, position, panelId, provider)
LauncherPreferences.widgets().widgets(
(LauncherPreferences.widgets().widgets() ?: HashSet()).also {
it.add(widget)
diff --git a/docs/_index.md b/docs/_index.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/actions-and-gestures.md b/docs/actions-and-gestures.md
index a5348a3..f5d831f 100644
--- a/docs/actions-and-gestures.md
+++ b/docs/actions-and-gestures.md
@@ -1,4 +1,4 @@
-# Actions and Gestures
+# Gestures and Actions
µLauncher's central mechanism for accessing important functionality quickly
is to bind actions (e.g. launching an app) to gestures (e.g. swiping up).
diff --git a/docs/alternatives.md b/docs/alternatives.md
deleted file mode 100644
index 4c875f4..0000000
--- a/docs/alternatives.md
+++ /dev/null
@@ -1,3 +0,0 @@
-
-TODO: move the [hedgedoc](https://pad.abstractnonsen.se/foss-launchers) document here.
-
diff --git a/docs/changes-fork.md b/docs/changes-fork.md
index 3abe96a..8efc965 100644
--- a/docs/changes-fork.md
+++ b/docs/changes-fork.md
@@ -1,7 +1,3 @@
-+++
-title = 'Differences to the original Launcher'
-+++
-
# Notable changes compared to Finn's Launcher
µLauncher is a fork of [finnmglas's app Launcher](https://github.com/finnmglas/Launcher).
@@ -55,5 +51,6 @@ The complete list of changes can be viewed [here](https://github.com/jrpie/launc
---
-[original-repo]: https://github.com/finnmglas/Launcher
-[hack-font]: https://sourcefoundry.org/hack/
+\[original-repo\]: [https://github.com/finnmglas/Launcher](https://github.com/finnmglas/Launcher)
+
+\[hack-font\]: [https://sourcefoundry.org/hack/](https://sourcefoundry.org/hack/)
diff --git a/docs/contributing.md b/docs/contributing.md
index 350ba01..8e9de53 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -13,7 +13,7 @@ There are several ways to contribute to this app:
- Open a new pull request.
-See [here](/docs/build) for instructions how to build this project.
+See [build.md](build.md) for instructions how to build this project.
The [CI pipeline](https://github.com/jrpie/Launcher/actions) automatically creates debug builds.
diff --git a/docs/examples/_index.md b/docs/examples/_index.md
deleted file mode 100644
index 0847315..0000000
--- a/docs/examples/_index.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Examples
-This section contains some examples how μLauncher can be tweaked.
diff --git a/docs/examples/termux/index.md b/docs/examples/termux/index.md
deleted file mode 100644
index 7d1f59c..0000000
--- a/docs/examples/termux/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-+++
- title = 'Integration with Termux'
-+++
-
-# Termux
-
-μLauncher has no special support for [Termux](https://termux.dev/).
-However it is possible to run Termux commands from μLauncher by using [Termux:Widget](https://wiki.termux.com/wiki/Termux:Widget) to create a pinned shortcut and bind that to a gesture.
-
-* Install Termux:Widget.
-* Make sure that μLauncher is set as the default home screen.[^1]
-* Put the script you want to run into `~/.shortcuts/`.
-* Run `am start com.termux.widget/com.termux.widget.TermuxCreateShortcutActivity`. This will create a pinned shortcut which is treated like an app by μLauncher, i.e. open μLauncher's activity to create a shortcut.
-
-
-
-
-
-[^1]: Only the default home screen can access shortcuts.
diff --git a/docs/examples/termux/screenshot1.png b/docs/examples/termux/screenshot1.png
deleted file mode 100644
index 684c8bf..0000000
Binary files a/docs/examples/termux/screenshot1.png and /dev/null differ
diff --git a/docs/examples/termux/screenshot2.png b/docs/examples/termux/screenshot2.png
deleted file mode 100644
index 74b6395..0000000
Binary files a/docs/examples/termux/screenshot2.png and /dev/null differ
diff --git a/docs/home.md b/docs/home.md
new file mode 100644
index 0000000..9812e93
--- /dev/null
+++ b/docs/home.md
@@ -0,0 +1,43 @@
+# Welcome to the μLauncher Documentation
+
+## What is μLauncher?
+
+µLauncher is an *minimal* and *distraction-free* Android home screen that lets you launch apps using [swipe gestures and button presses](/actions-and-gestured.md).
+
+This project is a fork of [finnmglas's app Launcher](https://github.com/finnmglas/Launcher). An incomplete list of changes can be found [here](https://github.com/wassupluke/Launcher/blob/master/docs/launcher.md).
+
+## Where can I get μLauncher?
+
+[](https://f-droid.org/packages/de.jrpie.android.launcher/)
+
+[](https://accrescent.app/app/de.jrpie.android.launcher.accrescent)
+
+[](https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/{%22id%22:%22de.jrpie.android.launcher%22,%22url%22:%22https://github.com/jrpie/Launcher%22,%22author%22:%22jrpie%22,%22name%22:%22%c2%b5Launcher%22,%22additionalSettings%22:%22{\%22apkFilterRegEx\%22:\%22release\%22,\%22invertAPKFilter\%22:false,\%22about\%22:\%22%c2%b5Launcher%20is%20a%20minimal%20home%20screen.\%22}%22})
+
+[](https://github.com/jrpie/launcher/releases/latest)
+
+> You can also [get it on Google Play](https://play.google.com/store/apps/details?id=de.jrpie.android.launcher), but this is not recommend.
+
+
+## How can I contribute?
+
+See [docs/contribute](/contribute.md)
+
+## Screenshots
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/settings.md b/docs/settings.md
index 3cbfbec..f033f62 100644
--- a/docs/settings.md
+++ b/docs/settings.md
@@ -1,18 +1,19 @@
-# Settings
+# Launcher Settings
-Tweaks and customizations can be made from within the settings page.
-The settings can be opened by binding the Settings action to a gesture (this is especially useful when configuring μLauncher for the first time) or from the settings icon in the app drawer.[^1]
+Tweaks and customizations can be made from within the Launcher Settings page.
-[^1]: i.e. the 'All Apps', 'Favorite Apps' and 'Private Space' views.
+These settings let you change wallpapers, change colors and fonts, enable monochrome app icons, change the app drawer layout, and much more.
+
+In the following documentation, 'app drawer' will be used to refer to the 'All Apps', 'Favorite Apps' and 'Private Space' views.
## Appearance
-### Choose a wallpaper
+> ### Choose a wallpaper
This triggers Android's mechanism to change the wallpaper using a photos app, file explorer, or native wallpaper setting app.
µLauncher uses the system-wide wallpaper, i.e. this change also affects other launchers.
-### Font (in-app font)
+> ### Font (in-app font)
Set the font used within the app settings. This setting does not affect the date/time home screen font.
@@ -20,17 +21,17 @@ Set the font used within the app settings. This setting does not affect the date
**options:** `Hack`,`System default`,`Sans serif`,`Serif`,`Monospace`,`Serif monospace`
-### Text Shadow
+> ### Text Shadow
**type:** `toggle`
-### Background (app list and setting)
+> ### Background (app list and setting)
**type:** `dropdown`
**type:** `Transparent`,`Dim`,`Blur`,`Solid`
-### Monochrome app icons
+> ### Monochrome app icons
Remove coloring from all app icons. Can help decrease visual stimulus when enabled.
@@ -38,56 +39,49 @@ Remove coloring from all app icons. Can help decrease visual stimulus when enabl
## Date & Time
-These settings effect the clock shown on the home screen (or on widget panels).
-If the clock is removed, the settings are not used.
+> ### Font (home screen)
-### Font (home screen)
-
-Set the home screen font for date and time. This setting does not affect the font of other components.
+Set the home screen font for date and time. This setting does not affect the in-app font.
**type:** `dropdown`
**options:** `Hack`,`System default`,`Sans serif`,`Serif`,`Monospace`,`Serif monospace`
-### Color
+> ### Color [`[bug]`](https://github.com/jrpie/launcher/issues/151)
Set the color for the home screen date and time.
-Accepts an 6 digit RGB or or 8 digit ARGB color code characters.[^2]
-Note that on Android the ARGB color format is used, i.e. the alpha component is specified first.
-This differs from the more common RGBA, which is used in web development.
+Accepts a HEX color code (consisting of a '#' followed by three sets of two alphanumeric (letters and numbers) characters. A fourth set of two alphanumeric characters may be added to set the transparency of the color.
+[Color wheel picker](https://rgbacolorpicker.com/color-wheel-picker)
-[^2]: More precisely, everything that is vaild input for [parseColor](https://developer.android.com/reference/android/graphics/Color#parseColor(java.lang.String)) can be used.
+**type:** `HEX`,`RGBA`
+> ### Use localized date format
-**type:** `ARGB`
-
-### Use localized date format
-
-Adapt the display of dates and times to the specific conventions of a particular locale or region as set by the system. Different locales use different date orders (e.g., MM/DD/YYYY in the US, DD/MM/YYYY in Europe).
+Adapt the display of dates and times to the specific conventions of a particular locale or region. Different locales use different date orders (e.g., MM/DD/YYYY in the US, DD/MM/YYYY in Europe).
**type:** `toggle`
-### Show time
+> ### Show time
Show the current time on the home screen.
**type:** `toggle`
-### Show seconds
+> ### Show seconds
Show the current time down to the second on the home screen.
**type:** `toggle`
-### Show date
+> ### Show date
Show the current date on the home screen.
**type:** `toggle`
-### Flip date and time
+> ### Flip date and time
Place the current time above the current date on the home screen.
@@ -95,7 +89,7 @@ Place the current time above the current date on the home screen.
## Functionality
-### Launch search results
+> ### Launch search results
Launches any app that matches user keyboard input when no other apps match.
@@ -111,37 +105,37 @@ Press space to temporarily disable this feature and allow text entry without pre
**type:** `toggle`
-### Search the web
+> ### Search the web
-Press return while searching the app list to launch a web search.
+Press return/enter while searching the app list to launch a web search.
**type:** `toggle`
-### Start keyboard for search
+> ### Start keyboard for search
Automatically open the keyboard when the app drawer is opened.
**type:** `toggle`
-### Double swipe gestures
+> ### Double swipe gestures
Enable double swipe (two finger) gestures in launcher settings. Does not erase gesture bindings if accidentally turned off.
**type:** `toggle`
-### Edge swipe gestures
+> ### Edge swipe gestures
Enable edge swipe (near edges of screen) gestures in launcher settings. Does not erase gesture bindings if accidentally turned off.
**type:** `toggle`
-### Edge width
+> ### Edge width
Change how large a margin is used for detecting edge gestures. Shows the edge margin preview when using the slider.
**type:** `slider`
-### Choose method for locking the screen
+> ### Choose method for locking the screen
There are two methods to lock the screen and unfortunately both have downsides.
@@ -163,11 +157,11 @@ There are two methods to lock the screen and unfortunately both have downsides.
## Apps
-### Hidden apps
+> ### Hidden apps
Open an app drawer containing only hidden apps.
-### Don't show apps that are bound to a gesture in the app list
+> ### Don't show apps that are bound to a gesture in the app list
Remove certain apps from the app drawer if they are already accessible via a gesture.
@@ -175,21 +169,20 @@ Reduces redundancy and tidies up app drawer.
**type:** `toggle`
-### Hide paused apps
+> ### Hide paused apps
Remove paused apps from the app drawer.
For example an app belonging to the work profile is paused when the work profile is inactive.
**type:** `toggle`
-### Hide private space from app list
+> ### Hide private space from app list
Remove private space from app drawer.
-Private space apps can be accessed using a separate app drawer which can be opened with the Private Space action.
**type:** `toggle`
-### Layout of app list
+> ### Layout of app list
Changes how the apps are displayed when accessing the app drawer.
@@ -202,7 +195,7 @@ Changes how the apps are displayed when accessing the app drawer.
**options:** `Default`,`Text`,`Grid`
-### Reverse the app list
+> ### Reverse the app list
Enable reverse alphabetical sorting of apps in the app drawer.
Useful for keeping apps within easier reach from the keyboard.
@@ -211,21 +204,21 @@ Useful for keeping apps within easier reach from the keyboard.
## Display
-### Rotate screen
+> ### Rotate screen
**type:** `toggle`
-### Keep screen on
+> ### Keep screen on
**type:** `toggle`
-### Hide status bar
+> ### Hide status bar
Remove the top status bar from the home screen.
**type:** `toggle`
-### Hide navigation bar
+> ### Hide navigation bar
Remove the navigation bar from the home screen. Enabling this setting may make it difficult to use the device if gestures are not setup properly.
@@ -233,7 +226,7 @@ Remove the navigation bar from the home screen. Enabling this setting may make i
## Additional Settings
-### App Drawer Long Press on App
+> ### App Drawer Long Press on App
Access additional per-app details and settings. To use, open the app drawer and long press on any app.
diff --git a/docs/widgets.md b/docs/widgets.md
deleted file mode 100644
index ab5e21f..0000000
--- a/docs/widgets.md
+++ /dev/null
@@ -1,27 +0,0 @@
-+++
- title = 'Widgets'
-+++
-
-# Widgets
-
-μLauncher allows to add [app widgets](https://developer.android.com/develop/ui/views/appwidgets/overview) to the home screen and to widget panels.
-
-Widgets can be added, moved, removed and configured in `Settings > Manage Widgets`.
-
-It is configurable whether or not interaction with a widget should be enabled.
-
-* If interaction is enabled, touch events are forwarded to the widget as usual.
-However, μLauncher [gestures](/docs/actions-and-gestures/) can not be executed in areas where such a widget is present.
-
-* If interaction is disabled, the widget does not respond to any touch events.
- This is recommended when using a widget only to display information.
-
-μLauncher's clock behaves similar as an app widget and can be managed in the same way.[^1]
-
-[^1]: However, it is technically not an app widget and cannot be used with other launchers.
-
-# Widget Panels
-
-Widget panels can contain widgets that are not needed on the home screen.
-They can be managed in `Settings > Manage Widget Panels`.
-Widget panels can be opened by using the [Open Widget Panel](/docs/actions-and-gestures/#available-actions) action.