DrewNaylor / Retiled

An attempt at creating a "desktop" environment mainly for Linux phones and tablets that's similar in function to some parts of Microsoft's Windows Phone 8.x, primarily the Start screen, Search app, navigation bar, Action Center, and the status bar. Development is mainly being done using the PinePhone, so that'll be the main supported device.
https://codeberg.org/DrewNaylor/Retiled
Apache License 2.0
66 stars 3 forks source link

Details to remember as I implement Windows Phone-style themes and design Retiled's UI. #3

Open DrewNaylor opened 3 years ago

DrewNaylor commented 3 years ago

Update 3 (the other two were deleted due to being outdated): I ran the PySide6 Qt Quick Controls gallery and found that, with some changes, the progress bar, progress ring (called "BusyIndicator" here), SwipeView, and TabBar controls will probably work well just going from the Universal style.

TheMobilizer commented 3 years ago

Not sure if this is the right place but I would like to point out a few things you should NOT do (Android, iOS and some linux mobile environments do these all the time in the name of "Modern Design"):

I also want to say that live tiles are an absolute necessity . I tried to make Manjaro KDE's application launcher like windows 8 (the start screen which people so hated) by using a plasmoid . I pinned whatever I wanted to the start screen and got the tiled windows 8 styled menu. But , as you stated, it is complicated to implement live tiles , there was no support for that and my start screen looked terrible. Without the tiles being lively they are more like colorful square shortcuts pinned in a grid. Their 'liveliness' is what makes the whole start screen (and consequently , the whole windows phone experience) awesome. It's what makes them tick. Not saying you implement them right now but a way should be thought of when this project reaches ,say, beta (whatever beta might mean in this project's context).

I don't mean to dictate anything. Please consider the above as a humble request.

I also want to add that I am a big fan of your work (just fished out my github account to comment this). I would help but as of now I have neither time nor relevant skills (I hope to get some free time after a few months ).

DrewNaylor commented 3 years ago

Thank you for taking the time to comment this, it's nice to hear someone else's opinion on things and I didn't expect anyone to notice so soon!

Regarding the rounded corners, the only way that's ever happening is if people other than myself decide to create a third-party theme that looks different from the Windows Phone 8.x aesthetic, and that's only if I figure out a way to let people use third-party themes to begin with (which I want to do because I know my theming won't be perfect to everyone's tastes). For example, maybe someone wants a Windows XP-styled Windows Phone UI for some reason. One goal of this project is to go beyond what Microsoft allowed, and custom themes fits that.

With blur, I don't plan on adding it, but third-party themes might be able to add it if people wanted Aero Metro or something. I don't even know how to use XAML blur effects and I'd probably do a bad job compared to someone who knows what they're doing, so it would turn out even worse. If it turns out that there are major issues with blurred themes, the most I'll do is fix those issues so people can use blurred themes if they want to, but the light and dark WP8.x themes will be the only built-in ones (with accent colors, of course). One thing I do plan on adding is the parallax Start screen wallpaper scrolling effect that WP8.1 had since it was really cool, but fortunately there's no blur involved. Probably should add a way to turn off the parallax scrolling if people don't like it while I'm at it.

With regards to live tiles, the best solution I can think of right now is Python scripts that somehow interact with tile data. Read that from somewhere else online and thought it would be a good idea. Tiles in general are going to have a lot of properties like position, size, and color (if the user doesn't want it to use the accent color or a toggleable "color from icon" feature doesn't get the color they want), so adding a field for Python scripts makes sense. There should probably be a way for people to turn off the script for a tile if it runs too much or bothers them but they don't want it to be small, just like on Windows 10 (one of the few planned features from 10). Some live tiles like the calendar showing the day should probably still work in small view, so maybe there can be a "works in small view" variable to allow that. Not exactly sure how the Python scripts will exist. Maybe there'll be a folder path that RetiledStart looks for and if it finds a script that corresponds to a .desktop file, it'll meld the two into the live tile. As an example, perhaps there's a script named thunderbird.py that gets the number of new emails from Thunderbird (thunderbird.desktop, I assume is the name) somehow.

TheMobilizer commented 3 years ago

Thanks for replying. I actually watched your pinephone video .

Regarding the rounded corners, the only way that's ever happening is if people other than myself decide to create a third-party theme that looks different from the Windows Phone 8.x aesthetic, and that's only if I figure out a way to let people use third-party themes to begin with (which I want to do because I know my theming won't be perfect to everyone's tastes). For example, maybe someone wants a Windows XP-styled Windows Phone UI for some reason. One goal of this project is to go beyond what Microsoft allowed, and custom themes fits that.

With blur, I don't plan on adding it, but third-party themes might be able to add it if people wanted Aero Metro or something. I don't even know how to use XAML blur effects and I'd probably do a bad job compared to someone who knows what they're doing, so it would turn out even worse. If it turns out that there are major issues with blurred themes, the most I'll do is fix those issues so people can use blurred themes if they want to, but the light and dark WP8.x themes will be the only built-in ones (with accent colors, of course). One thing I do plan on adding is the parallax Start screen wallpaper scrolling effect that WP8.1 had since it was really cool, but fortunately there's no blur involved. Probably should add a way to turn off the parallax scrolling if people don't like it while I'm at it.

I second this approach to rounded corners and I think we should not be thinking about blur at this point.

With regards to live tiles, the best solution I can think of right now is Python scripts that somehow interact with tile data. Read that from somewhere else online and thought it would be a good idea. Tiles in general are going to have a lot of properties like position, size, and color (if the user doesn't want it to use the accent color or a toggleable "color from icon" feature doesn't get the color they want), so adding a field for Python scripts makes sense. There should probably be a way for people to turn off the script for a tile if it runs too much or bothers them but they don't want it to be small, just like on Windows 10 (one of the few planned features from 10). Some live tiles like the calendar showing the day should probably still work in small view, so maybe there can be a "works in small view" variable to allow that. Not exactly sure how the Python scripts will exist. Maybe there'll be a folder path that RetiledStart looks for and if it finds a script that corresponds to a .desktop file, it'll meld the two into the live tile. As an example, perhaps there's a script named thunderbird.py that gets the number of new emails from Thunderbird (thunderbird.desktop, I assume is the name) somehow.

I think focus should first be on implementing a static , non-live start ( the kind you state in readme ) and then when we have a start screen ( one which scrolls while dragging on the tiles ), app list , action center and navigation bar , we should try to add some rudimentary support for the live part of the tiles. Maybe we will have a better idea then . Oh , and by the way I set up C# and Avalonia on my linux machine. I also compiled retiled and ran the start. As someone who has never touched C# on linux ( the last time I used C# was 3-4 years ago on windows 10 ) is it viable to program using it and Avalonia on linux ?

DrewNaylor commented 3 years ago

You're welcome! Yeah, a static Start screen is my current focus just to make things simple for now. So far I've just been developing it in Visual Studio on Windows, but it may be possible to do some development things on Linux considering Avalon Studio is a cross-platform IDE for it (haven't used it and it hasn't been updated since 2019 according to the repo I found, so it might not work; VS Code might be a better idea as Avalonia's readme says it can open cross-platform projects on Linux). Something that may be an issue with developing on Linux but I'm not sure if it would be is that some code is VB.NET, and I don't know if VS Code has support for it.

DrewNaylor commented 3 years ago

An update on blur: As stated in the readme, at some point in the future, tiles will have an option to use blur behind the icon when combined with a Start screen wallpaper. Some people may want their lockscreen to be consistent with their tiles, so there will eventually be an option to blur the lockscreen wallpaper. Blurring intensity will be configurable and will be off by default. Any blur aside from tile and lockscreen background blur will need to be implemented by third-party themes.

TheMobilizer commented 3 years ago

An update on blur: As stated in the readme, at some point in the future, tiles will have an option to use blur behind the icon when combined with a Start screen wallpaper. Some people may want their lockscreen to be consistent with their tiles, so there will eventually be an option to blur the lockscreen wallpaper. Blurring intensity will be configurable and will be off by default. Any blur aside from tile and lockscreen background blur will need to be implemented by third-party themes.

That's an awesome idea! I'm all in for this kind of blur!

DrewNaylor commented 3 years ago

Thank you, glad you think the same!

DrewNaylor commented 2 years ago

This page on Windows Phone theme resources will probably be very helpful in figuring out what values to use for various items: https://docs.microsoft.com/en-us/previous-versions/windows/apps/ff769552(v=vs.105)

DrewNaylor commented 1 year ago

From that link, textboxes are supposed to have a border outline of 3, not 2. I'll see if I like how 3 looks and change it, otherwise it'll stay 2. Edit: nah, I'm keeping it at 2, because 3 feels cramped and I might have not even read the page correctly.