KDE Dolphin file manager integration for Yandex Disk cloud storage sharing with support for multiple Linux desktop environments.
- Usage Guide - Installation examples, troubleshooting, and file manager-specific setup
- Python Version Details - Python implementation features and user-facing technical details
- Developer Guide - Development workflow, CI/CD, tests, directory map (GNOME specifics)
- Additional Documentation - Technical details: Desktop Context Limitations, Migration Summary, Session Improvements, Coverage Summary
π Recommendation: The Python version is the recommended implementation with enhanced error handling and modern architecture.
Yandex Disk integration for KDE Dolphin sub menu: use yandex cloud directory for sharing clipboard content and files between PC, mobile, people, etc..
Inspired by yandex disk indicator context menu options
Consider GNOME/GTK Beta status, so it may not work as intended
| File Manager | Desktop | Scripts/Actions | Python Extensions | Menu Location |
|---|---|---|---|---|
| Dolphin | KDE | β Service Menus | β N/A | Right-click context menu |
| Nautilus (Files) (Beta) | GNOME | β Scripts | β Optional | Scripts β "YaDisk" / Right-click |
| Nemo (Beta) | Cinnamon | β Actions | β Optional | Right-click context menu |
| Caja (Beta) | MATE | β Actions | β Optional | Right-click context menu |
| Thunar (Beta) | XFCE | β Custom Actions | β N/A | Right-click context menu |
Installation: See Usage Guide for file manager-specific setup examples.
- File Publishing: Create public links (.com/.ru domains) with one-click sharing
- Clipboard Integration: Save and publish clipboard content (text and images)
- File Operations: Copy/move files to Yandex stream directory
- Batch Processing: Handle multiple files with intelligent error recovery
- Auto-renaming: Automatic conflict resolution with
_numbersuffix pattern
- Publish file & copy ya.COM link - Publish file and copy international link
- Publish file & copy ya.RU link - Publish file and copy local link
- Publish clipboard & copy ya.COM/RU link - Save clipboard content and publish
- Remove public link - Unpublish single file
- Remove links for all copies - Unpublish file and all numbered copies
- Save clipboard to stream - Save clipboard without publishing
- Add file to stream - Copy file to stream directory
- Move file to stream - Move file to stream directory
- Multiple Item Processing - Process multiple files/directories with intelligent algorithms optimized for different operation types
- Enhanced Parameter Logging - Comprehensive logging of input parameters, file details, and processing steps
- Better Error Handling - Comprehensive exception handling with proper logging, continues processing remaining items on failures
- Optimized Architecture - Centralized constants, clean separation of concerns, and improved code organization
- Type Safety - Python type hints for better code reliability
- Modular Design - Object-oriented structure for better maintainability
- Testing - Full unit test coverage with mocking (52+ test cases)
- Configuration - Flexible command-line configuration options
- Documentation - Comprehensive inline documentation
- Service Readiness: Waits for yandex-disk daemon (up to 30s) before operations
- Error Handling: Continues processing remaining items if some fail
- Native Notifications: Desktop-aware notifications (kdialog/notify-send)
- Comprehensive Logging: Operation tracking with detailed error reporting
- Rollback Support: Undo operations when errors occur
- Desktop Environments:
- KDE: primary, full support
- GNOME, Cinnamon, MATE, XFCE: Beta, not tested
- Session Types: X11 and Wayland clipboard support
- File Managers: See support matrix above
π‘ Pro Tip: Use a separate Yandex account for file sharing to prevent over-sync and maintain security boundaries.
- yandex-disk daemon (core functionality)
- Python 3.8+ with venv support
- Clipboard tools: xclip (X11) or wl-clipboard (Wayland)
- Notifications: kdialog (KDE) or notify-send (GNOME/others)
- yd-tools - provides icons and additional utilities
- File manager: See support matrix for compatibility
π Details: See Python Version README for complete dependency information and Usage Guide for installation examples.
# 1. Install system dependencies (detects your distribution and desktop)
make install-system-deps
# 2. Install and configure Python version with desktop-aware integration
make install
make configure # Automatically detects and configures your file manager# Shell version only (lightweight)
./setup.sh
# Python version only (advanced features)
make install-system-deps && make install && make configure
# Both versions (maximum compatibility)
./setup.sh && make install && make configure-skip-envπ Detailed Examples: See Usage Guide for file manager-specific installation, troubleshooting, and advanced configuration options.
- Install yandex-disk daemon: Follow official guide
- Install yd-tools (recommended): Provides icons and utilities
- Configure your stream directory: Set up where files will be copied/published
π§ Setup Help: Detailed setup instructions, file manager-specific examples, and troubleshooting are in the Usage Guide.
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).
- β Share β copy and redistribute the material in any medium or format
- β Adapt β remix, transform, and build upon the material
- β Use for personal, educational, and non-commercial purposes
- π Attribution β Provide appropriate credit and a link to the license
- π« NonCommercial β No commercial use without written permission
- β»οΈ ShareAlike β Derivatives must be licensed under CC BY-NC-SA 4.0
For any commercial use of this software, including but not limited to:
- Use in commercial software or services
- Distribution as part of commercial products
- Use in commercial environments or for commercial purposes
- Integration into commercial applications
Written permission is required for any commercial use.
For commercial licensing inquiries, please open an issue: https://github.com/Miheev/yaDiskDolphinMenu/issues.
See LICENSE for full terms and conditions.
- Fork the repository
- Create a feature branch
- Make changes with tests
- Run quality checks:
make lint test - Submit pull request

