Skip to content

Latest commit

 

History

History
247 lines (172 loc) · 10.8 KB

README_en.md

File metadata and controls

247 lines (172 loc) · 10.8 KB

eSearch

(中文 | English)

LOGO

license release-date release aur aur1

Introduction

eSearch is a :electron: rewrite of information-portal (with a bitllion features added by the way)

The main idea is to implement Smartisan bigbang or Xiaomi portal on Linux (it works on win and mac too) like Screen Search and of course a handy Screenshot Software.

After several version iterations, eSearch has become more and more functional

That is to have Screenshot+OCR+Search+Translate+Paste Image +Search by Image+Screen Recorder

Screenshot screen

The font is FiraCode, the font can be set in the settings

Main screen for text recognition

Download and install

Go to the website eSearch to download

Or open the releases tab on the right, select the package that matches your system and download and install it

Quick download link in China: Releases - xushengfeng/eSearch - fastgit

ArchLinux can be found at AUR to install e-search or e-search-git.

winget winget install esearch

OCR Services

Local OCR is supported by PaddleOCR's model.

The local OCR service is enabled by default, but if you wish to use the online OCR, Baidu Online OCR is currently available and requires a tutorial to obtain the API KEY and Secret KEY, which is still available for free as of January 2022. Fill in the API KEY and Secret KEY and the corresponding URL of your chosen text recognition service into the software settings and uncheck the offline OCR box to use the online OCR.

Run & compile the source code

Compiling requires python and C++, for Windows you need python and visual studio (to install C++)

git clone https://github.com/xushengfeng/eSearch.git
cd eSearch
npm install
# Run
npm run start
# debug
npm run dev
# make
npm run dist
# The installation package and unzipped directory will be generated in the build directory

Launch

Open eSearch in your launcher and it will appear in the tray. Gnome users need to install the appindicator plugin

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

cli

eSearch supports cli, and you can simply take screenshots from the command line.

esearch (if you can not find it, try e-search)
	-a # auto-search
	-c # screen search
	-s # select search
	-b # clipboard search
	-q # Quick screenshot

It is not recommended to do an automatic or selected search in the terminal, otherwise eSearch will perform Ctrl+C, which will cause the terminal program to terminate

Functions

Features that have been ticked are the latest in the development process but may not have been released in the latest version

  • Screenshot
    • Frame crop
    • Resizable frame position (arrow keys or WASD supported)
    • Frame size field can be adjusted by entering a quadratic formula
    • Colour picker
    • Magnifying glass
    • Brush (freehand brush)
    • Geometric shapes (border fill support adjustment)
    • Advanced palette settings (using the Fabric.js api)
    • Image filters (local mosaic blur and colour adjustment supported)
    • Customize what happens when the frame is released
    • Quick full screen capture to clipboard or custom directory
    • Screenshot history
    • Window and control selection (using OpenCV edge recognition)
    • Long screen capture
    • Multi-screen
  • Record screen
    • Recording full screen
    • Customize size
    • Key prompt
    • Cursor Location Tips
    • Recorder bar
    • Stream Write
    • Recording audio
    • Recording camera
    • Custom Bitrate
  • Save (optionally as SVG editable file)
  • Open in other applications
  • Copy to clipboard
  • Pin to screen
    • Scroll wheel zoom
    • Restore default size position
    • Transparency
    • Mouse through
  • QR code recognition
  • OCR recognition
    • Offline OCR (eSearch-OCR
    • Custom offline OCR models and dictionaries
    • Other online OCR
    • Online formula recognition
    • Support for applying your own secret key
    • Form identification
  • Map search by map
  • Pallets
  • Search by word and phrase
  • Recognition display
    • Automatic search for translations
    • Search
    • Translation
    • Custom search translation engine
    • Custom search translation engine (POST mode, Api available)
    • Open in the software's own browser
    • Follow off, Out of focus off
    • Open in system browser
    • Link recognition
    • History
    • Automatic line feed removal (for automatic typesetting)
    • Find and Replace (supports regular matching)
    • Other editor editing (for automatic reloading)
    • Line numbering
    • Spell check
  • Wayland Desktop

plug-in

simple mini plug-ins

  • hide the mouse follow bar (color picker and coordinates).
  • hide toolbar buttons (you can change them yourself)
1.mp4

Screenshot, free resizing of frames (video approx. 2.6MB)

3.mp4

colour picker (video approx. 1MB)

2.mp4

Ding on screen, transparency adjustment, homing and mouse operation (video approx. 1.8MB)

3

Drawing screen

4.mp4

Main screen search and other application editing (video approx. 1.6MB)

3

main interface find and replace (regular support)

Internationalization

Most buttons use icons, reducing unnecessary translations

  • English
  • Arabic
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Esperanto
  • French
  • Russian
  • Spanish

Testing

Tested under ArchLinux, KDE plasma, Xorg

Tested on Windows 10 and Windows 11

Tested on macOS Catalina

Qantia.

Why choose electron.

  • Cross-platform needs. Originally, I wanted to experience the excellent screenshot tools under Windows on Linux, and Linux monopoly is not good, so I chose cross-platform.
  • qt relies on caterpillar, so the cost of learning is too high. The flutter desktop version is not very mature. I am better at js development.
  • Screenshot depends on the local system, which cannot be done by browsers at present.
  • in the end, there are only js cross-platform solutions. I chose electron, which is more mature and most widely used.

tauri also supports cross-platform development and uses js development. Will it be converted to tauri development?

  • I have such a plan, but I am still very excited. However, the migration of 2000 lines of code from the main process to rust is a bit laborious, so it will not be migrated any time soon.

A JavaScript error occurred in the main process

This is an error in the main process, which can be caused by a variety of reasons, and the really useful error message is the following specific error, which is a code error. Therefore, it is difficult to solve the problem by directly searching for "A JavaScript error occurred in the main process".

Generally speaking, reinstalling the software and restoring the settings will solve 99% of the problems. The best way is to record the detailed error message and submit an issue E2%80%A6%E2%80%A6%E5%AD%98%E5%9C%A8%E2%80%A6%E2%80%A6%E9%94%99%E8%AF%AF) for feedback.

Accumulated errors and their discussion, solutions: #123 #133

After updating the version, there is an error that was not there before

You can try to restore the default settings in Settings - Advanced - Advanced Settings.

If this does not solve the problem, please submit an issue

Contribution

Please see contribution Guide

Development reasons

I've been using this great screenshot software for Windows: Snipaste - Snip & Paste, but I've switched to Linux and Snipaste is not supported, so I've chosen Flameshot, which unfortunately doesn't have an intuitive colour picker.

Another incentive for me to develop eSearch was that I enjoyed using Smartisan bigbang or Xiaomi Portal on my phone, but I couldn't find a similar replacement on my computer.

So I simply developed my own "screenshot + OCR + search + mapping" software. At first I developed Information-portal using python+pyqt, but since I'm not familiar with pyqt, I switched to :electron: and developed this software. 😄

License

GPL-3.0 © xushengfeng