redhog / InfiniteGlass

Window manager with infinite desktop, infinite zoom and infinite window resolution
https://redhog.github.io/InfiniteGlass/
GNU General Public License v3.0
35 stars 5 forks source link

Islands #61

Closed IanTrudel closed 4 years ago

IanTrudel commented 4 years ago

As a follow up on the concept of islands, we should be documenting the expected behaviour and workflow.

Also interesting :

redhog commented 4 years ago

+1

Hm, so... an image/icon/video is just an open image/video viewing app, or a ghost of such an app that shows a screenshot of it? Maybe this could be generalised/abstracted a bit though?

IanTrudel commented 4 years ago

It should be a viewing/audio app. If someone wants more features, they should use an actual app, e.g. mpv, VLC, etc.

Someone could just stick a few photos and notes on their Island. Family photos on a casual island and notes, icons, audio recording on a work island.

I'm growing to like Rofi but it has a huge shortcoming: you have to know what you need and type it.... Or go through an endless, category-less, list of applications.

Now the categories on Windows and most WMs are OK but not great. Not for a workflow like yours or mine anyway. So perhaps we could stick our most needed icons on a given island. You have an island for browsing web but you could need an island for graphics design. Each has different icons.

IanTrudel commented 4 years ago

It would be a tad asking too much for writing a better Rofi and an alternative to the "Start Menu" syndrome.

I asked myself what InfiniteGlass has now or within reach that could be used for an alternative? Displaying objects on the screen. So Rofi plus island icons, aka desktop icons, seems like a reasonable choice here.

Perhaps you have another take on this? Sticking other things than icons is just a bonus. The main idea is about easy accessibility.

Also, another idea on the spot, we could use information in .desktop files to create specialized islands. Say, you open a Graphic Design island and all graphic program icons are automatically stuck on the island.

IanTrudel commented 4 years ago

Say, you open a Graphic Design island and all graphic program icons are automatically stuck on the island.

Oh! Perhaps it's also possible to rearrange the list in Rofi. Most used programs across InfiniteGlass + specialization are shown on top.

redhog commented 4 years ago

Oh... I have a take on the start-graphics-design-island: Two new actions on islands:

IanTrudel commented 4 years ago

Templates for islands? Sure, why not! Perhaps templates could be shared? Say, I make a programming island template and send it to you, then you install the template. Any programs not installed could be hidden until they are available.

How useful would be a template though? We can already save applications state and my initial suggestion included saving/restoring an island. I imagine that once you have already a graphic island, you shouldn't be needed a second island for this.

redhog commented 4 years ago

Well, imagine you have a programming island with a bunch of terminals, your IDE and say a browser. You'd still want to have a copy of that for each programming project, with just what directory is open in the IDE and terminal, and what bookmarks/tabs your browser has differing.

Since session states and ghosts can already be exported to JSON and imported back in, sharing them wouldn't be very hard, it's just about selecting only the apps and windows of one island for export. Templates could even always be saved that way, as files rather than as rows in the database. e.g. ~/.config/glass/islands/MyProgrammingIslandName.json

Saving/restoring islands I interpreted as pausing all apps inside and island, and restoring all apps respectively, all at once. Was that not what you meant?

redhog commented 4 years ago

Hm, what if islands could have background images and some other styling? Instead of people sharing whole desktop setups/configs, they could share an island that looks a certain way! I think we just found a new killer app for https://www.reddit.com/r/unixporn :P

IanTrudel commented 4 years ago

Saving/restoring islands I interpreted as pausing all apps inside and island, and restoring all apps respectively, all at once. Was that not what you meant?

You're correct. That's what I meant. Thank you for clarifying my own mind. Haha

RE: styling

Saving, restoring and templates for styling and island preferences would be cool.

RE: Island templates

Seems like it's within reach then!

I think we just found a new killer app for https://www.reddit.com/r/unixporn :P

I'm already sold on InfiniteGlass. ;)

redhog commented 4 years ago

Btw, @BackOrder , I'm using https://github.com/redhog/InfiniteGlass/projects/1 to plan what I'll be working on in the near future. You can use it as a voting feature: Add tickets to the To-do-columnt there to make them high priority. If you're working on something (as opposed to just discussing it w me), move it to "In progress" and assign yourself :)

IanTrudel commented 4 years ago

Ok, boss! :)

redhog commented 4 years ago

ping @BackOrder

I'll probably have plenty of time for InfiniteGlass the next few weeks - Norway just basically shut down the entire country and we're staying home not opening the door... So all the time in the world to hack :S

Canada doesn't seem to be there yet, but stay safe!

IanTrudel commented 4 years ago

Then a lot of good will come out of this!

Some people are worried here but overall still alright. I will be working from home the next week or so. We will see how it goes. By the way, for some time now I have been following your commits to understand better how things works in InfiniteGlass. Still clueless about a lot of things though.

A few days ago I forgot InfiniteGlass running for a night. It's stable and absolutely 0 error in the logs. Not like Gnome dumping logs in syslog like there is no tomorrow.

Besides, if you need some more concept UI/UX, let me know. That I can do for you. :)))

redhog commented 4 years ago

That's good to know, but not surprising: InfiniteGlass is entirely event driven - if there are no input events, it does absolutely nothing, just sits there in a select loop, waking up to do a quick check that there are no animations to run every now and then (there won't be any if there haven't been any events for a while)...

A better test would be to leave some animated app, like glxgears or firefox playing a movie or something.

IanTrudel commented 4 years ago

A better test would be to leave some animated app, like glxgears or firefox playing a movie or something.

Will do and report, sir!

IanTrudel commented 4 years ago

Ping @redhog ! How is that free time to work on InfiniteGlass going? :))))

redhog commented 4 years ago

Well... I ended up using it to hang out over skype with a friend all weekend instead :P Really really needed some social interaction... How are you guys holding up? All I know is that Trudeau is in quarantine...

redhog commented 4 years ago

Will get back to hacking soon today :)

redhog commented 4 years ago

You can check out the islands branch btw. Keyboard combo is WIN+I to make a new island. But they so far have very little actual functionality...

IanTrudel commented 4 years ago

Excellent. Alex and I have been looking into CRIU and Xpra.

redhog commented 4 years ago

Cool! If you give me Alex' github handle I could add them to the project too?

IanTrudel commented 4 years ago

Cool! If you give me Alex' github handle I could add them to the project too?

From #67

I have introduced InfiniteGlass to @alexkh and he tried to play some games on it. He reported a very low FPS and screen tearing.

He wrote his own WM a few years ago. https://github.com/alexkh/ywm

redhog commented 4 years ago

Moved tiling to https://github.com/redhog/InfiniteGlass/issues/48 Move cloning to https://github.com/redhog/InfiniteGlass/issues/69