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

Desktop icons #51

Open
12 of 15 tasks
andersevenrud opened this issue Jan 20, 2019 · 28 comments · Fixed by #73 · May be fixed by #74
Open
12 of 15 tasks

Desktop icons #51

andersevenrud opened this issue Jan 20, 2019 · 28 comments · Fixed by #73 · May be fixed by #74
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed implemented Has been implemented, but not necessarily finished

Comments

@andersevenrud
Copy link
Member

andersevenrud commented Jan 20, 2019

Add back the desktop iconview.

  • Add configuration option
  • Create GUI component
  • Implement into Desktop
  • Set up DnD
  • VFS Integration
  • Add configuration option to https://github.com/os-js/osjs-settings-application
  • Figure out DnD bug in File Manager app (possibly GUI component)
  • Shortcut support (including virtual paths)
  • Root contextmenu
  • Gost droppable (see Grid based desktop icon view #74)
  • Add support for moving instead of copy from contextmenu
  • Add back color invertion from v2 (where backgrounud color would set the mask of selected entry)
  • Enable desktop iconview by default
  • Add VFS watch event trigger (client only at this moment due to no default enable in server)
  • Grid support

Ref:

@andersevenrud andersevenrud added the enhancement New feature or request label Jan 20, 2019
@andersevenrud andersevenrud self-assigned this Jan 20, 2019
@andersevenrud andersevenrud added the help wanted Extra attention is needed label Jan 20, 2019
andersevenrud added a commit that referenced this issue May 2, 2019
andersevenrud added a commit that referenced this issue May 16, 2019
andersevenrud added a commit that referenced this issue May 16, 2019
@andersevenrud
Copy link
Member Author

@josephjeno This is now almost done. I'm probably getting it out this weekend :)

OS js

@josephjeno
Copy link

Ah it looks great!

andersevenrud added a commit that referenced this issue Jun 14, 2019
Even though added, it's still disabled by default because there's no
Settings application integration yet. Hence no minor bump.

* Adds desktop icon view adapter
* Adds new configuration setting
* Updates Desktop implementation
* Adds tapper input utility
@andersevenrud
Copy link
Member Author

@josephjeno I've included this in the latest releases. I haven't enabled it by default still (from commit log):

Even though added, it's still disabled by default because there's no Settings application integration yet. Hence no minor bump.

Except for that, there's a few more things I need to implement:

  • Directory metadata support (for shortcuts and links to virtual entries)
  • CSS for IE
  • Context menu entry that allows to "open using applicationX" (like in latest filemanager)
  • More testing :D

And a bug I've found:

  • Drag and drop does not work for certain entries in the filemanager app (seems to be input event related)

But, you can give it a go if you want. Just set the iconview enabled setting to true in your client configuration (NB: if you already have stored settings on your user you might need to clear it, or run OSjs.make('osjs/settings').set('osjs/desktop', 'iconview.enabled', true).save() in your console and refresh).

And if you do let me know if there's any trouble 😄

@andersevenrud andersevenrud added the implemented Has been implemented, but not necessarily finished label Jun 14, 2019
@andersevenrud
Copy link
Member Author

Oh, and if you want to customize the directory, there's a setting for that as well: d933b8e#diff-9d9a6cd82f41984872a66a3ab0d440c4

@josephjeno
Copy link

@andersevenrud this is looking great, thanks very much! I know @valp124 used desktop icons in v2 avidly and will be looking forward to this.

@josephjeno
Copy link

Our two main use cases are:

  1. shortcuts to applications on the desktop (currently using menu tray for this, desktop would be better as users could drag their own shortcuts)
  2. saving/dragging files to the desktop (which would open in their respective app)

In the latest release I am able to drag both applications and files to the desktop, however nothing happens when I click them, with the exception of .txt files which do open in Textpad. I encountered the filemanager bug you mentioned, which seems to affect the top 3 entries until one of the navigation controls (back, forward, home) are pressed, at which point the top 6 entries are affected. Let me know if there is anything I can do on my end to assist, including testing, etc!

@valp124
Copy link

valp124 commented Jun 17, 2019

In V2, double-clicking on a file shortcut on the desktop would prompt the user to choose an app to open this file, and then this choice would be remembered.

@andersevenrud
Copy link
Member Author

In V2, double-clicking on a file shortcut on the desktop would prompt the user to choose an app to open this file, and then this choice would be remembered.

I believe I forgot to put in the application chooser option here. I'll fix that :)

@andersevenrud
Copy link
Member Author

@josephjeno

, which seems to affect the top 3 entries until one of the navigation controls (back, forward, home) are pressed, at which point the top 6 entries are affected.

This was a great pointer! I now know what the problem is: When the list updates the create() callback is not called because the rows did not have a key. Fixing this now :)

@andersevenrud
Copy link
Member Author

@josephjeno New @osjs/filemanager-application out now that should resolve this.

@valp124 New @osjs/client out now that sets the option so it always asks for which app to open in.

shortcuts to applications on the desktop

This comes in the next update :)

@andersevenrud
Copy link
Member Author

@valp124 An edit to my last comment. I misunderstood slightly.... it currently won't "remember" the selected application when launched from the desktop because I added this option. I think I'll do the same as in filemanager where there's a context menu to manually select what app to use (in case a default one was already set).

@andersevenrud
Copy link
Member Author

I think I'll do the same as in filemanager

Update published.

@andersevenrud
Copy link
Member Author

@josephjeno I've published a new branch called feature/desktop-iconview-shortcuts that now implements the shortcuts we discussed on Gitter.

Full changelog:

  • Holding Shift when dropping a VFS file will bring up context menu so you can chose between copy and create shortcut
  • Bringing up the context menu selects the entry
  • The context menu now changes the label of "delete" based on context
  • Always ensure that the .desktop directory exists when adding an entry
  • Always hide hidden files by default on desktop
  • Add shortcut symbol based on context

What's left:

  • Adding localization
  • Support application shortcuts

So, not much left to be done here before I can release a new update 😊 However, it's getting a bit late over here, so I'll have to resume this tomorrow.

OS js

I'd like to hear your feedback if the drop action should always create a shortcut instead of a hard copy, and invert the behavior 🤔

@andersevenrud
Copy link
Member Author

I actually got the two last points done there and opened up this PR: #73

I'll just have to do a bit of testing, then publish this tomorrow :)

@josephjeno
Copy link

Wow that was fast! Definitely prefer for shortcut to be the default action! We actually thought that it was creating shortcuts, I think because the original file remained, and only noticed it was copying after modifying the desktop files and realizing the originals weren't updated. Maybe the copy could be a move instead?

@andersevenrud
Copy link
Member Author

@josephjeno I've now published @osjs/client 3.1.7 that brings in the following changes: https://github.com/os-js/osjs-client/blob/master/CHANGELOG.md#317

@josephjeno
Copy link

@andersevenrud dude thanks so much

@andersevenrud
Copy link
Member Author

No probs! :)

andersevenrud added a commit to os-js/osjs-settings-application that referenced this issue Sep 12, 2019
@andersevenrud
Copy link
Member Author

The Settings (@osjs/settings-application) application now also has a new tab for the desktop iconview toggling.

@andersevenrud
Copy link
Member Author

Pinging @Maho91 and @plungedtoilet because you asked for things related to desktop icons.

@andersevenrud andersevenrud pinned this issue Sep 12, 2019
@weeelfi
Copy link

weeelfi commented Sep 29, 2019

Hi!

One question: Is possible to move desktop icons to any position?

Thanks in advance. Great work!

@andersevenrud
Copy link
Member Author

Hey @weeelfi. Currently that's not possible, but I actually worked on a prototype that was grid-based a while back. It's possible that I could adopt that code and add an option 🤔

@weeelfi
Copy link

weeelfi commented Sep 29, 2019

I thought that was possible with draggable option, and store X and Y coords in shortcuts.json when release the mouse click.

But you are the master ^^

@andersevenrud
Copy link
Member Author

That was basically how the prototype I made worked. All the icons was in a pre-set grid and you could set the (x,y) manually, and whenever you dragged a new one it it would occupy the first free spot. The only thing I didn't complete (at least from what I can remember) is doing automatic re-arrangement on resize.

I'll have to dig it out and get back to you :)

@weeelfi
Copy link

weeelfi commented Oct 1, 2019

Good to hear. I will stay tuned!

Os.js is a great work, thanks to you!

@andersevenrud
Copy link
Member Author

@weeelfi I found the prototypes that I worked on and started on the implementation. You can look at the progress here: #74 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed implemented Has been implemented, but not necessarily finished
Projects
None yet
4 participants