Skip to content

Latest commit

 

History

History
245 lines (168 loc) · 11.1 KB

README_en.md

File metadata and controls

245 lines (168 loc) · 11.1 KB

eSearch

( 中文 | English )

LOGO

license 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

OCR Service

Local OCR is supported by the model from PaddleOCR, and it works out of the box.

The local OCR service is enabled by default. If you want to use online OCR, currently it provides support for Baidu online OCR. You need to obtain an API KEY and Secret KEY according to the tutorial. As of January 2022, Baidu OCR can still be obtained for free. Enter the obtained API KEY and Secret KEY, as well as the corresponding OCR service URL in the software settings, and uncheck the offline OCR option to use online OCR.

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).

CLI

eSearch supports cli, allowing for simple screenshot operations through command line.

esearch (if not found, try e-search)
	-a # Automatic recognition
	-c # Screenshot search
	-s # Select and search
	-b # Clipboard search
	-q # Quick screenshot

It is not recommended to use automatic or selection search in the terminal, as eSearch will execute Ctrl+C</kbd, which can terminate the terminal program.

Features

The checked features are the latest features in the development process, but may not yet be released in the latest version.

  • Screenshot
    • Select and crop, shortcut key adjustment
    • Input arithmetic expressions in the select and crop size bar to adjust
    • Color picker/magnifier
    • Pen (freehand drawing)
    • Geometric shapes (support adjustable border fill)
    • Image filters (supports local mosaic blur and color adjustment)
    • Customize the operation after releasing the select box (such as automatic OCR after selection)
    • Quickly capture full screen to clipboard or custom directory
    • Window and control selection (using OpenCV edge recognition)
    • Long screenshot (i.e. scrolling screenshot)
    • Multiple screens (screenshot separately, but currently does not support cross-screen screenshots)
  • Screen recording
    • Record full screen/custom size
    • Key prompts
    • Cursor position prompt
    • Audio recording
    • Record camera
    • Custom bitrate
    • Can be cropped later
    • Formats such as gif, webm, mp4
    • Virtual background
  • Save (optional save as SVG editable file)
  • Open in other applications
  • Copy to clipboard
  • Screen pasting
    • Zoom with scroll wheel
    • Restore default size and position
    • Transparency
    • Mouse penetration
  • QR code recognition
  • OCR recognition
    • Offline OCR (eSearch-OCR)
    • Custom offline OCR model and dictionary
    • Other online OCR
    • Online formula recognition
    • Support for applying for your own key
    • Table recognition (online)
  • Reverse image search
  • Select and search by swiping words or sentences
  • Recognition display
    • Automatic search and translation
    • Search
    • Translation
    • Custom search and translation engines
    • Open in built-in browser
    • Defocus close
    • Open in system browser
    • Link recognition
    • History
    • Automatic line break deletion (for automatic typesetting)
    • Find and replace (supports regular expression matching)
    • Editing in other editors (supports automatic reload)
    • Line number
    • Spell check
  • Wayland desktop
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
  • Spanish
  • Arabic
  • English
  • French
  • 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

Testing

Tested successfully on ArchLinux, KDE plasma, Xorg.

Tested successfully on Windows 10 and Windows 11.

Tested successfully on macOS Catalina.

Q&A

No response when clicking on Gnome

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

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.

A JavaScript error occurred in the main process

This is a main process error, which may be caused by various reasons. The specific error below is the real useful error information, and it is a code error. Therefore, searching "A JavaScript error occurred in the main process" is difficult to solve the problem.

Generally, reinstalling the software and restoring settings can solve 99% of the problems. The best way is to record detailed error information and submit an issue for feedback.

Accumulated errors and their discussions and solutions: #123 #133

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