-
Notifications
You must be signed in to change notification settings - Fork 2
clipboard SETUP
github-actions[bot] edited this page Jun 2, 2026
·
1 revision
io.github.mobilebytelabs:kmp-clipboard:2.1.0
cmp-clipboard is zero-configuration — no init, no DI module, no nav destinations.
3 steps: add dependency, import, use.
[versions]
kmp-clipboard = "2.1.0"
[libraries]
kmp-clipboard = { module = "io.github.mobilebytelabs:kmp-clipboard", version.ref = "kmp-clipboard" }commonMain.dependencies {
implementation(libs.kmp.clipboard)
}import com.mobilebytelabs.kmptoolkit.clipboard.copyToClipboard
import com.mobilebytelabs.kmptoolkit.clipboard.getFromClipboard
import com.mobilebytelabs.kmptoolkit.clipboard.hasClipboardText
import com.mobilebytelabs.kmptoolkit.clipboard.clearClipboard
// Copy
val ok = copyToClipboard("Text to copy")
// ok = true if initiated successfully
// Paste
val text = getFromClipboard() // null if empty or JS/Wasm
// Paste button state
pasteButton.isEnabled = hasClipboardText()
// Clear sensitive data
clearClipboard()Use ClipboardObserver to detect when the user copies content in another app:
import com.mobilebytelabs.kmptoolkit.clipboard.createClipboardObserver
class MyViewModel : ViewModel() {
private val clipboardObserver = createClipboardObserver()
val clipboardContent = clipboardObserver.clipboardContent // StateFlow<String?>
init {
clipboardObserver.startObserving()
}
override fun onCleared() {
clipboardObserver.stopObserving()
super.onCleared()
}
}import com.mobilebytelabs.kmptoolkit.clipboard.rememberClipboardObserver
@Composable
fun PasteFromClipboardExample() {
val observer = rememberClipboardObserver()
val content by observer.clipboardContent.collectAsState()
if (content != null) {
Button(onClick = { /* use content */ }) {
Text("Paste: $content")
}
}
}| Platform | Copy | Read | Observer |
|---|---|---|---|
| Android / iOS / macOS / JVM | ✅ | ✅ | ✅ |
| JS / Wasm JS | ✅ write-only | ❌ | Limited |
| Linux / Windows | ✅ | ✅ | Limited (polling) |
| WASI | ❌ | ❌ | ❌ |
/sync-clipboard # Verify Gradle dependency (only gate needed)
/sync-clipboard --check # Dry run — show status, no writes
See CLAUDE_AI_SETUP.md for full docs.
** Partials**
App Intents
Bubble
Clipboard
Cookbook
- Clipboard Copy Text
- Clipboard Read Text
- Consumer Anon Key Setup
- Crashlytics Attribution Per Library
- Ifonline Block
- Index
- Index
- Index
- Index
- Open Url Compose
- Pick And Share Image
- React To Offline
- Register Firebase Hooks
- Share Pdf Android
- Share Text
- Wifi Vs Cellular
Firebase Analytics
In App Update
Intent Launcher
Inter App Comms
Modules
- Cmp App Intents
- Cmp App Intents Compose
- Cmp Bubble
- Cmp Clipboard
- Cmp Deep Link
- Cmp Firebase Analytics
- Cmp In App Update
- Cmp Intent Launcher
- Cmp Intent Launcher Compose
- Cmp Library
- Cmp Network Monitor
- Cmp Network Monitor Compose
- Cmp Observe
- Cmp Observe Koin
- Cmp Open Url
- Cmp Pdf Generator
- Cmp Product Tickets
- Cmp Remote Config
- Cmp Share
- Cmp Share Compose
- Cmp Toast
Network Monitor
Open Url
Pdf Generator
Remote Config
Share
Toast
User Tickets
General