Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancing App Management and Customization: Drag-and-Drop for Dock and Dynamic Icon Handling #34

Open
Secarian opened this issue Jan 27, 2024 · 3 comments

Comments

@Secarian
Copy link

Secarian commented Jan 27, 2024

Enhancing App Management and Customization: Drag-and-Drop for Dock and Dynamic Icon Handling

Streamlined App Organization with Drag-and-Drop Functionality

Enhance the user experience by enabling seamless drag-and-drop functionality for apps between the dock and launchpad. This intuitive feature will empower users to effortlessly manage and organize their applications, fostering a more fluid workflow.

Key Features:

Drag Apps from Launchpad to Dock: Allow users to effortlessly drag app icons from the launchpad to the dock to create shortcuts, simplifying access to frequently used applications.

Remove Shortcuts with Drag-and-Drop: Provide the ability to drag app icons from the dock back to the launchpad to remove shortcuts, maintaining a clean and organized dock layout.

Dynamic Shortcut Creation: Upon dragging an app from the launchpad to the dock, automatically create a new shortcut in the appropriate location.

Persistent Shortcuts: When an app is dragged from the dock back to the launchpad, ensure the app icon remains in the launchpad, even after page refreshes.

Maybe something like Interact.js could do the Trick.

Dynamic Dock Icon Class Handling for Enhanced Customization

Currently, the dock icon class is statically defined in CSS, limiting customization options. Implement dynamic handling of dock icon classes using JavaScript to unlock greater flexibility and personalization.

Dynamic Class Addition and Removal:

Dynamic Hover Effect: Implement real-time hover detection to dynamically add and remove the .dock .icon:nth-child():hover::after class on app icons.

Dynamic App Name Display: Dynamically add the content: "app mane"; class based on the actual app name, eliminating the need for static CSS entries.

.dock .icon:hover::after { content: attr(data-title); }

JavaScript Event Handling: Utilize JavaScript event listeners to ensure the class is updated instantaneously, reflecting the correct app name after any dock item movement.

$(document).ready(function () { $('.dock .icon').each(function () { $(this).attr('data-title', $(this).find('img').attr('alt')); }); });

Enhanced User Experience and Realism

These proposed features will significantly enhance the overall user experience, making the simulator more intuitive and realistic. The ability to effortlessly manage app shortcuts and customize dock icon classes will empower users to personalize their workspace and enhance their workflow.

Additional Considerations

Contribution Opportunities: I am eager to collaborate and provide further details or assist in implementing these features.

Real-world Simulation: The implementation of these enhancements will elevate the simulator's resemblance to a genuine desktop environment, providing a more immersive experience for users.

Thank you for considering these valuable suggestions.

Sincerely,

Secarian

@mhmdmhd6
Copy link
Owner

Hi Secarian,

Thanks for your proposal to enhance app management on GitHub. We're interested in learning more about the technologies you have in mind. Also, if you've started any features or have a plan, feel free to share. Collaboration is welcome!

Once we have more details, we can discuss the next steps. Thanks for your dedication to our project.

Best,
Mohammad

@Secarian
Copy link
Author

Secarian commented Feb 2, 2024

I added some code to better show what i mean. Please let me know if you need more Infos.

@mhmdmhd6
Copy link
Owner

I have plans to relaunch this project using React, so I will keep this issue open until the feature has been added to the project.

Thank you for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants