wincent

Crates.iowincent
lib.rswincent
version
sourcesrc
created_at2024-10-29 13:43:51.776203
updated_at2024-12-03 14:52:30.231703
descriptionA library for handling windows quick access
homepage
repositoryhttps://github.com/Hellager/wincent-rs
max_upload_size
id1427021
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Stein Gu (Hellager)

documentation

https://docs.rs/wincent/

README

wincent-rs

Overview

Wincent is a rust library for managing Windows quick access functionality, providing comprehensive control over your file system's quick access content.

Features

  • 🔍 Query Quick Access Contents
  • 🗑️ Remove Specific Quick Access Entries
  • 👁️ Toggle Visibility of Quick Access Items

Installation

Add the following to your Cargo.toml:

[dependencies]
wincent = "*"

Quick Start

Querying Quick Access Contents

use wincent::get_quick_access_items;

fn main() -> Result<(), Box<dyn std::error::Error>> {    
    // List all current quick access items
    let quick_access_items = get_quick_access_items()?;
    for item in quick_access_items {
        println!("Quick Access items: {:?}", item);
    }

    Ok(())
}

Removing a Quick Access Entry

use wincent::remove_from_recent_files;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Remove a specific path from quick access
    match remove_from_recent_files("C:\\path\\to\\file.txt").await {
        Ok(()) => println!("File removed from recent files."),
        Err(e) => eprintln!("Error removing file from recent files: {:?}", e),
    }

    Ok(())
}

Toggling Visibility

use wincent::{QuickAccess, set_visiable};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // hide Frequent Folders
    match set_visible(QuickAccess::FrequentFolders, true) {
        Ok(_) => println!("Successfully set visibility for Frequent Folders."),
        Err(e) => eprintln!("Failed to set visibility: {:?}", e),
    }

    Ok(())
}

Error Handling

The library uses Rust's Result type for comprehensive error management, allowing precise handling of potential issues during quick access manipulation.

Compatibility

  • Supports Windows 10 and Windows 11
  • Requires Rust 1.60.0 or later

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b wincent/amazing-feature)
  3. Commit your changes (git commit -m 'feat: Add some amazing feature')
  4. Push to the branch (git push origin wincent/amazing-feature)
  5. Open a Pull Request

Development Setup

# Clone the repository
git clone https://github.com/Hellager/wincent-rs.git
cd wincent-rs

# Install development dependencies
cargo build
cargo test

Roadmap

  • Test on more windows version
  • Better way to interact with quick access

Disclaimer

This library interacts with system-level Quick Access functionality. Always ensure you have appropriate permissions and create backups before making significant changes.

Support

If you encounter any issues or have questions, please file an issue on our GitHub repository.

Thanks

License

Distributed under the MIT License. See LICENSE for more information.

Author

Developed with 🦀 by @Hellager

Commit count: 56

cargo fmt