Skip to content

KRTirtho/flemozi

Repository files navigation

Flemozi

A simple✨, fast⚡ and lightweight🪶 emoji picker for desktop operating systems🫶
Available for Linux🐧, Windows🪟 and macOS🍎.

Highlights🚀

  • Not Electron based🙃
  • Configurable Global🪩 shortcut🩳✂️ to open the emoji picker
  • Launches on system startup, runs in the background and can invoked from anywhere👻
  • Supports GIFs📼, stickers🎟️ and ASCII emojis👴 too
  • Copies the selected emoji to the clipboard📋 and automatically closes the picker obviously🤦‍♂️

Installation📦

Linux Windows macOS
AppImage⚙️ exe🪟 DMG💿
Debian🍥/Ubuntu⭕ WinGet🪟🌈
winget install KRTirtho.flemozi
Homebrew🍺 (Soon)
Fedora🎩/OpenSuse🦎 Chocolatey🍫 (Soon)
Tarball
Flatpak📦
flatpak install dev.krtirtho.Flemozi
AUR🌁
yay -S flemozi

Sponsor☕💘

"Buy Me A Coffee"

Screenshots

One Two Three

Contributing🤝

Contributions are always welcome! Please read the contribution guidelines first.

Building from source🛠️

Prerequisites📋

  • Flutter SDK v3.7.0 or higher
  • Rust v1.65.0 or higher

Building🏗️

You'll need your own giphy and tenor api keys. Create a .env file in the root of the project and fill following the .env.example file

$ git clone https://github.com/KRTirtho/flemozi.git
$ cd flemozi
$ flutter pub get
$ flutter config --enable-<linux/windows/macos>-desktop
$ flutter pub run build_runner build --delete-conflicting-outputs
$ flutter build <linux/windows/macos>

Credits🙇

Acknowledgements🙏

Libraries Credit📚

Click to expand! (Reveal those gems💎)
  • cached_network_image - Flutter library to load and cache network images. Can also be used with placeholder and error widgets.
  • collection - Collections and utilities functions and classes related to collections.
  • flutter_hooks - A flutter implementation of React hooks. It adds a new kind of widget with enhanced code reuse.
  • fuzzywuzzy - An implementation of the popular fuzzywuzzy package in Dart, to suit all your fuzzy string matching/searching needs!
  • google_fonts - A Flutter package to use fonts from fonts.google.com. Supports HTTP fetching, caching, and asset bundling.
  • hooks_riverpod - A simple way to access state from anywhere in your application while robust and testable.
  • http - A composable, multi-platform, Future-based API for HTTP requests.
  • riverpod - A simple way to access state from anywhere in your application while robust and testable.
  • window_manager - This plugin allows Flutter desktop apps to resizing and repositioning the window.
  • launch_at_startup - This plugin allows Flutter desktop apps to Auto launch on startup / login.
  • package_info_plus - Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.
  • shared_preferences - Flutter plugin for reading and writing simple key-value pairs. Wraps NSUserDefaults on iOS and SharedPreferences on Android.
  • alfred - A performant, expressjs like web server / rest api framework thats easy to use and has all the bits in one place.
  • system_theme - A plugin to get the current system theme info. Supports Android, Web, Windows, Linux and macOS
  • flutter_svg - An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
  • url_launcher - Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes.
  • fl_query - Asynchronous data caching, refetching & invalidation library for Flutter
  • fl_query_hooks - Elite flutter_hooks compatible library for fl_query, the Asynchronous data caching, refetching & invalidation library for Flutter
  • giphy_api_client - A Giphy API Client for Dart compatible Web, Flutter, and server-side dart
  • flutter_dotenv - Easily configure any flutter application with global variables using a `.env` file.
  • json_annotation - Classes and helper functions that support JSON code generation via the `json_serializable` package.
  • visibility_detector - A widget that detects the visibility of its child and notifies a callback.
  • pasteboard - A flutter plugin which could read image,files from clipboard and write files to clipboard.
  • flutter_cache_manager - Generic cache manager for flutter. Saves web files on the storages of the device and saves the cache info using sqflite.
  • super_clipboard - Comprehensive clipboard access package for Flutter. Supports reading and writing of rich text, images and other formats.
  • path - A string-based path manipulation library. All of the path operations you know and love, with solid support for Windows, POSIX (Linux and Mac OS X), and the web.
  • easy_debounce - An extremely easy-to-use method call debouncer package for Dart/Flutter.
  • uuid - RFC4122 (v1, v4, v5) UUID Generator and Parser for all Dart platforms (Web, VM, Flutter)
  • shimmer - A package provides an easy way to add shimmer effect in Flutter project
  • hive_flutter - Extension for Hive. Makes it easier to use Hive in Flutter apps.
  • auto_size_text - Flutter widget that automatically resizes text to fit perfectly within its bounds.
  • path_provider - Flutter plugin for getting commonly used locations on host platform file systems, such as the temp and app data directories.
  • flutter_lints - Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.
  • melos - A tool for managing Dart & Flutter repositories with multiple packages (monorepo). Supports automated versioning via Conventional Commits. Inspired by JavaScripts Lerna package.
  • json_serializable - Automatically generate code for converting to and from JSON by annotating Dart classes.
  • build_runner - A build system for Dart code generation and modular compilation.
  • flutter_launcher_icons - A package which simplifies the task of updating your Flutter app's launcher icon.
  • html - APIs for parsing and manipulating HTML content outside the browser.
  • pub_api_client - An API Client for Pub to interact with public package information.
  • window_size - Allows resizing and repositioning the window containing Flutter.
  • hotkey_manager - This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).

License📜

This project is licensed under the GPLv3 license.

  Copyright© 2023 Kingkor Roy Tirtho