diff --git a/data/gui.xml b/data/gui.xml
index 95514afe3..185c6fa1e 100644
--- a/data/gui.xml
+++ b/data/gui.xml
@@ -583,6 +583,10 @@
+
+
@@ -669,11 +673,6 @@
-
diff --git a/data/scripts/white_to_alpha.lua b/data/scripts/white_to_alpha.lua
deleted file mode 100644
index 7211e0863..000000000
--- a/data/scripts/white_to_alpha.lua
+++ /dev/null
@@ -1,17 +0,0 @@
--- Aseprite
--- Copyright (C) 2015-2018 by David Capello
-
-local pc = app.pixelColor
-local img = app.activeImage
-
-for y=0,img.height-1 do
- for x=0,img.width-1 do
- local c = img:getPixel(x, y)
- local r = pc.rgbaR(c)
- local g = pc.rgbaG(c)
- local b = pc.rgbaB(c)
- local a = pc.rgbaA(c)
- if a > 0 then a = 255 - (r+g+b)/3 end
- img:putPixel(x, y, pc.rgba(r, g, b, a))
- end
-end
diff --git a/data/strings/en.ini b/data/strings/en.ini
index b9eaa2c1e..521c544dc 100644
--- a/data/strings/en.ini
+++ b/data/strings/en.ini
@@ -315,6 +315,7 @@ OpenBrowser = Open Browser
OpenFile = Open Sprite
OpenGroup = Open/Close Group
OpenInFolder = Open In Folder
+OpenScriptFolder = Open Script Folder
OpenWithApp = Open With Associated Application
Options = Preferences
PaletteEditor = Switch{0}{1}{2}
@@ -646,6 +647,8 @@ file_close_all = Close All
file_import_sprite_sheet = &Import Sprite Sheet
file_export_sprite_sheet = &Export Sprite Sheet
file_repeat_last_export = Repeat &Last Export
+file_scripts = Scri&pts
+file_open_script_folder = &Open Scripts Folder
file_exit = E&xit
edit = &Edit
edit_undo = &Undo
diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
index 9de0e6a1b..a23f5f939 100644
--- a/src/app/CMakeLists.txt
+++ b/src/app/CMakeLists.txt
@@ -144,6 +144,7 @@ if(ENABLE_SCRIPTING)
if(ENABLE_UI)
set(scripting_files_ui
commands/cmd_developer_console.cpp
+ commands/cmd_open_script_folder.cpp
ui/devconsole_view.cpp)
endif()
set(scripting_files
diff --git a/src/app/app_menus.cpp b/src/app/app_menus.cpp
index 2f387277f..e722177b9 100644
--- a/src/app/app_menus.cpp
+++ b/src/app/app_menus.cpp
@@ -368,6 +368,44 @@ void AppMenus::reload()
KeyboardShortcuts::instance()->importFile(fn, KeySource::UserDefined);
}
+ // Add one menu item to run each script from the user scripts/ folder
+ {
+ MenuItem* scriptsMenu = dynamic_cast