Code Monkey home page Code Monkey logo

efck's Introduction

EF*CK Chat Keyboard

Build Status EFCK on PyPI Downloads GitHub Sponsors

Emoji Filter / Unicode Chat Keyboard — Official website

Find prebuilt downloads in the Releases sidebar.

Contributing guidelines / hacking

Features

  • Fully cross-platform desktop on-screen emoji keyboard based on Python and PyQt6/5+
  • Keyboard-first navigation
  • Built-in tabs for:
    • Emoji filtering by emoji name and common marks
    • Transforming input text into various segments of Unicode (extendable with own scripts)
    • Searching for meme GIFs with support for drag-and-drop into your chosen window
  • Extensible architecture with support for custom homemade tabs.
  • The selected emoji/filter/gif/... is typed/pasted into the previously active desktop window ...
  • ... and/or saved into clipboard

screenshot

efck's People

Contributors

kernc avatar zhaozuohong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

kernc rochacbruno

efck's Issues

Windows portable version?

I don't wanna install your app or somehow integrate it to OS. And I don't want make any registry traces or system user folders traces.

Just ZIP/7Z-file — unpack it and launch EXE-file.

EFCK Not pasting emojis or putting in clipboard

Describe the bug
EFCK Not pasting emojis or putting in clipboard

To Reproduce
I do not know how to reproduce this, this error has been happening since 22.10 Kinetic Kudu, both in the Linux binary package and the .deb package

Expected behavior
idk

Versions
Specify versions:
OS: Ubuntu Linux Lunar Lobster (23.04)
Qt: I think 6
EFCK: This one

Additional context, screenshots
After clicking an emoji:

dolosarafat@dolosarafat:~$ /home/dolosarafat/.local/share/applications/efck/efck-chat-keyboard
ydotool: notice: ydotoold backend unavailable (may have latency+delay issues)
terminate called after throwing an instance of 'std::runtime_error'
  what():  failed to open uinput device
2677	ERROR   	efck.output    	No command applies. Please see above for additional warnings.
dolosarafat@dolosarafat:~$ 

Some questions and feature ideas

Fantastic, more features then i knew i wanted- got it for emojis and theres so much more...

Question: is there a way to keep the window open or minimize/maximize? The app start a tad slower then i often need in a pinch, theres not many aliases (finding an emoji by similar words) and many new emojis i wouldnt even knew how to find but scrolling... on selecting an emoji to apply the window auto-closes- and after that is another slow startup and the list back at the top

And if not possible those are my main suggestions:
-options for not closing, always on top
-being able to minimize to taskbar

Option to hide the main window title to make the app safe for work

Is your feature request related to a problem? Please describe.
This piece of software is great, thank you for that! I really like it over Windows 11 default emoji picker.
However, the main window has the nice title "EF*CK" … which may be not "safe to work" 😉

Describe the solution you'd like
An option to hide or rename the title to something nicer

Override clipboard command (on KDE/Wayland)

I really this app, this is the best option I have found for emoji picker on KDE, way better yhan the KDE integrated emoji picker.

However it is difficult to make it work on wayland, because wtype is not supported with some compositors and also I dont want to run ydotool as a service.

So my use case is simple:

  • I map Meta+. to efck
  • Once I select something it uses "wtype" (not really) to paste it to my clipboard
  • I hit ctrl+v

1 Fixing wtype compositor problem

Install CopyQ, it works on wayland and also X, and is good fit any DE.
On my Arch I dis with sudo pacman -S copyq

Copyq has a GUI interface, but we are only interested in the CLI it allows to add things to clipboard

As efck expects wtype and there is no way YET to customize the clipboard manager, we need to use a workaround

Create a file called wtype on your local bin ~/.local/bin/ or ~/bin

#!/usr/bin/env sh
copyq copy $1

chmod +x on it.

And that is it!

Map some keybinding to efck and it will call your script to add emoji selection to clipboard.

RFC

Make it possible to customize the clipboard command, so I can pass ["copyq", "copy"]

Btw: Thanks for this great tool!

No direct pasting into last active application on Windows 11

Describe the bug
On Windows, when clicking on an emoji, it should be inserted into the last active window / input field bevor opening efck - but it doesn't.

To Reproduce
Steps to reproduce the behavior:

  1. Open notepad (or any other application / input line)
  2. Click strg+alt+.
  3. click on an emoji in efck
  4. efck closes, the focus returns to the previously active windows but no emoji is inserted

Expected behavior
The clicked emoji should be inserted in the last active window / input field.

Versions
Specify versions:
OS: Windows 11 Pro, 10.0.22631 Build 22631
Qt:
EFCK: 6.1.7601.17514

When activating "Force clipboard" the selected emoji is placed into the clipboard. But direct pasting would be much nicer...

Nightly builds DEB crashes

Describe the bug
Nightly builds DEB crashes on Linux:

$ efck-chat-keyboard
Traceback (most recent call last):
  File "/usr/bin/efck-chat-keyboard", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 568, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pynput' distribution was not found and is required by efck

To Reproduce
Steps to reproduce the behavior:

  1. Install DEB from Actions: https://github.com/efck-chat-keyboard/efck/actions/runs/3791186441#artifacts
  2. Try to launch it

Expected behavior
App should launch as expected.

Versions
Specify versions:
OS: Linux (Debian 11)
Qt: 5.15.2
EFCK: efck-chat-keyboard_0.1.dev1+g83ce525-1_all.deb

Additional context, screenshots
Add any other context about the problem here.
If applicable, add screenshots to help explain your problem.

Do not close the software, but keep it in the background for quicker display

Is your feature request related to a problem? Please describe.
Currently, it takes 2~3 seconds to pull up EFCK keyboard from shortcut.
The Windows Emoji (Win+.) is almost instantaneous.

Describe the solution you'd like
Keep EFCK waiting in the background (in the systray?), so it is shown >1 sec after typing the keyboard shortcut.

Sorry for my flood of requests, but I really like this software :)

Turning OFF 'person' does not hide 'person' emoji variants

Describe the bug
Disabling person does not hide person emoji variants

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Options > Gender'
  2. Click on man and/or woman to turns ON
  3. Click on person to turns OFF
  4. See error

Expected behavior
Hide person variants if is person is turned OFF, while man and/or woman is turned ON.

Versions
Specify versions:
OS: Linux (Debian 11)
Qt: 5.15.2
EFCK: 1.0

Additional context, screenshots

Screenshot_2023-01-02_07-57-30
Screenshot_2023-01-02_07-58-15

Close window when focus is lost

Is your feature request related to a problem? Please describe.
If I open the EFCK window with a keyboard shortcut, it stays there.

Describe the solution you'd like
It would be great to have a (configurable?) timeout, so after X seconds EFCK close automatically.

How to install binary package

Question

How do I install the binary package?

I am new to ubuntu and the .deb package does not support darkmode but the binary package does, how to install it?

Drag and drop support on all tabs

Implement drag and drop action for all app tabs.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Emoji or Filters tab
  2. Click and drag out an emoji/text, as the user tried/expected in this video: https://youtu.be/Npu6Ouf4FBs?t=2153

Expected behavior
Expect the item to "obey" drag and drop, like GIFs do.

Versions
EFCK: 1.0

Darkmode?

Is your feature request related to a problem? Please describe.
I don't like my eyes hurting

Describe the solution you'd like
I would like a dark mode

Additional context
Thank you very much <3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.