Skip to content

Latest commit

 

History

History
261 lines (146 loc) · 11.1 KB

README_en.md

File metadata and controls

261 lines (146 loc) · 11.1 KB

eSearch

( 中文 | English )

LOGO FOSSA Status license platform commit-activity release-date release aur aur1

Introduction

eSearch is a :electron: rewrite of Information-portal with many additional features.

The main purpose is to implement a screen search function similar to Smartisan Big Bang or Xiaomi Portal on Linux (also available on Windows and macOS), and it is also a convenient screenshot software.

After several iterations, eSearch's functionality has become more and more enriched.

Including screenshot+OCR+search+translation+pasting+reverse image search+screen recording.

Screenshot interface

The font used is FiraCode, and the font can be set in the settings.

Text recognition main page

Download and Installation

Download from the website eSearch

or open the releases tab on the right, select the package that suits your system, and download and install it.

For users in China, you can use GitHub Proxy to accelerate the download.

For ArchLinux, you can search and install e-search or e-search-git from the AUR.

Using winget: winget install esearch

Launch

Open eSearch from your launcher, and it will appear in the system tray.

The default shortcut key is Alt+C (you can also set the shortcut key in the settings).

Features

For more introduction, see Documentation

Screenshot

Select and crop, color picker, freehand brush, geometry, mosaic, blur

In addition to adjusting with arrow keys, selection also supports inputting arithmetic expressions for adjustment

Supports executing operations immediately after custom selection, such as automatically performing OCR after selection

Also supports scrolling screenshots, can stitch together horizontally, vertically, or in any direction

Screenshot Beautification

You can set backgrounds (gradient, image), rounded corners, shadows for screenshots.

Change image resolution for export.

Erase objects and repair images.

Screen Recording

Record screen, custom size, camera

Can indicate cursor position and keyboard keystrokes

Can set a virtual background

Screen Overlay

Scroll zooming, opacity, auto repositioning, mouse transparency

Supports magnifying images without changing window size to prevent obscuring other content

Can set filters and transformations (such as mirroring) through CSS

OCR (Optical Character Recognition)

Out-of-the-box offline OCR (eSearch-OCR), just select the text and press Enter

Offline OCR supports paragraph recognition and can use punctuation-based segmentation algorithms

Also supports online OCR from Baidu and Youdao

Can edit text later, select text on images, and sync selection to the editing area for easy proofing

Supports multiple languages (extra download required in settings)

Image Search

Image search engines from Google, Baidu, and Yandex

Can customize multi-modal large model interfaces to interact with AI using images

Translation

Can call translation after OCR, supports word selection translation

Supports free translation engines like Google Translate, and can also set APIs for other translation engines such as DeepL and Baidu, can use AI translations like ChatGPT, and even customize local AI translations

Can translate with multiple engines simultaneously, choosing the best

Can save translation results to local files or online to memory software like Anki

Screen Translation

Generates an overlay window and replaces image text with translated text

Can set timed translation, suitable for videos, games, etc.

Others

QR code recognition

Show

1.mp4

Screenshot, freely adjust the selection box size (video about 2.6MB)

3.mp4

Color picker (video about 1MB)

2.mp4

Ding on the screen, opacity adjustment, reset, and mouse operation (video about 1.8MB)

3

Drawing interface

4.mp4

Main page search and editing in other applications (video about 1.6MB)

3

Main page find and replace (supports regular expression)

Internationalization

Most buttons use icons, reducing unnecessary translation.

+Add new language

  • Simplified Chinese
  • Traditional Chinese
  • Esperanto(Esperanto)
  • Spanish(Español)
  • Arabic(عربي)
  • English
  • French(Français)
  • Russian(Русский)

Running & Compiling from Source Code

git clone https://github.com/xushengfeng/eSearch.git
cd eSearch
npm install
# Compile
npm run dist
# The install package and unpacked directory will be created in the build directory
# Run
npm run start
# Debug
npm run dev

Specific technical instructions

Testing

Tested successfully on ArchLinux, KDE plasma, Xorg.

Tested successfully on Windows 10 and Windows 11.

Tested successfully on macOS Catalina.

Q&A

Win7 and Win8 are no longer supported

Electron officially no longer supports Win7 and Win8, so eSearch no longer supports it either.

But you can compile it yourself, see Documentation, some features may not be available.

Download the dependency library

Most Windows will prompt you to download the dependent library after installation. This is because the screenshot library is needed. Clicking Download will automatically open Microsoft's official website for download. It may need to be restarted after installation is complete.

No response when clicking on Gnome

Gnome users need to install the appindicator plugin to use the system tray.

mac alert file is corrupt

Mac has put some restrictions on dmg downloads from the Internet.

You can search for keywords such as "mac" and "file corruption" on the Internet. Different versions of the system apply different methods.

Why choose electron

  • The need for cross-platform support. I wanted to experience the excellent screenshot tools on Windows on Linux, and it's not good for Linux to be left out, so I chose cross-platform support.
  • Qt relies on c++, and the learning cost is too high. Flutter for desktop is not yet mature. I am more proficient in js development.
  • Screenshot relies on the local system, which is something current browsers cannot do.
  • Ultimately, there is only one cross-platform solution similar to JavaScript. I chose the more mature and widely used electron.

In the case that other platforms do not have a separate package as a library like Arch Linux, the software occupies a lot of storage space, but the increase in dozens of js scripts is not much, but the functions brought are significantly felt, so I will try my best to give full play to its potential to achieve a more beautiful UI and richer features.

Why is the installation package so big

In addition to the use of Electron, there are also onnx runtime libraries (used to run AI models), offline Optical Character Recognition models, screen recording portrait recognition models, object removal models for advanced editing, FFmpeg (used for screen recording format conversion, Linux has libraries so it is not included), etc.

After updating, new errors appear that didn't exist before

This is generally due to the incompatibility of configurations in different versions. You can try to restore the default settings in Settings-Advanced-Advanced settings.

If the problem is not solved, please submit an issue.

Contributions

Please refer to the contributing guidelines

Development Reason

When I was using Windows, I always used the handy screenshot software: Snipaste - Screenshot + Pasting. But when I switched to Linux, Snipaste was not supported (in 2019, it is now supported), so I chose Flameshot, but unfortunately it does not have an intuitive color picker.

Another reason I developed eSearch is that I enjoy using the "Immediate Information Search" tool on my phone such as Smartisan Big Bang or Xiaomi Portal, but I couldn't find a similar alternative on my computer.

So I simply developed my own "screenshot+OCR+search+pasting" software. I initially developed it with python+pyqt and created Information-portal, but because I am not familiar with pyqt, I switched to :electron: and developed this software. 😄

Appreciation and support

Spiritual support: Light up the star🌟 in the upper right corner

Material support: Personal homepage Appreciation

Actions: Feedback bugs, provide new function ideas,Participate in development

License

GPL-3.0 © xushengfeng

FOSSA Status