Code Monkey home page Code Monkey logo

startpage-for-playnite's Introduction

StartPage-for-Playnite

Playnite Add-ons Page

Extension for Playnite that adds a configurable start page.

The layout can be customized by splitting and merging panels in a grid when in Edit Mode (can be opened by left-clicking the background). Each panel can have a view attached to it and views can be swapped in Edit Mode via drag-and-drop.

Default Mode Edit Mode
grafik grafik

Crowdin

ko-fi

Features

  • Open StartPage when Playnite launches
  • Support for Playnite's notifications
  • Support for the global progress bar on the StartPage
  • Customizable layout
  • Customizable background image
    • Source can be the background image of a random game, the background of the last played game and a few more
    • Can also be set to a fixed image or a folder of images
    • Adjustable blur and noise overlay
    • Customizable transition animation
  • Built-in views as well as support for other extensions to add views to StartPage (see here)

External Views

Other views can be added by other extensions. For some info on how to add support for StartPage to an extension, see here.

Known extension with StartPage support (potentially incomplete):

Extension Views
PlayState PlayState manager
QuickSearch Search bar
ScreenshotVisualizer Carousel
HowLongToBeat Chart stats
Play Next Top Recommendations

Built-in Views

StartPage comes with a set of built-in views.

Game Shelves

Game Shelves with customizable sorting, grouping and filters.

Shelves Shelve Properties
grafik grafik

Clock

Clock also showing the current date. Uses the system time format.

grafik

Weekly Activity

Brief summary of the playtime in the last 7 days. Requires the GameActivity extension.

grafik

Most Played

Shows most played games for different timeframes. Can be customized in Edit Mode. Requires the GameActivity extension.

grafik

Recent Achievements

Shows recent achievements. Requires the SuccessStory extension.

grafik

startpage-for-playnite's People

Contributors

felixkmh avatar lacro59 avatar mkatsevvr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

startpage-for-playnite's Issues

Enhancement Request: Toggle headers for views

I'd like to add headers for the 'most played' and 'achievements' views, same as they're displayed for the shelves. Perhaps an option to toggle a header for any view would work (along with the horizontal/vertical option).

Instant crash after updating GameActivity.

StartPage (1.9.2) seems to be incompatible with the most recent update of GameActivity (2.4). If both are enabled, and if StartPage is set to show GameActivity data, Playnite will crash immediately upon loading.

Wrong game in All Time

image
image

May be caused by artificially adding playtime to Minecraft, instead of it being added up through all the sessions?

shelve based layout

I'd suggest having the option to remove all the elements at the top and adding more shelves along the page. Each one could have filter, sorting and grouping settings with the option to limit how many games are there if you want to (in addition an option to expand the shelve into a grid perhaps).

Possible improvement when database changes and shelves are updated

I have an extension that hides games. After invoking the function to hide the games, Playnite freezed for several second. This doesn't happen if the current view is Playnite library.

I'm not familiar with how the extension works and was wondering if perhaps the extension updates the shelves on each game update event. As a possible fix, a timer could be used to only update after no new events are being received. Something like this:

Game update event 1 -> timer.Stop(); Timer.Start(); -> Game update event 2 -> timer.Stop(); Timer.Start(); ->Timer_Tick (Updates shelves)

Unsupported Launch options not working

As of 2.8.0, the Unsupported options 'Sidebaritem activated on launch' and 'Move Sidebar Item to Top of Sidebar on Launch' both fail for me.

I tried deactivating and reactivating them both individually.

Can anyone else confirm?

Setting to add padding to the view

As a suggestion, the view could use some padding to improve the layout and to make sure elements don't overlap with the window buttons with certain alignment options. Maybe it could be a setting, with a minimum padding (20 is what I usually use for views, so maybe that could work?) and have a setting to configure this value to the user preference.

image

Performance issues

Unfortunately my igpu really struggles with blur and certain effects in WPF. My igpu is an intel HD4600.

I don't know what could be done about this, maybe allow to reduce or disable the blur or the more complicated option to implement a faster blur method.

If you don't care about being able to see certain details of the game background image and just want the colors, I use a custom background blur solution made by Fuene in a theme that doesn't cause any performance impact and is pretty fast: https://github.com/darklinkpower/Helium/blob/master/source/Views/DetailsViewGameOverview.xaml#L18-L82

It looks like this but could be tuned up to produce different results by changing the opacity or other properties

image

[Enhancement Request] Option to ignore specific games for 'Most Played.'

I have an incremental/clicker game that I often like to leave running in the background. Unfortunately, this results in it dominating the most-played game slots on the start page. I'd appreciate an option to specifically ignore that game so it can show something different there.

It would also let me get rid of Windows Solitaire for the most-played of all-time, lol.

Thank you.

Shelves: Add option to use horizontal headers

Currently the shelves use vertical text, which I think is difficult to read and also can be cut if there's not enough space available

image

An example of horizontal text can be seen in Galaxy 2.0

image

Configured views not set correctly after updating

I've had this issue two times already where the configured views don't show as I've previously configured. The two times it has happened has been right after updating to a new StartPage version.

This is how it looks after updating:

image

The view that is on the upper left, was in the panel below like this before the bug. This is after moving it to the previous place.

image

Notice that even after moving, there is another Game Shelve in that same panel. So it seems that for some reason, the plugin placed two different ``Game Shelves `views in the same Panel:

image

This is the the configured panels before the bug happened:
image

After the bug, the configuration I had for the Game Shelves panel below got reverted to a configuration I had before and not the latest one so some shelves went missing, filters got reverted, etc.. This happened the previous time too:

image

There's nothing in the logs about the StartPage extension.

Incorrect "Date string" shown for recent played

Playnite Version: 9.18
Startpage Version: 2.7.0

Hi there,

just recently I found that the Startpage date string ('Today','Yesterday',etc.) are not correctly updated. It all works fine when Playnite is started, but when it runs 24h+ the day changed and it should update the labels. The update process worked correctly in previous versions, but I cannot say in which one(s), but now I may have multiple 'Today' strings shown. Interesting the games shown are sorted correctly, only the label is incorrect.

I'll append some screenshots when I have the time. (Did updates this morning so everything's ok right now)

error with start page extension

System.ArgumentNullException: La valeur ne peut pas être null.
Nom du paramètre : source
à System.Linq.Enumerable.All[TSource](IEnumerable1 source, Func2 predicate)
à LandingPage.ViewModels.LandingPageViewModel.IsRelevantUpdate(ItemUpdateEvent1 update) dans D:\Programmierung\playnite-dev\LandingPage\source\ViewModels\LandingPageViewModel.cs:ligne 507 à LandingPage.ViewModels.LandingPageViewModel.<>c.<Games_ItemUpdated>b__73_0(ItemUpdateEvent1 u) dans D:\Programmierung\playnite-dev\LandingPage\source\ViewModels\LandingPageViewModel.cs:ligne 487

Add way to remove added views

Sorry if I'm wrong but I searched and I couldn't find a way to remove views or splited views
If there isn't, I think it could be added to the right click submenu

image

error with new achievements

I'd recently Genshin Impact achievements and your plugin crash Playnite because it don't find the local image.
When I disabled your plugin, I've not any crash.

System.Windows.Markup.XamlParseException: L'initialisation de 'System.Windows.Media.Imaging.BitmapImage' a levé une exception. ---> System.IO.IOException: Impossible de trouver la ressource 'views/genshinimpact/ac.png'.
   à MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access)
   à System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access)
   à System.IO.Packaging.PackWebResponse.CachedResponse.GetResponseStream()
   à System.IO.Packaging.PackWebResponse.GetResponseStream()
   à System.IO.Packaging.PackWebResponse.get_ContentType()
   à System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle)
   à System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache)
   à System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
   à System.Windows.Media.Imaging.BitmapImage.EndInit()
   à MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)```

Crash when clicking on Startpage button in sidebar (1.4.4)

16-11 14:51:34.723|ERROR|PlayniteApplication:Unhandled exception occured. System.Windows.Markup.XamlParseException: Beim Festlegen der Eigenschaft "System.Windows.FrameworkElement.Style" wurde eine Ausnahme ausgelöst. ---> System.InvalidOperationException: Nicht alle Eigenschaftsverweise im Eigenschaftspfad "RenderTransform.Y" können aufgelöst werden. Stellen Sie sicher, dass geeignete Objekte die Eigenschaften unterstützen. bei System.Windows.Media.Animation.Storyboard.VerifyPathIsAnimatable(PropertyPath path) bei System.Windows.Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock, DependencyObject containingObject, INameScope nameScope, DependencyObject parentObject, String parentObjectName, PropertyPath parentPropertyPath, HandoffBehavior handoffBehavior, HybridDictionary clockMappings, Int64 layer) bei System.Windows.Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock, DependencyObject containingObject, INameScope nameScope, DependencyObject parentObject, String parentObjectName, PropertyPath parentPropertyPath, HandoffBehavior handoffBehavior, HybridDictionary clockMappings, Int64 layer) bei System.Windows.Media.Animation.Storyboard.BeginCommon(DependencyObject containingObject, INameScope nameScope, HandoffBehavior handoffBehavior, Boolean isControllable, Int64 layer) bei System.Windows.Media.Animation.BeginStoryboard.Begin(DependencyObject targetObject, INameScope nameScope, Int64 layer) bei System.Windows.Media.Animation.BeginStoryboard.Invoke(FrameworkElement fe, FrameworkContentElement fce, Style targetStyle, FrameworkTemplate frameworkTemplate, Int64 layer) bei System.Windows.StyleHelper.InvokeActions(TriggerBase triggerBase, DependencyObject triggerContainer, TriggerActionCollection actions, Style style, FrameworkTemplate frameworkTemplate) bei System.Windows.StyleHelper.InvokeEnterOrExitActions(TriggerBase triggerBase, Boolean oldState, Boolean newState, DependencyObject triggerContainer, Style style, FrameworkTemplate frameworkTemplate) bei System.Windows.StyleHelper.InvokePropertyTriggerActions(TriggerBase triggerBase, DependencyObject triggerContainer, DependencyProperty changedProperty, DependencyPropertyChangedEventArgs changedArgs, Int32 sourceChildIndex, Style style, FrameworkTemplate frameworkTemplate) bei System.Windows.StyleHelper.OnTriggerSourcePropertyInvalidated(Style ownerStyle, FrameworkTemplate frameworkTemplate, DependencyObject container, DependencyProperty dp, DependencyPropertyChangedEventArgs changedArgs, Boolean invalidateOnlyContainer, FrugalStructList1& triggerSourceRecordFromChildIndex, FrugalMap& propertyTriggersWithActions, Int32 sourceChildIndex)
bei System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
bei System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
bei System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
bei System.Windows.StyleHelper.ApplyStyleOrTemplateValue(FrameworkObject fo, DependencyProperty dp)
bei System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList1& exclusionContainerDependents, FrugalStructList1& oldContainerDependents, FrugalStructList1& newContainerDependents) bei System.Windows.StyleHelper.DoStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle) bei System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache) bei System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) bei System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) bei System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) bei System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) bei System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) bei System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal) bei System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value) bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value) bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value) --- Ende der internen Ausnahmestapelüberwachung --- bei System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri) bei System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri) bei System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream) bei System.Windows.Application.LoadComponent(Object component, Uri resourceLocator) bei LandingPage.Views.LandingPageView.InitializeComponent() in D:\Programmierung\playnite-dev\LandingPage\source\Views\LandingPageView.xaml:Zeile 1. bei LandingPage.Views.LandingPageView..ctor(LandingPageViewModel model) in D:\Programmierung\playnite-dev\LandingPage\source\Views\LandingPageView.xaml.cs:Zeile 37. bei LandingPage.LandingPageExtension.get_View() in D:\Programmierung\playnite-dev\LandingPage\source\LandingPageExtension.cs:Zeile 44. bei LandingPage.LandingPageExtension.ViewOpened() in D:\Programmierung\playnite-dev\LandingPage\source\LandingPageExtension.cs:Zeile 103. bei Playnite.DesktopApp.ViewModels.SidebarWrapperItem.Activation(Object arg) in C:\projects\playnite\source\Playnite.DesktopApp\ViewModels\DesktopAppViewModel_Sidebar.cs:Zeile 130. bei Playnite.SDK.RelayCommand1.Execute(Object parameter) in C:\projects\playnite\source\PlayniteSDK\RelayCommand.cs:Zeile 199.
bei MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
bei System.Windows.Controls.Primitives.ButtonBase.OnClick()
bei System.Windows.Controls.Button.OnClick()
bei System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
bei System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bei System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
bei System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
bei System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
bei System.Windows.Input.InputManager.ProcessStagingArea()
bei System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
bei System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bei System.Windows.Application.RunDispatcher(Object ignore)
bei System.Windows.Application.RunInternal(Window window)
bei System.Windows.Application.Run(Window window)
bei Playnite.DesktopApp.ProgramEntry.Main(String[] args) in C:\projects\playnite\source\Playnite.DesktopApp\ProgramEntry.cs:Zeile 61.
16-11 14:51:34.749|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ExtensionCrashHandlerWindowFactory
`

Crash when opening

I just installed it from add-on browser and clicked the button, crashes every time.

System.NullReferenceException: Object reference not set to an instance of an object.
   at LandingPage.ViewModels.LandingPageViewModel.Update() in D:\Programmierung\playnite-dev\LandingPage\source\ViewModels\LandingPageViewModel.cs:line 73
   at LandingPage.LandingPageExtension.get_ViewModel() in D:\Programmierung\playnite-dev\LandingPage\source\LandingPageExtension.cs:line 67
   at LandingPage.LandingPageExtension.<GetSidebarItems>b__21_0() in D:\Programmierung\playnite-dev\LandingPage\source\LandingPageExtension.cs:line 90
   at Playnite.DesktopApp.ViewModels.SidebarWrapperItem.Activation(Object arg) in C:\projects\playnite\source\Playnite.DesktopApp\ViewModels\DesktopAppViewModel_Sidebar.cs:line 130
   at Playnite.SDK.RelayCommand`1.Execute(Object parameter) in C:\projects\playnite\source\PlayniteSDK\RelayCommand.cs:line 199
   at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)

Option to adjust height of extension view/allow to use more area

Currently the extension view will use the height of the window. This can cause the area to be quite limited when:

  1. Playnite is in windowed mode
  2. Display has low resolution
  3. DPI is high (125% or more for example)

Screenshot 1920x1080 125% DPI
image

image

As an option, it could use a scrollviewer that allows to use more height than what the window has

"Most Played" data incorrect

  • StartPage Version: 2.6.0
  • Playnite Version: 9.18

TLDR: The "Most Played" widget is displaying the same game for all time periods except "All Time".

In my current configuration, I have Borderlands 3 displaying as the most played in the "Last Month", "Last Year" and "Last 5 Years", and Final Fantasy XIV in "All Time".

But what I would expect to see is;

  • Last Month: Borderlands 3 (last played 13/06/2022, total playtime 35 hours)
  • Last Year: Assassin's Creed: Valhalla (last played 08/04/2022, total playtime 128h)
  • Last 5 Years: The Witcher 3: Wild Hunt (last played 09/02/2020, total playtime 165h)
  • All Time: Final Fantasy XIV (last played 29/05/2017, total playtime 748h)

This was working before the update that allowed us to choose the displayed time periods, and stopped working as soon as that update was applied (before changing the display settings).

I've tried multiple combinations since but it always displays Borderlands 3 for everything except "All Time".

If I tag Borderlands 3 as "[SPG] Most Played Hadden" and restart Playnite, the bug persists but with the next most played game of the month appearing in all panels (except "All Time") - in my example this is Just Cause 4 (last played 16/05/2022, total playtime 20h) - removing this tag puts Borderlands 3 back in them all.

[Enhancement Request] Allow multi-line shelves

With only one shelf, there can be a lot of wasted vertical space.

2022-01-31 03_00_56-Playnite

Allowing a single shelf to overflow onto a second row would allow the user to display more games and not waste that space.

Thanks in advance.

Option to change Most Played to Most Played Recently

I'm hoping it would be possible to add an option to change the Most Played game to show the Most Played Recently instead.

The game I've played the most is not a game I'm playing these days, and it's not a play time I'm likely to beat any time soon.

It would be more useful for me to see the game I've played the most during the last week, month or even year instead. (Different options for time inteval would be even more welcome here).

Enhancement Requests: Additional options for "Most Played" view

A few ideas that I think would make it more useful; take or leave as you will.

  1. The option to display the second or thirdmost most played game for a specific period.
  2. Along with that, the option to either display more than 3 games at a time, or have multiple 'most played' views with separate settings.

Thanks.

Scaling issues

Using 125% DPI 1080p screen

Game covers don't fit the parent control

image

Also the tooltip seems to be cut when there are too many items in features

image

Update fails from addons browser

This means there is something wrong with the installer manifest or the referenced files doesn't exist

image

Edit: The issue is that the 1.0.1 release doesn't exist. Latest is 1.0

image

Game details not readable when video is playing and layout change suggestion

Text can be difficult to read if the video is displaying certain colors

image

image

Personally I'm not a fan of overlapping the video for this reason and also because the video is cropped to fit the popup

As a proposal, here is a mockup of a vertical popup, which is similar to what Playnite uses for the GridView details:

image

Here are some examples of other software using a vertical layout in popups:

Steam library:

image

Steam store:

image

SteamDB:

waterfox_Dp3YnU949d.mp4

Typo

The Most Played view has an option for "Last 6 Month." I think that should be 'Months' instead.

Thanks!

Make Game Shelves settings specific to instance

Currently the settings apply globally to all Game Shelves instance. I think it could be better if it applied individually. To provide an example, I have set a maximum width so the covers use the width for my screen for the panel in the lower side but since the setting applies globally, it also affects the panel on the upper left side:

image

This is what I could achieve if settings were instance specific:

image

These are the settings that I think could be made instance specific:

image

Last Played: Covers clipping

If the pane isn't wide enough to accommodate the selected number of covers, it truncates like so:

2022-05-07 22_26_56-Playnite

Preferably, it would resize the covers instead.

Thank you!

StartPage crashes

I just updated to the newest StartPage version and it crashes instantly when I press the StartPage button on the left sidebar. I don't know exactly if it worked before as I didn't try it yet. Log is attached:

playnite-log.zip

Text layout suggestion

In my opinion have the text sideways is not ideal so as a suggestion, having the sections text horizontal like this and increasing its size by using a larger font could work

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.