graviton.netlify.app
Minimalist python tkinter text editor. GitHub Gist: instantly share code, notes, and snippets. Raven is a minimalistic, distraction-free text editor for novelists, with beautiful typography and organisational features. Safari pdf viewer default.
Graviton is a open source, cross-platform, minimalist-looking code editor. Squish 1 0.
How to save imovie on mac. You can download it for Windows, MacOS, and GNU/Linux from Graviton's Website, or try the experimentalOnline Version.You can also download weekly (probably unstable) releases from the Releases section.
Copy the code and paste it at checkout. Halloween Copy Copied. Your work will flow smoothly with the help of minimalist writing interface. Back Up to Secure Cloud. Is a Distraction-Free Text Editor with Just the Right Features LifeHacker.
Graviton is a open source, cross-platform, minimalist-looking code editor. Squish 1 0.
How to save imovie on mac. You can download it for Windows, MacOS, and GNU/Linux from Graviton's Website, or try the experimentalOnline Version.You can also download weekly (probably unstable) releases from the Releases section.
Copy the code and paste it at checkout. Halloween Copy Copied. Your work will flow smoothly with the help of minimalist writing interface. Back Up to Secure Cloud. Is a Distraction-Free Text Editor with Just the Right Features LifeHacker.
✨ Features
NOTE:Some of these features may not be released as an official build yet, but they are already implemented in the source code.
- 🧬 Git integration
- 💻 Integrated Terminal
- ✍🏻 Intellisense (experimental) and autocompletion
- 💆♀️ Privacy is guaranteed (no telemetry)
- 😇 More respectful on RAM than other alternatives
- 🛢 Workspaces
- 🟢 NPM scripts integration
- 💅 Modern UI
- 🎨 Themes
- 📦 Plugins
- 🗺 Built-in image previewer
- 📝 Multi line editing
📣 Community
- 📢Telegram Channel
- 💬Discord Server
🏗 Resources
🎁 Donating
- BTC address: 1HCBeYD564Y3AjQ3Ci6Fp2zosfZvevJuu6
- Paypal: https://www.paypal.me/mkenzo8
Donators
- Rôdeuse
- Alex Mayol
- Cristina Piva
Thank you for the donations!
🖥 Available platforms
Android to ipod transfer. Windows
Executable (.exe, 64bits)
Linux
Appimage (.appimage)
Debian package (.deb)
RPM (.rpm)
- You can manually build from source code for more platforms if you wish.
MacOS
Minimalist Code Editor Download
DMG file (.dmg)
The current state is beta, check the releases page to download the latest version.
🧾 License
MIT License
Minimalist Code Editor
Copyright (c) Marc Espín Sanz Touch in public music video.
👽 Contributors
# |
# Simple code editor with syntax highlighting |
# |
# import Libraries |
importtkinterastk |
fromtkinterimportttk |
fromtkinterimportfiledialog |
# create new file |
defnew_file(): |
# if text wasn't changed |
ifnottext_area.edit_modified(): |
# clear text area |
text_area.delete('1.0', tk.END) |
# otherwise |
else: |
# call 'save as' function |
save_file_as() |
# clear text area after |
text_area.delete('1.0', tk.END) |
# clear 'is_modified' flag |
text_area.edit_modified(0) |
# restore window title |
main_window.title('Notepad') |
# open existing file |
defopen_file(): |
# if text wasn't changed |
ifnottext_area.edit_modified(): |
# try to open file |
try: |
# get the path of file to open |
path=filedialog.askopenfile(filetypes= (('Text files', '*.txt'), ('All files', '*.*'))).name |
# store path in window title for later reference |
main_window.title('Notepad - '+path) |
# open file stream |
withopen(path, 'r') asf: |
# clear text area and insert file content |
content=f.read() |
text_area.delete('1.0', tk.END) |
text_area.insert('1.0', content) |
# clear 'is_modified' flag |
text_area.edit_modified(0) |
# exception is thrown if 'Cancel' button is clicked on 'Open file dialogue' |
except: |
pass |
# otherwise |
else: |
# call 'save as' function |
save_file_as() |
# clear 'is_modified' flag |
text_area.edit_modified(0) |
# call 'open_file' function recursively |
open_file() |
# save current file |
defsave_file(): |
# try to get current file path |
try: |
# get file path from window title |
path=main_window.title().split('-')[1][1:] |
# init path variable to empty string on exception |
except: |
path=' |
# check if file path is available |
ifpath!=': |
# write file |
withopen(path, 'w') asf: |
content=text_area.get('1.0', tk.END) |
f.write(content) |
# otherwise call 'save as' function |
else: |
save_file_as() |
# clear 'is_modified' flag |
text_area.edit_modified(0) |
defsave_file_as(): |
# try to get file path |
try: |
path=filedialog.asksaveasfile(filetypes= (('Text files', '*.txt'), ('All files', '*.*'))).name |
main_window.title('Notepad - '+path) |
# return if 'Cancel' button is clicked on 'Save file dialogue' |
except: |
return |
# otherwise write file to disk |
withopen(path, 'w') asf: |
f.write(text_area.get('1.0', tk.END)) |
# create main window instance |
main_window=tk.Tk() |
# configure main window |
main_window.title('Notepad') |
main_window.geometry('800x600') |
# create menu bar instance |
menubar=tk.Menu(main_window) |
# create 'File' menu items |
file_menu=tk.Menu(menubar, tearoff=0) |
file_menu.add_command(label='New', command=new_file) |
file_menu.add_command(label='Open', command=open_file) |
file_menu.add_command(label='Save', command=save_file) |
file_menu.add_command(label='Save as.', command=save_file_as) |
file_menu.add_separator() |
file_menu.add_command(label='Exit', command=main_window.quit) |
# add 'File' menu to the menu bar |
menubar.add_cascade(label='File', menu=file_menu) |
# create text area to input text |
text_area=tk.Text(main_window) |
text_area.pack(expand=tk.YES, fill=tk.BOTH, side=tk.LEFT) |
# create scrollbar and link it to the text area |
scroll_bar=ttk.Scrollbar(main_window, orient=tk.VERTICAL, command=text_area.yview) |
scroll_bar.pack(fill=tk.Y, side=tk.RIGHT) |
text_area['yscrollcommand'] =scroll_bar.set |
# Connect menubar to the window |
main_window.config(menu=menubar) |
# run main application loop |
tk.mainloop() |