Skip to content

WareAoba/Paraglide

Repository files navigation

LogoDarkReady
LogoLightReady

Paraglide - Paragraph Processor

A program designed to automate the process of sequentially copying each paragraph from a loaded .TXT file and moving to the next paragraph upon detecting Ctrl[Cmd] + V input.

Overview

Welcome Comparison Paste AltArrow Sidebar

Key Features

  1. Load .TXT files and split paragraphs, displaying previous/current/next paragraphs.
  2. Monitor keyboard input and perform actions based on key combinations:
  • Paste (Ctrl + V, Cmd + V): Copy the next paragraph.
  • Alt (Opt) + Arrow Keys (←→): Navigate to the previous/next paragraph.
  • Alt (Opt) + Arrow Keys (↑↓): Pause/Resume the program.
  1. Display the current paragraph in progress with an overlay window and allow navigation between paragraphs.
  2. Save logs to restore the last position when reloading a previously processed file.
  3. Quickly load previously worked files within the app.

Purpose of Development

Inspired by SB2Tool, this program addresses one major limitation of the original tool: it was Windows-exclusive.

Despite not being a professional coder, I enthusiastically leveraged GPT to create this program. Written in JavaScript (NPM, React, Electron), it works across platforms, making it more versatile than the Windows-only predecessor.

Although the beta version is still under development, the current pace suggests that a release might be possible within this month.

Project Overview

📦 Paraglide
├── 📂 public                         # Static Resources
│   ├── 📂 icons                      # App Icons
│   │   ├── 📂 mac                    # macOS Icons
│   │   └── 📂 win                    # Windows Icons  
│   ├── 📜 index.html                 # Main HTML
│   ├── 📜 manifest.json              # App Manifest
│   └── 📂 UI_icons                   # UI Icons
│
├── 📂 src                            # Source Code
│   ├── 📂 components                 # React Components
│   │   ├── 📜 MainComponent.js       # Main Component
│   │   ├── 📜 OverlayComponent.js    # Overlay Component
│   │   ├── 📜 Settings.js            # Settings Component
│   │   └── 📜 Sidebar.js             # Sidebar Component
│   │
│   ├── 📂 CSS                        # Stylesheets
│   │   ├── 📜 App.css                # App Styles
│   │   ├── 📜 MainComponent.css      # Main Component Styles
│   │   ├── 📜 OverlayComponent.css   # Overlay Styles
│   │   ├── 📜 Settings.css           # Settings Styles
│   │   └── 📜 Sidebar.js             # Sidebar Styles
│   │
│   ├── 📜 App.js                     # React Entry Point
│   ├── 📜 index.css                  # Global Styles
│   ├── 📜 index.js                   # App Entry Point
│   ├── 📜 main.js                    # Electron Main Process
│   └── 📜 SystemListener.js          # System Event Handler
│
├── 📜 LICENSE                        # License File
├── 📜 package.json                   # Project Configuration
├── 📜 README.md                      # Project Documentation
└── 📜 README-KR.md                   # Project Documentation (Korean)

Supported Platforms

  • Windows (x64)
  • macOS (arm64, M1 and above)

Coming Soon: macOS(x86) Linux

Contribution

Your contributions can enhance the quality of this program!

We deeply appreciate feedback and assistance from talented individuals.
Feel free to suggest improvements or highlight areas that need refinement!

Installation / Execution

Download the appropriate precompiled binary from the Release Page.

  • Windows:

  • Extract Paraglide-win32-x64-0.1.0-beta.zip.

  • Run Paraglide.exe.

  • macOS:

  • Mount Paraglide-0.1.0-beta-arm64.dmg.

  • Copy Paraglide.app to ~/Applications.

  • If the error message "The file is damaged" appears, enter the following command in the terminal:

sudo xattr -r -d com.apple.quarantine /Applications/Paraglide.app
  • Follow the instructions to enable accessibility and input monitoring permissions.

Running in Dev Mode / Building

(Prerequisites: Node.js)

Dev Mode:

  1. Clone the repository:
git clone https://github.com/WareAoba/Paraglide
  1. Install NPM in root directory of the project:
git clone https://github.com/WareAoba/Paraglide
  1. Run the program with the following command:
npm run dev

Building and Compiling:

  • Run the following command to create a build:
npm run make

(For Windows, switch to the -win32 branch.)

Recent Updates

  1. Beta Release
  2. Various bugs have been fixed.
  3. Finalized macOS permission checks.

Features in Development

  1. Browsing Feature: Scroll through all paragraphs (to be implemented with a button and new window).
  2. Search Function: Search text/paragraphs and jump to the desired paragraph.
  3. Click-to-Jump in the overlay window.
  4. Enhanced Animations: The most challenging part—requires significant rework.
  5. UI Icons: From pause/resume buttons to future buttons.defaults, highlight colors, etc.
  6. User Guide: A detailed manual to accompany the beta release.
  7. File Editing: Simple modifications like renaming files or editing paragraph content.
  8. Multilingual Support: Planned to support English and Japanese first.

Known Issues

  1. Overlay layout misalignment: Paragraphs should have equal spacing, but gaps between current/next and previous/current are inconsistent.
  2. UI properties are being migrated to CSS, leaving the UI temporarily messy.
  3. The new Sidebar’s design is subpar—scheduled for improvement.
  4. Issues with real-time theme switching; handlers seem to be missing.
  5. Files occasionally unload randomly, with the cause still unidentified.
  6. The 'loadLastOverlayBounds' setting does not work.
  7. The current program size is quite large and will be gradually reduced.
  8. Planning to introduce Redux for state management.

Beta Release?

The ongoing CSS theme implementation is a daunting task and may take a few more days, but essential features should be completed soon. Beta v0.1 is targeted for release by the end of the month. If I had coding experience, this would’ve progressed much faster, but tinkering with AI often breaks working features—fixing those takes up most of my time. 😂

License

The majority of the code for this program was generated using GitHub Copilot Chat.

The program and its source code are distributed under the MIT License.