> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/rtr46/meikipop/llms.txt
> Use this file to discover all available pages before exploring further.

# Region selection

> Learn how to choose between region and fullscreen scanning modes for optimal performance and privacy

Meikipop can scan either a selected region of your screen or your entire screen. Understanding the differences helps you choose the right mode for your use case.

## Scan modes overview

<CardGroup cols={2}>
  <Card title="Region mode" icon="crop">
    Scans only a user-selected rectangular area of your screen.

    **Pros:**

    * Faster OCR processing
    * Lower network bandwidth
    * Better privacy (only selected area sent to OCR)
    * More efficient for auto scan mode

    **Best for:**

    * Games in windowed mode
    * Manga readers
    * Specific applications
    * When you know where text will appear
  </Card>

  <Card title="Fullscreen mode" icon="expand">
    Scans your entire screen (all monitors).

    **Pros:**

    * No need to select a region
    * Works anywhere on screen
    * Automatic adaptation to content
    * Good for unpredictable text locations

    **Best for:**

    * Fullscreen games
    * Multiple applications
    * Text in varying locations
    * When convenience matters most
  </Card>
</CardGroup>

<Info>
  The default mode is **region**. The first time you run meikipop, you'll be prompted to select an area.
</Info>

## Switching between modes

<Tabs>
  <Tab title="Via system tray">
    <Steps>
      <Step title="Right-click the tray icon">
        Find the meikipop icon in your system tray.
      </Step>

      <Step title="Toggle scan mode">
        Click **Toggle Scan Mode** to switch between region and fullscreen.
      </Step>

      <Step title="Select region (if switching to region mode)">
        If switching to region mode, you'll be prompted to select an area.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Via config.ini">
    Edit `config.ini` in the application directory:

    ```ini theme={null}
    [Settings]
    scan_region = region  # or "fullscreen"
    ```

    Restart meikipop for changes to take effect.
  </Tab>
</Tabs>

## Selecting a screen region

When using region mode, you'll need to select the area containing Japanese text.

### Selection process

<Steps>
  <Step title="Trigger the region selector">
    The selection overlay appears automatically when:

    * First running meikipop in region mode
    * Clicking **Reselect Scan Region** from tray menu
    * Switching from fullscreen to region mode
  </Step>

  <Step title="Position the overlay">
    A semi-transparent dark overlay covers your screen. Your cursor changes to a crosshair.

    <Note>
      The overlay follows your cursor across multiple monitors.
    </Note>
  </Step>

  <Step title="Click and drag">
    * Click where you want the top-left corner of the region
    * Drag to the bottom-right corner
    * A blue border shows your selected area
  </Step>

  <Step title="Release to confirm">
    Release the mouse button to confirm your selection.
  </Step>

  <Step title="Cancel if needed">
    Press `Esc` to cancel and close the selector without choosing a region.
  </Step>
</Steps>

### Selection tips

<Tip>
  **Select the content area only:** For games, select the game window's content area, not including window borders or title bars.
</Tip>

<Tip>
  **Include text + margins:** Make the region slightly larger than the text area to avoid cutting off characters at edges.
</Tip>

<Tip>
  **Visual novels:** Select the entire text box area, including where text appears during animations.
</Tip>

<Tip>
  **Manga readers:** Select just the manga pages, not the entire application window.
</Tip>

<Warning>
  For games in fullscreen mode, you may need to run the game in windowed or borderless windowed mode to select a region. Otherwise, use fullscreen scan mode.
</Warning>

## Reselecting a region

You can change your selected region at any time:

<Steps>
  <Step title="Open the tray menu">
    Right-click the meikipop icon in your system tray.
  </Step>

  <Step title="Click Reselect Scan Region">
    This opens the region selector overlay.
  </Step>

  <Step title="Make a new selection">
    Click and drag to select a new region, or press `Esc` to keep the current selection.
  </Step>
</Steps>

<Info>
  The new region takes effect immediately. No restart required.
</Info>

## Performance comparison

### Region mode performance

<Accordion title="OCR processing time">
  Smaller images process faster:

  * 400x300 region: \~200-400ms (Google Lens)
  * 800x600 region: \~400-600ms
  * 1920x1080 region: \~800-1200ms

  **Recommendation:** Keep regions under 1000x800 for best performance.
</Accordion>

<Accordion title="Network bandwidth">
  **Without compression:**

  * 400x300 region: \~50-100 KB per lookup
  * 800x600 region: \~150-300 KB per lookup
  * 1920x1080 region: \~400-800 KB per lookup

  **With Google Lens compression enabled:**

  * Reduces bandwidth by 50-80%
  * Typical: 20-100 KB per lookup regardless of size
</Accordion>

<Accordion title="Auto scan mode impact">
  In auto scan mode, smaller regions:

  * Reduce CPU usage
  * Lower network consumption
  * Enable higher scan frequencies
  * Decrease battery drain

  **Example:** A 500x400 region uses \~60% less resources than a 1920x1080 fullscreen scan.
</Accordion>

### Fullscreen mode performance

<Accordion title="Multi-monitor considerations">
  Fullscreen mode captures all monitors:

  * Single 1920x1080: \~400-800 KB per screenshot
  * Dual 1920x1080: \~800-1600 KB per screenshot
  * Triple monitor: 1200-2400 KB per screenshot

  **Impact:**

  * Longer OCR processing times
  * Higher network usage
  * Not recommended for auto scan mode
</Accordion>

<Accordion title="When fullscreen is acceptable">
  Fullscreen mode works well when:

  * Using manual mode (not auto scan)
  * OCR provider is local (owocr)
  * Fast internet connection (100+ Mbps)
  * Powerful CPU for image processing
  * Single monitor setup
</Accordion>

## Privacy considerations

Understanding what data is sent to OCR providers:

<Tabs>
  <Tab title="Region mode">
    **Data sent to OCR:**

    * Screenshot of only the selected region
    * Typically a small portion of your screen
    * No data from outside the region

    **Privacy level:** ⭐⭐⭐⭐

    <Info>
      If privacy is a concern, select the smallest region that contains the Japanese text you need to read.
    </Info>
  </Tab>

  <Tab title="Fullscreen mode">
    **Data sent to OCR:**

    * Screenshot of your entire screen
    * All monitors if using multi-monitor setup
    * Everything visible on your desktop

    **Privacy level:** ⭐⭐

    <Warning>
      Your entire desktop is sent to the OCR provider, including other applications, taskbar, notifications, etc.
    </Warning>
  </Tab>

  <Tab title="Local OCR (owocr)">
    **Data sent:**

    * Nothing (OCR runs locally)
    * Screenshots never leave your computer

    **Privacy level:** ⭐⭐⭐⭐⭐

    <Tip>
      For maximum privacy, use owocr with a local model instead of Google Lens.
    </Tip>
  </Tab>
</Tabs>

### Google Lens privacy

When using Google Lens as the OCR provider:

* Screenshots are sent to Google's servers
* Processed by Google Lens OCR service
* Subject to Google's privacy policy
* Data is typically not stored permanently
* Not linked to your Google account

<Info>
  Google Lens compression reduces the image quality sent to Google, which provides a minor privacy benefit in addition to bandwidth savings.
</Info>

## Use case recommendations

<Tabs>
  <Tab title="Visual novels">
    **Recommended: Region mode**

    ✅ Text appears in consistent location
    ✅ Small text box = fast OCR
    ✅ Perfect for auto scan mode
    ✅ Minimal performance impact

    **Setup:**

    1. Launch the visual novel
    2. Select region mode
    3. Select the text box area
    4. Enable auto scan mode
  </Tab>

  <Tab title="Games (windowed)">
    **Recommended: Region mode**

    ✅ Focus on UI/subtitle area
    ✅ Exclude 3D game world (no text)
    ✅ Better performance
    ✅ Works with auto scan

    **Setup:**

    1. Run game in windowed or borderless
    2. Identify where Japanese text appears (HUD, subtitles)
    3. Select only those areas
  </Tab>

  <Tab title="Games (fullscreen)">
    **Recommended: Fullscreen mode**

    ⚠️ Can't select region in fullscreen games
    ✅ Easier to use
    ⚠️ Higher performance cost
    🚫 Auto scan not recommended

    **Alternative:**
    Run the game in borderless windowed mode and use region selection.
  </Tab>

  <Tab title="Manga readers">
    **Recommended: Region mode**

    ✅ Select just the manga page(s)
    ✅ Fast OCR on static images
    ✅ Exclude UI/toolbars
    ✅ Good for auto scan

    **Setup:**

    1. Open your manga reader
    2. Display a page
    3. Select the page content area
    4. Enable auto scan with 1-2s interval
  </Tab>

  <Tab title="Web browsers">
    **Recommended: Region mode**

    ✅ Select the content area
    ✅ Exclude browser UI/tabs
    ✅ Faster than fullscreen
    ⚠️ May need reselection on resize

    **Note:** Consider using browser extensions like Yomitan for web content instead.
  </Tab>

  <Tab title="Multiple apps">
    **Recommended: Fullscreen mode**

    ✅ Works across all applications
    ✅ No need to reselect
    ⚠️ Slower performance
    🚫 Don't use with auto scan

    **Best when:**

    * Text appears in unpredictable locations
    * Switching between many applications
    * Occasional lookups only
  </Tab>
</Tabs>

## Technical details

### Region selection implementation

<Accordion title="Coordinate system">
  The region selector handles both logical and physical coordinates:

  **Logical coordinates:**

  * Used by Qt for drawing the selection overlay
  * May differ from physical pixels on high-DPI displays

  **Physical coordinates:**

  * Actual pixel positions on the screen
  * Used for screenshot capture
  * Account for display scaling factors

  Meikipop automatically converts between these coordinate systems.
</Accordion>

<Accordion title="Multi-monitor support">
  The region selector supports multiple monitors:

  * Overlay follows cursor across screens
  * Can select regions spanning multiple monitors
  * Each monitor's geometry is correctly handled
  * DPI scaling per-monitor is supported

  The selected region coordinates are stored in physical pixels relative to the primary monitor.
</Accordion>

<Accordion title="Magpie compatibility">
  On Windows, when `magpie_compatibility = true`:

  * Meikipop applies coordinate transformations
  * Accounts for Magpie's upscaling
  * Ensures popup appears at correct location
  * Properly maps mouse position to screenshot coordinates

  Enable this setting in config.ini if using Magpie game scaler.
</Accordion>

### Fullscreen mode behavior

<Accordion title="Screenshot capture">
  In fullscreen mode, meikipop:

  1. Enumerates all connected displays
  2. Captures each display as a separate image
  3. Stitches them into a single composite screenshot
  4. Sends the composite to the OCR provider

  **Performance note:** This process is more expensive than region capture.
</Accordion>

<Accordion title="Popup positioning">
  When the popup would appear outside the visible screen area:

  * Meikipop detects the screen containing the cursor
  * Ensures popup stays within that screen's boundaries
  * Applies the configured positioning mode
  * Prevents popup from being cut off at screen edges
</Accordion>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Region selector doesn't appear">
    **Possible causes:**

    * Already in fullscreen mode
    * Application crashed during previous selection
    * Qt window system issue

    **Solutions:**

    1. Check config.ini: ensure `scan_region = region`
    2. Restart meikipop
    3. Try toggling to fullscreen and back to region
    4. On Linux: verify DISPLAY environment variable is set
  </Accordion>

  <Accordion title="Can't select region in fullscreen game">
    Fullscreen games take exclusive control of the display.

    **Solutions:**

    * Run the game in **borderless windowed** mode
    * Or run in regular **windowed** mode
    * Then use region selection

    **Alternative:**

    * Use fullscreen scan mode instead
    * Accept the performance trade-off
  </Accordion>

  <Accordion title="Popup appears in wrong location after region selection">
    This may occur due to coordinate system mismatches.

    **Solutions:**

    1. On Windows with Magpie: Enable `magpie_compatibility`
    2. Check display scaling settings (125%, 150%, etc.)
    3. Try reselecting the region
    4. Report the issue with your display configuration
  </Accordion>

  <Accordion title="Region is forgotten after restart">
    The region should persist in `config.ini` or a separate settings file.

    **Check:**

    * File permissions on config.ini
    * Whether config.ini is being saved
    * Any errors in the terminal/log output
    * If running from a read-only directory
  </Accordion>

  <Accordion title="OCR quality is poor in region mode">
    **Troubleshooting:**

    * Ensure region includes full characters (not cut off)
    * Add small margins around text
    * Check if text is clear and well-lit
    * Verify region contains the intended area
    * Try disabling Google Lens compression
  </Accordion>
</AccordionGroup>

## Best practices

<Tip>
  **Start with region mode:** It's more efficient and provides better privacy. Only use fullscreen if you have a specific reason.
</Tip>

<Tip>
  **Select generously:** Make your region slightly larger than the text area to avoid cutting off characters. Better to include some extra space than miss text.
</Tip>

<Tip>
  **Reselect when window size changes:** If you resize your game or application window, reselect the region to ensure accuracy.
</Tip>

<Tip>
  **Test your selection:** After selecting a region, try a few lookups to verify it captures all the text you need.
</Tip>

<Warning>
  In fullscreen mode with auto scan enabled, meikipop will continuously capture your entire screen. This is a significant performance and privacy cost. Use region mode with auto scan whenever possible.
</Warning>
