Skip to content

siamansir/gifboard

 
 

Repository files navigation

GifBoard - GIF Search Keyboard

GifBoard is an Android Input Method Editor (IME) built for finding and sharing GIFs. It is a specialized companion tool designed to work alongside your primary text keyboard.

Important

GIF-Only Input: GifBoard is designed exclusively for GIF input. It is not a replacement for a text keyboard but a specialized input method for GIF search and insertion. You will need to switch between it and your primary keyboard dynamically.

Download Latest Release

Features

  • Discovery & Insertion:

    • Metadata & Embeds: Uses IME APIs to provide metadata for GIF embeds in compatible apps (e.g., Discord, Slack).
    • Native Image Support: Inserts GIF files into apps that support direct image commits (e.g., WhatsApp, Telegram, Google Messages).
    • Automatic Fallback: Option to insert a direct URL if the target app does not support rich content.
    • Recents: Shows recent queries and sent GIFs for quick access.
  • System Integration:

    • Material You Design: Updates its interface colors based on the Android system's dynamic color palette (Android 12+).
    • Configurable Layout: Supports a 1 to 4 column grid for search results with optional high-quality previews.
  • Input & Control:

    • Adjustable Haptics: Vibration feedback with Light, Medium, and Strong strength settings.
    • Configurable SafeSearch: Provides Strict, Moderate, and Off filtering levels.

How to Use

Since GifBoard is only for GIF searching, you'll want to switch between it and your primary keyboard (like Gboard / Swiftkey / Florisboard) dynamically.

1. Enable GifBoard

  1. Open your device Settings.
  2. Go to System > Languages & input > On-screen keyboard.
  3. Tap Manage on-screen keyboards and toggle GifBoard to On.
  4. Confirm any security prompts (this is a standard Android warning for all third-party keyboards).

2. Switch Keyboards While Typing

  1. Open any app and tap a text field to bring up your current keyboard.
  2. From GifBoard: Tap the Exit button (➡️) in the top-right corner of the search bar to switch back to your previous keyboard.
  3. From other keyboards, look for the Switching Icon (varies by device and Android version):
    • Globe icon (🌐): Often found on the keyboard next to the spacebar.
    • Keyboard icon (⌨️): Usually in the navigation bar.
    • Long-press Spacebar: Some devices allow you to switch by long-pressing the spacebar.
  4. Select GifBoard from the keyboard picker to use GIFs, then use the exit button to return to typing.

Screenshots

Installation

Download

Download the latest APK from the Releases page and install it on your Android device.

Build from Source

  1. Clone the repository:
    git clone https://github.com/gifboard/gifboard.git
  2. Open the project in Android Studio.
  3. Build and run the app on your device or emulator.

Alternatively, use Gradle:

./gradlew assembleDebug

Release Build

To build a signed release APK, you need to provide the signing properties via Gradle project properties.

  1. Properties required:

    • RELEASE_STORE_FILE: Path to your keystore file.
    • RELEASE_STORE_PASSWORD: Keystore password.
    • RELEASE_KEY_ALIAS: Key alias.
    • RELEASE_KEY_PASSWORD: Key password.
  2. How to specify them:

    Option A: Command Line

    ./gradlew assembleRelease \
      -PRELEASE_STORE_FILE=/path/to/release.jks \
      -PRELEASE_STORE_PASSWORD=your_password \
      -PRELEASE_KEY_ALIAS=your_alias \
      -PRELEASE_KEY_PASSWORD=your_password

    Option B: gradle.properties (Private) Add these to your local ~/.gradle/gradle.properties to avoid committing them to version control:

    RELEASE_STORE_FILE=/path/to/release.jks
    RELEASE_STORE_PASSWORD=your_password
    RELEASE_KEY_ALIAS=your_alias
    RELEASE_KEY_PASSWORD=your_password

Generating a Release Key

If you do not have a release keystore, you can generate one using the keytool command:

keytool -genkey -v -keystore my-release-key.keystore -alias gifime -keyalg RSA -keysize 2048 -validity 10000

Follow the prompts to enter your keystore and key passwords, as well as your organizational details. Once generated, move the file to a secure location and update your gradle.properties as described above.

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

A specialized GIF keyboard for Android.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Kotlin 97.6%
  • Shell 2.1%
  • Makefile 0.3%