Git Product home page Git Product logo

notepad's Introduction

Notepad

A Fluent-style Notepad-application because Microsoft doesn't make it.

The design of the app has been inspired by the work of Michael West, go give that man your cheers over on his website ;)

Get the app

For purists: you can build and tinker with the project yourself.

For anyone else who hasn't lost his/her mind yet: you can also just download the signed app from the Microsoft Store here

Supported Windows versions

Minimal supported Windows 10 version: 16299 (Fall Creators Update)

Minimal supported Windows 10 version (mobile-branch): 15086 (Creators Update)

Currently supported systems:

  • Windows 10 Desktop ✔
  • Windows 10 Mobile ✔ --> Using the Mobile-branch
  • Windows 10 Team ✔
  • Windows 10 Holographic ✔
  • Windows 10 Xbox ❌

Screenshots

1 2 3 4 5

Support me

Like this project? Buy me a coffee

notepad's People

Contributors

fjdufou avatar ikarago avatar marcant01 avatar prayaas-a avatar wiesmak avatar yaira2 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  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  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  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notepad's Issues

File marked as edited whilst it has not been edited since opening

When opening a file from File Explorer it'll mark the file as Edited in the app while they've only been opened. This has been referenced in Issue #21 by me but in the end was unrelated to that particular issue.

Reproduction steps:

  1. Open a file from File Explorer
  2. File will open in Notepad and show the Edited mark.

This does not happen when opening a file from within the Notepad-app itself.

MS Store version not up to date?

I see that the latest commit is from early July and the code contains a search feature. It's missing from the version that's currently up on the Microsoft Store. In case you haven't submitted it already, you may wanna submit this version.
For further clarity in the future, perhaps there can be a document hosted here on GitHub that tracks the status of current and future releases with estimated dates of submission/arrival/approval. :)

Cache/Auto-recover feature

Here's a feature proposal that would give it the leg up over classic Notepad.

A feature similar to AutoRecovery in Office (although it doesn't need to be as sophisticated) to help users pick up their docs they may have lost unexpectedly, with a few caveats.

Rationale: Users will often keep Notepad open to use like a "sticky notes" app in that they write or paste things in it with as a temporary clipboard of sorts with no intention of ever saving it as a file. Notepad is primarily a file based app but we should support and keep in mind this use-case. Example scenario of losing unsaved data: You have something in Notepad, you minimize it, lock your computer and step away from it, Windows 10 decides to restart without warning, and bam your document is gone.

Solution: A simple, bare-bones caching system that allows users to recover files at startup.

Proposed implementation: On app startup, Notepad will asynchronously and lazily (i.e., once the app is fully loaded and a blank document is in view for the user to start typing) check if the cache file is present in the app directory (and is not empty) and make a copy of it to work with. If so, it gives users a non-intrusive option, perhaps at the bottom of the app window to restore it. If users have started typing already, they shouldn't lose their progress. We can discuss how it works.
We could have one cache file that stores unsaved changes (and is cleared out any time the Save command is used). One way is to use a timer. We could save the document every few seconds. We do not need to save every single character entered - that will just slow the app down. Users will be happy if they get 80 words out of 100 back.
This is what a workflow looks like:
Blank/opened document -> user starts typing -> this triggers the timer -> now there will be a delay (Thread.Sleep in a new thread perhaps) and contents will be written to cache AFTER 10 seconds or so -> timer will stop. Only if the user starts typing again, the timer will be triggered. This is important to make sure that we don't keep caching the same thing over and over even when the user isn't making any changes.
If there is an active timer already, no further timers will be triggered until this one finishes. That way, every keystroke doesn't start its own thread.

I don't know if this is feasible or even a good implementation. Let me know your thoughts and concerns + painfully obvious things I may have missed. I'll be happy to work on the code and see if it's working!

Fix command bar

Reveal affect does not look good on the command bar since the button to show more is bigger then the other buttons.
image

Preserve font settings

Currently the app doesn't save font settings and always applies default font when a new document is created. Since the ability to preserve these settings is useful in some cases like temporarily saving hex codes in Consolas font, it would save time a lot.
(I'm not a native English speaker, so please pardon my English skill.)

Better exception handling

Currently some stuff is handled via Debug WriteLine text, while other things are not exception handled at all.

In order to improve bugtracking this needs to be improved to proper exception handling, so errors will become easier to recognize and fixable in the future.

Fluent ContentDialog doesn't work

When using FluentDialog as a Style for the ContentDialog it'll show up properly in the XAML Designer but the dialog will not appear during actual runtime.

Exit dialog should be an extension of Unsaved Changes dialog

In the Win32 Notepad, when you click on the X icon to close the window, you are asked if you would like to save the changes, not whether you'd like to discard them. Save is the default, highlighted option.
This is similar to what this app shows when you try to create a new document while one is in progress. The exit confirmation dialog should be more similar to that. It should just be the Unsaved Changes dialog with the extra text, "before you exit".

If you want, I can make this change.

Add status bar

An optional status bar (that can be turned on and off in setting) at the bottom of the app with information such as line numbers etc would be nice.

Build native ARM64 packages

Currently only regular ARM packages are being build. Find out how to enable proper building of ARM64 packages of this app and a way to test them before rolling out again. This so ARM64 users are able to take full advantage of their hardware while keeping the needed resources down.

Rich Text Support

Rich Text Support (for .rtf files) might be a good long-term goal to have. When in rich text mode, we could enable Bold, Italic, etc.

Option for silencing action notifications in app

Need to be able to turn off the notification of completion/cancellation of an action in the app.

Ex) File opened, Can't save file.

I think the "Can't Save File" should only appear if there's a legitimate issue halting the saving of a file instead of cancelling the save.

CommandBar Flyout Visual Bug

Oops! Wrong project. This issue was meant for Revent.

Not sure if it's intended but on minimum width, the flyout (Settings and About) is so wide it extends out of the main window. 😅 Otherwise, the width is fine.

image

Text isn't always wrapped while TextWrapping option is on

Sometimes after bootup the TextWrapping feature doesn't work as expected and needs to be turned off and on again in order to work. This needs to be on (and work) by default.

This bug only occurs after installing the app (and before you set the TextWrapping in the Settings)

Support for monotype font

Please add support for a monotype font like the system notepad. There could be an option to switch between serif, sans-serif or monotype, or even a complete font selector, including size, to select the preferred text rendering.

Support for Desktop Bridge for light up icon

This will be handy when discard changes dialog will appear, as the dialog cannot appear when app is not in foreground (I suppose uwp limitation).
Here a sample from original Notepad
image

Window transparency

Hi,
Is there a way to enable notepad transparency in 1.9.4.0 version like it was in 1.9.0.0? App loses its visual charm without it :(

Great job with fixing ANSIs though 👍
Cheers

ANSI files won't open

Hi,
Txt files saved in ANSI won't open. When you try, it just opens blank untitled notepad instead.

Keep up the good work :)

Add Spell Checker

As the right-click context menu is provided by the system adding the spell checker isn't supposed to cause issues. An example of this implementation is Unigram chat search right-click menu (designed for Anniversary Update and above, so different from the one in Notepad).

Streamline FileDataService

Currently the FileDataService has some redundant code. Streamline this so making changes in the future will be less error prone.

Problems in creating file via explorer integration

Steps to reproduce:

  1. Set Notepad as default app for .txt file;
  2. Create a .txt file from explorer context menu;
  3. Open the file and modify it;
  4. Press save

This point instead of saving the current file, it will ask to save it as a new file

App fails to initialize

App fails to initialize for some users. Possibly caused by in-proper initialization of the Data as @prayaas-a mentioned in Issue #31, but not sure what the actual root cause is.

I've added the stacktrace from the Dev Center below.
stackTrace.txt

The first instances of this bug have been popping up since the release of version v1.7.5.0 (cb3a7c6), with the introduction of the fonts options.

I haven't able to reproduce this bug on my devices, so if anyone has any additional information on how to reproduce this bug, please let me know so I can fix it for good. :)

Col doesn't update properly

In the status bar, Line updates but Col doesn't reset to 1 when a new line is inserted.

image

As you can see, the current selection isn't at 19.

SpellChecker isn't enabled when turned on

The SpellChecker doesn't work when booting the app; it needs to be turned off and back on again in order to work.

Repo steps:

  1. Open the app with the SpellChecker toggle enabled in Settings
  2. Type something with a spelling error.
  3. SpellChecker doesn't mark the incorrectly spelled word.

Workaround mode:
4) Open Settings
5) Turn off Spell Checker
6) Turn it back on again
7) Close the Settings Dialog
The incorrectly spelled word will now be marked as such.

Optimize for Xbox

Currently the app is pretty barebones for Xbox. It needs to be optimized a bit more to make it look and control better on Xbox.

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.