#windows #quick #access #recent #items #query #visibility

wincent

A library for handling windows quick access

6 releases

0.0.6 Dec 3, 2024
0.0.5 Dec 3, 2024
0.0.3 Nov 14, 2024
0.0.1 Oct 29, 2024

#553 in Filesystem

Download history 235/week @ 2024-10-28 17/week @ 2024-11-04 111/week @ 2024-11-11 13/week @ 2024-11-18 434/week @ 2024-12-02 36/week @ 2024-12-09

488 downloads per month

MIT license

35KB
274 lines

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

Dependencies

~18–29MB
~358K SLoC