From daf6b30b4671c6eede62abf7613207ba050c1051 Mon Sep 17 00:00:00 2001 From: TheFloW Date: Fri, 17 Mar 2017 22:48:36 +0100 Subject: [PATCH] Update v1.60 --- CMakeLists.txt | 13 +- README.md | 45 +++-- init.c | 140 +++++++++----- modules/kernel/CMakeLists.txt | 48 +++++ modules/kernel/exports.yml | 15 ++ modules/kernel/main.c | 173 ++++++++++++++++++ modules/kernel/vitashell_kernel.h | 26 +++ resources/changeinfo.txt | 19 ++ resources/{ => default}/archive_icon.png | Bin resources/{ => default}/audio_icon.png | Bin resources/{ => default}/battery.png | Bin .../{ => default}/battery_bar_charge.png | Bin resources/{ => default}/battery_bar_green.png | Bin resources/{ => default}/battery_bar_red.png | Bin resources/{ => default}/colors.txt | 0 resources/{ => default}/cover.png | Bin resources/{ => default}/fastforward.png | Bin resources/{ => default}/fastrewind.png | Bin resources/{ => default}/file_icon.png | Bin resources/{ => default}/folder_icon.png | Bin resources/{ => default}/ftp.png | Bin resources/{ => default}/image_icon.png | Bin resources/{ => default}/pause.png | Bin resources/{ => default}/play.png | Bin resources/{ => default}/sfo_icon.png | Bin resources/{ => default}/stop.png | Bin resources/{ => default}/text_icon.png | Bin resources/electron/archive_icon.png | Bin 0 -> 403 bytes resources/electron/audio_icon.png | Bin 0 -> 694 bytes resources/electron/battery.png | Bin 0 -> 281 bytes resources/electron/battery_bar_charge.png | Bin 0 -> 997 bytes resources/electron/battery_bar_green.png | Bin 0 -> 145 bytes resources/electron/battery_bar_red.png | Bin 0 -> 145 bytes resources/electron/bg_audioplayer.png | Bin 0 -> 23439 bytes resources/electron/bg_browser.png | Bin 0 -> 23068 bytes resources/electron/bg_hexeditor.png | Bin 0 -> 22835 bytes resources/electron/bg_photoviewer.png | Bin 0 -> 11181 bytes resources/electron/bg_texteditor.png | Bin 0 -> 22652 bytes resources/electron/colors.txt | 60 ++++++ resources/electron/context.png | Bin 0 -> 1831 bytes resources/electron/context_more.png | Bin 0 -> 1254 bytes resources/electron/cover.png | Bin 0 -> 5685 bytes resources/electron/dialog.png | Bin 0 -> 5156 bytes resources/electron/fastforward.png | Bin 0 -> 1251 bytes resources/electron/fastrewind.png | Bin 0 -> 1255 bytes resources/electron/file_icon.png | Bin 0 -> 282 bytes resources/electron/folder_icon.png | Bin 0 -> 249 bytes resources/electron/ftp.png | Bin 0 -> 450 bytes resources/electron/image_icon.png | Bin 0 -> 488 bytes resources/electron/pause.png | Bin 0 -> 412 bytes resources/electron/play.png | Bin 0 -> 472 bytes resources/electron/sfo_icon.png | Bin 0 -> 522 bytes resources/electron/text_icon.png | Bin 0 -> 394 bytes resources/kernel.skprx | Bin 0 -> 2366 bytes resources/umass.skprx | Bin 0 -> 7070 bytes theme.c | 87 +++++---- 56 files changed, 521 insertions(+), 105 deletions(-) create mode 100644 modules/kernel/CMakeLists.txt create mode 100644 modules/kernel/exports.yml create mode 100644 modules/kernel/main.c create mode 100644 modules/kernel/vitashell_kernel.h rename resources/{ => default}/archive_icon.png (100%) rename resources/{ => default}/audio_icon.png (100%) rename resources/{ => default}/battery.png (100%) rename resources/{ => default}/battery_bar_charge.png (100%) rename resources/{ => default}/battery_bar_green.png (100%) rename resources/{ => default}/battery_bar_red.png (100%) rename resources/{ => default}/colors.txt (100%) rename resources/{ => default}/cover.png (100%) rename resources/{ => default}/fastforward.png (100%) rename resources/{ => default}/fastrewind.png (100%) rename resources/{ => default}/file_icon.png (100%) rename resources/{ => default}/folder_icon.png (100%) rename resources/{ => default}/ftp.png (100%) rename resources/{ => default}/image_icon.png (100%) rename resources/{ => default}/pause.png (100%) rename resources/{ => default}/play.png (100%) rename resources/{ => default}/sfo_icon.png (100%) rename resources/{ => default}/stop.png (100%) rename resources/{ => default}/text_icon.png (100%) create mode 100644 resources/electron/archive_icon.png create mode 100644 resources/electron/audio_icon.png create mode 100644 resources/electron/battery.png create mode 100644 resources/electron/battery_bar_charge.png create mode 100644 resources/electron/battery_bar_green.png create mode 100644 resources/electron/battery_bar_red.png create mode 100644 resources/electron/bg_audioplayer.png create mode 100644 resources/electron/bg_browser.png create mode 100644 resources/electron/bg_hexeditor.png create mode 100644 resources/electron/bg_photoviewer.png create mode 100644 resources/electron/bg_texteditor.png create mode 100644 resources/electron/colors.txt create mode 100644 resources/electron/context.png create mode 100644 resources/electron/context_more.png create mode 100644 resources/electron/cover.png create mode 100644 resources/electron/dialog.png create mode 100644 resources/electron/fastforward.png create mode 100644 resources/electron/fastrewind.png create mode 100644 resources/electron/file_icon.png create mode 100644 resources/electron/folder_icon.png create mode 100644 resources/electron/ftp.png create mode 100644 resources/electron/image_icon.png create mode 100644 resources/electron/pause.png create mode 100644 resources/electron/play.png create mode 100644 resources/electron/sfo_icon.png create mode 100644 resources/electron/text_icon.png create mode 100644 resources/kernel.skprx create mode 100644 resources/umass.skprx diff --git a/CMakeLists.txt b/CMakeLists.txt index b6a45d81..2ca3cbc8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,7 +48,18 @@ FUNCTION(ADD_RESOURCES out_var) SET(${out_var} "${result}" PARENT_SCOPE) ENDFUNCTION() -file(GLOB res_files RELATIVE ${CMAKE_SOURCE_DIR} resources/*.png resources/*.txt resources/*.bin resources/*.suprx resources/*.skprx) +file(GLOB res_files RELATIVE + ${CMAKE_SOURCE_DIR} + resources/default/*.png + resources/default/*.txt + resources/electron/*.png + resources/electron/*.txt + resources/*.png + resources/*.txt + resources/*.bin + resources/*.suprx + resources/*.skprx +) add_resources(vitashell_res ${res_files}) add_executable(VitaShell diff --git a/README.md b/README.md index 10975b03..ab21e089 100644 --- a/README.md +++ b/README.md @@ -3,36 +3,45 @@ VitaShell is an alternative replacement of the PS Vita's LiveArea. It offers you a file manager, package installer, built-in FTP and much more. This homebrew was an entry of the Revitalize PS Vita homebrew competition and won the first prize. HENkaku's molecularShell is also based on VitaShell. +### How to use an USB flash drive as Memory Card on a PS TV ### +- Format your USB flash drive as exFAT or FAT32. +- Launch VitaShell and press /\ in the 'home' section. +- Select 'Mount uma0:' and attach your USB flash drive. You can now copy stuff from/to your USB stick. +- Once 'uma0:' is listed under the partitions, press /\ again and choose 'Mount USB ux0:'. +- Your USB flash drive is now acting as a Memory Card. +- To sync all your apps on your USB flash drive, press /\ and choose 'Refresh livearea'. This will NOT refresh PSP games. +- If you wish to revert the patch, press /\ and select 'Umount USB ux0:'. + ### Customization ### You can customize those files: - **colors.txt**: All colors adjustable +- **archive_icon.png**: Archive icon +- **audio_icon.png**: Audio icon +- **battery.png**: Battery border icon +- **battery_bar_charge.png**: Charging battery bar +- **battery_bar_green.png**: Green battery bar +- **battery_bar_red.png**: Red battery bar +- **bg_audioplayer.png**: Background for audio player - **bg_browser.png**: Background for file browser - **bg_hexeditor.png**: Background for hex editor -- **bg_texteditor.png**: Background for text editor - **bg_photoviewer.png**: Background for photo viewer -- **bg_audioplayer.png**: Background for audio player -- **settings.png**: Background for settings -- **wallpaper.png**: Wallpaper -- **dialog.png**: Dialog menu image (Can be any size. This image file will be stretched by VitaShell to fit the dialog box. Suggestion: Don't use motives, as it will not look good with wrong proportion). +- **bg_texteditor.png**: Background for text editor - **context.png**: Context menu image (Can be any size. Suggestion: It will look great if you add alpha channel to your image). - **context_more.png**: Context menu more image (Can be any size. Suggestion: It will look great if you add alpha channel to your image). -- **battery.png**: Battery border icon -- **battery_bar_green.png**: Green battery bar -- **battery_bar_red.png**: Red battery bar -- **battery_bar_charge.png**: Charging battery bar -- **ftp.png**: Ftp icon -- **audio_icon.png**: Audio icon -- **archive_icon.png**: Archive icon +- **cover.png**: Default album cover +- **dialog.png**: Dialog menu image (Can be any size. This image file will be stretched by VitaShell to fit the dialog box. Suggestion: Don't use motives, as it will not look good with wrong proportion). +- **fastforward.png**: Fastforward icon +- **fastrewind.png**: Fastrewind icon - **file_icon.png**: File icon - **folder_icon.png**: Folder icon +- **ftp.png**: Ftp icon - **image_icon.png**: Image icon +- **pause.png**: Pause icon +- **play.png**: Play icon +- **settings.png**: Background for settings - **sfo_icon.png**: SFO icon - **text_icon.png**: Text icon -- **cover.png**: Default album cover -- **play.png**: Play icon -- **pause.png**: Pause icon -- **fastforward.png**: Fastforward icon -- **fastrewind.png**: Fastrewind icon +- **wallpaper.png**: Wallpaper **Theme setting:** VitaShell will load the theme that is set in **'ux0:VitaShell/theme/theme.txt'** (THEME_NAME = "YOUR_THEME_NAME") @@ -99,6 +108,8 @@ Be sure you pull request your customized design or language file there. - Added possibility to refresh the livearea. - Added scrolling text for long filenames. - Added 'Sort by' option to context menu (R trigger combo removed). +- Added 'Electron' theme by Acemad, the winner of the VitaShell theme contest. +- Added theme selector. - Improved property dialog animation. - Fixed text editor bugs. - Fixed bug where USB cable wasn't recognized. diff --git a/init.c b/init.c index 50797981..344c8dce 100644 --- a/init.c +++ b/init.c @@ -24,33 +24,60 @@ #include "audio/vita_audio.h" -INCLUDE_EXTERN_RESOURCE(folder_icon_png); -INCLUDE_EXTERN_RESOURCE(file_icon_png); -INCLUDE_EXTERN_RESOURCE(archive_icon_png); -INCLUDE_EXTERN_RESOURCE(image_icon_png); -INCLUDE_EXTERN_RESOURCE(audio_icon_png); -INCLUDE_EXTERN_RESOURCE(sfo_icon_png); -INCLUDE_EXTERN_RESOURCE(text_icon_png); -INCLUDE_EXTERN_RESOURCE(ftp_png); -INCLUDE_EXTERN_RESOURCE(battery_png); -INCLUDE_EXTERN_RESOURCE(battery_bar_red_png); -INCLUDE_EXTERN_RESOURCE(battery_bar_green_png); -INCLUDE_EXTERN_RESOURCE(battery_bar_charge_png); - -INCLUDE_EXTERN_RESOURCE(cover_png); -INCLUDE_EXTERN_RESOURCE(play_png); -INCLUDE_EXTERN_RESOURCE(pause_png); -INCLUDE_EXTERN_RESOURCE(fastforward_png); -INCLUDE_EXTERN_RESOURCE(fastrewind_png); +INCLUDE_EXTERN_RESOURCE(english_us_txt); INCLUDE_EXTERN_RESOURCE(theme_txt); -INCLUDE_EXTERN_RESOURCE(colors_txt); -INCLUDE_EXTERN_RESOURCE(english_us_txt); + +INCLUDE_EXTERN_RESOURCE(default_colors_txt); +INCLUDE_EXTERN_RESOURCE(default_archive_icon_png); +INCLUDE_EXTERN_RESOURCE(default_audio_icon_png); +INCLUDE_EXTERN_RESOURCE(default_battery_bar_charge_png); +INCLUDE_EXTERN_RESOURCE(default_battery_bar_green_png); +INCLUDE_EXTERN_RESOURCE(default_battery_bar_red_png); +INCLUDE_EXTERN_RESOURCE(default_battery_png); +INCLUDE_EXTERN_RESOURCE(default_cover_png); +INCLUDE_EXTERN_RESOURCE(default_fastforward_png); +INCLUDE_EXTERN_RESOURCE(default_fastrewind_png); +INCLUDE_EXTERN_RESOURCE(default_file_icon_png); +INCLUDE_EXTERN_RESOURCE(default_folder_icon_png); +INCLUDE_EXTERN_RESOURCE(default_ftp_png); +INCLUDE_EXTERN_RESOURCE(default_image_icon_png); +INCLUDE_EXTERN_RESOURCE(default_pause_png); +INCLUDE_EXTERN_RESOURCE(default_play_png); +INCLUDE_EXTERN_RESOURCE(default_sfo_icon_png); +INCLUDE_EXTERN_RESOURCE(default_text_icon_png); + +INCLUDE_EXTERN_RESOURCE(electron_colors_txt); +INCLUDE_EXTERN_RESOURCE(electron_archive_icon_png); +INCLUDE_EXTERN_RESOURCE(electron_audio_icon_png); +INCLUDE_EXTERN_RESOURCE(electron_battery_bar_charge_png); +INCLUDE_EXTERN_RESOURCE(electron_battery_bar_green_png); +INCLUDE_EXTERN_RESOURCE(electron_battery_bar_red_png); +INCLUDE_EXTERN_RESOURCE(electron_battery_png); +INCLUDE_EXTERN_RESOURCE(electron_bg_audioplayer_png); +INCLUDE_EXTERN_RESOURCE(electron_bg_browser_png); +INCLUDE_EXTERN_RESOURCE(electron_bg_hexeditor_png); +INCLUDE_EXTERN_RESOURCE(electron_bg_photoviewer_png); +INCLUDE_EXTERN_RESOURCE(electron_bg_texteditor_png); +INCLUDE_EXTERN_RESOURCE(electron_context_png); +INCLUDE_EXTERN_RESOURCE(electron_context_more_png); +INCLUDE_EXTERN_RESOURCE(electron_cover_png); +INCLUDE_EXTERN_RESOURCE(electron_dialog_png); +INCLUDE_EXTERN_RESOURCE(electron_fastforward_png); +INCLUDE_EXTERN_RESOURCE(electron_fastrewind_png); +INCLUDE_EXTERN_RESOURCE(electron_file_icon_png); +INCLUDE_EXTERN_RESOURCE(electron_folder_icon_png); +INCLUDE_EXTERN_RESOURCE(electron_ftp_png); +INCLUDE_EXTERN_RESOURCE(electron_image_icon_png); +INCLUDE_EXTERN_RESOURCE(electron_pause_png); +INCLUDE_EXTERN_RESOURCE(electron_play_png); +INCLUDE_EXTERN_RESOURCE(electron_sfo_icon_png); +INCLUDE_EXTERN_RESOURCE(electron_text_icon_png); INCLUDE_EXTERN_RESOURCE(user_suprx); INCLUDE_EXTERN_RESOURCE(usbdevice_skprx); -// INCLUDE_EXTERN_RESOURCE(kernel_skprx); -// INCLUDE_EXTERN_RESOURCE(umass_skprx); +INCLUDE_EXTERN_RESOURCE(kernel_skprx); +INCLUDE_EXTERN_RESOURCE(umass_skprx); INCLUDE_EXTERN_RESOURCE(changeinfo_txt); @@ -60,29 +87,57 @@ static DefaultFile default_files[] = { DEFAULT_FILE("ux0:VitaShell/language/english_us.txt", english_us_txt, 0), DEFAULT_FILE("ux0:VitaShell/theme/theme.txt", theme_txt, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/colors.txt", colors_txt, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/folder_icon.png", folder_icon_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/file_icon.png", file_icon_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/archive_icon.png", archive_icon_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/image_icon.png", image_icon_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/audio_icon.png", audio_icon_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/sfo_icon.png", sfo_icon_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/text_icon.png", text_icon_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/ftp.png", ftp_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/battery.png", battery_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_red.png", battery_bar_red_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_green.png", battery_bar_green_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_charge.png", battery_bar_charge_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/cover.png", cover_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/play.png", play_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/pause.png", pause_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/fastforward.png", fastforward_png, 0), - DEFAULT_FILE("ux0:VitaShell/theme/Default/fastrewind.png", fastrewind_png, 0), + + DEFAULT_FILE("ux0:VitaShell/theme/Default/colors.txt", default_colors_txt, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/archive_icon.png", default_archive_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/audio_icon.png", default_audio_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/battery.png", default_battery_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_charge.png", default_battery_bar_charge_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_green.png", default_battery_bar_green_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/battery_bar_red.png", default_battery_bar_red_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/cover.png", default_cover_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/fastforward.png", default_fastforward_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/fastrewind.png", default_fastrewind_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/file_icon.png", default_file_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/folder_icon.png", default_folder_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/ftp.png", default_ftp_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/image_icon.png", default_image_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/pause.png", default_pause_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/play.png", default_play_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/sfo_icon.png", default_sfo_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Default/text_icon.png", default_text_icon_png, 0), + + DEFAULT_FILE("ux0:VitaShell/theme/Electron/colors.txt", electron_colors_txt, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/archive_icon.png", electron_archive_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/audio_icon.png", electron_audio_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/battery.png", electron_battery_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/battery_bar_charge.png", electron_battery_bar_charge_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/battery_bar_green.png", electron_battery_bar_green_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/battery_bar_red.png", electron_battery_bar_red_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/bg_audioplayer.png", electron_bg_audioplayer_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/bg_browser.png", electron_bg_browser_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/bg_hexeditor.png", electron_bg_hexeditor_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/bg_photoviewer.png", electron_bg_photoviewer_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/bg_texteditor.png", electron_bg_texteditor_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/context.png", electron_context_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/context_more.png", electron_context_more_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/cover.png", electron_cover_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/dialog.png", electron_dialog_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/fastforward.png", electron_fastforward_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/fastrewind.png", electron_fastrewind_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/file_icon.png", electron_file_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/folder_icon.png", electron_folder_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/ftp.png", electron_ftp_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/image_icon.png", electron_image_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/pause.png", electron_pause_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/play.png", electron_play_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/sfo_icon.png", electron_sfo_icon_png, 0), + DEFAULT_FILE("ux0:VitaShell/theme/Electron/text_icon.png", electron_text_icon_png, 0), DEFAULT_FILE("ux0:VitaShell/module/user.suprx", user_suprx, 1), DEFAULT_FILE("ux0:VitaShell/module/usbdevice.skprx", usbdevice_skprx, 1), - // DEFAULT_FILE("ux0:VitaShell/module/kernel.skprx", kernel_skprx, 1), - // DEFAULT_FILE("ux0:VitaShell/module/umass.skprx", umass_skprx, 1), + DEFAULT_FILE("ux0:VitaShell/module/kernel.skprx", kernel_skprx, 1), + DEFAULT_FILE("ux0:VitaShell/module/umass.skprx", umass_skprx, 1), DEFAULT_FILE("ux0:patch/VITASHELL/sce_sys/changeinfo/changeinfo.xml", changeinfo_txt, 1), }; @@ -244,6 +299,7 @@ void installDefaultFiles() { sceIoMkdir("ux0:VitaShell/module", 0777); sceIoMkdir("ux0:VitaShell/theme", 0777); sceIoMkdir("ux0:VitaShell/theme/Default", 0777); + sceIoMkdir("ux0:VitaShell/theme/Electron", 0777); sceIoMkdir("ux0:patch", 0006); sceIoMkdir("ux0:patch/VITASHELL", 0006); diff --git a/modules/kernel/CMakeLists.txt b/modules/kernel/CMakeLists.txt new file mode 100644 index 00000000..473419dd --- /dev/null +++ b/modules/kernel/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 2.8) + +if(NOT DEFINED CMAKE_TOOLCHAIN_FILE) + if(DEFINED ENV{VITASDK}) + set(CMAKE_TOOLCHAIN_FILE "$ENV{VITASDK}/share/vita.toolchain.cmake" CACHE PATH "toolchain file") + else() + message(FATAL_ERROR "Please define VITASDK to point to your SDK path!") + endif() +endif() + +project(kernel) +include("${VITASDK}/share/vita.cmake" REQUIRED) + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-q -Wall -O3 -nostdlib") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions") + +add_executable(kernel + main.c +) + +target_link_libraries(kernel + SceIofilemgrForDriver_stub + SceSysclibForDriver_stub + SceSysmemForDriver_stub + SceModulemgrForKernel_stub + SceModulemgrForDriver_stub + SceThreadmgrForDriver_stub + taihenForKernel_stub + taihenModuleUtils_stub +) + +vita_create_self(kernel.skprx kernel CONFIG exports.yml UNSAFE) + +vita_create_stubs(stubs kernel ${CMAKE_SOURCE_DIR}/exports.yml KERNEL) + +install(DIRECTORY ${CMAKE_BINARY_DIR}/stubs/ + DESTINATION lib + FILES_MATCHING PATTERN "*.a" +) + +install(FILES vitashell_kernel.h + DESTINATION include +) + +add_custom_target(copy + COMMAND cp kernel.skprx ../../../resources/kernel.skprx + DEPENDS kernel.skprx +) \ No newline at end of file diff --git a/modules/kernel/exports.yml b/modules/kernel/exports.yml new file mode 100644 index 00000000..d4d62344 --- /dev/null +++ b/modules/kernel/exports.yml @@ -0,0 +1,15 @@ +VitaShellKernel: + attributes: 0 + version: + major: 1 + minor: 0 + main: + start: module_start + stop: module_stop + modules: + VitaShellKernelLibrary: + syscall: true + functions: + - shellKernelIsUx0Redirected + - shellKernelRedirectUx0 + - shellKernelUnredirectUx0 \ No newline at end of file diff --git a/modules/kernel/main.c b/modules/kernel/main.c new file mode 100644 index 00000000..264409b0 --- /dev/null +++ b/modules/kernel/main.c @@ -0,0 +1,173 @@ +/* + VitaShell + Copyright (C) 2015-2017, TheFloW + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include +#include +#include +#include + +#include +#include + +#include + +#define MOUNT_POINT_ID 0x800 + +int module_get_offset(SceUID pid, SceUID modid, int segidx, size_t offset, uintptr_t *addr); + +typedef struct { + const char *dev; + const char *dev2; + const char *blkdev; + const char *blkdev2; + int id; +} SceIoDevice; + +typedef struct { + int id; + const char *dev_unix; + int unk; + int dev_major; + int dev_minor; + const char *dev_filesystem; + int unk2; + SceIoDevice *dev; + int unk3; + SceIoDevice *dev2; + int unk4; + int unk5; + int unk6; + int unk7; +} SceIoMountPoint; + +static SceIoDevice uma_ux0_dev = { "ux0:", "exfatux0", "sdstor0:uma-pp-act-a", "sdstor0:uma-lp-act-entire", MOUNT_POINT_ID }; + +static SceIoMountPoint *(* sceIoFindMountPoint)(int id) = NULL; + +static SceIoDevice *ori_dev = NULL, *ori_dev2 = NULL; + +static SceUID hookid = -1; + +static tai_hook_ref_t ksceSysrootIsSafeModeRef; + +static int ksceSysrootIsSafeModePatched() { + return 1; +} + +int shellKernelIsUx0Redirected() { + uint32_t state; + ENTER_SYSCALL(state); + + SceIoMountPoint *mount = sceIoFindMountPoint(MOUNT_POINT_ID); + if (!mount) { + EXIT_SYSCALL(state); + return -1; + } + + if (mount->dev == &uma_ux0_dev && mount->dev2 == &uma_ux0_dev) { + EXIT_SYSCALL(state); + return 1; + } + + EXIT_SYSCALL(state); + return 0; +} + +int shellKernelRedirectUx0() { + uint32_t state; + ENTER_SYSCALL(state); + + SceIoMountPoint *mount = sceIoFindMountPoint(MOUNT_POINT_ID); + if (!mount) { + EXIT_SYSCALL(state); + return -1; + } + + if (mount->dev != &uma_ux0_dev && mount->dev2 != &uma_ux0_dev) { + ori_dev = mount->dev; + ori_dev2 = mount->dev2; + } + + mount->dev = &uma_ux0_dev; + mount->dev2 = &uma_ux0_dev; + + EXIT_SYSCALL(state); + return 0; +} + +int shellKernelUnredirectUx0() { + uint32_t state; + ENTER_SYSCALL(state); + + SceIoMountPoint *mount = sceIoFindMountPoint(MOUNT_POINT_ID); + if (!mount) { + EXIT_SYSCALL(state); + return -1; + } + + if (ori_dev && ori_dev2) { + mount->dev = ori_dev; + mount->dev2 = ori_dev2; + + ori_dev = NULL; + ori_dev2 = NULL; + } + + EXIT_SYSCALL(state); + return 0; +} + +void _start() __attribute__ ((weak, alias("module_start"))); +int module_start(SceSize args, void *argp) { + // Get tai module info + tai_module_info_t info; + info.size = sizeof(tai_module_info_t); + if (taiGetModuleInfoForKernel(KERNEL_PID, "SceIofilemgr", &info) < 0) + return SCE_KERNEL_START_SUCCESS; + + // Get important function + module_get_offset(KERNEL_PID, info.modid, 0, 0x138C1, (uintptr_t *)&sceIoFindMountPoint); + + // Fake safe mode so that SceUsbMass can be loaded + hookid = taiHookFunctionExportForKernel(KERNEL_PID, &ksceSysrootIsSafeModeRef, "SceSysmem", 0x2ED7F97A, 0x834439A7, ksceSysrootIsSafeModePatched); + if (hookid < 0) + return SCE_KERNEL_START_SUCCESS; + + // Load SceUsbMass + SceUID modid = ksceKernelLoadStartModule("ux0:VitaShell/module/umass.skprx", 0, NULL, 0, NULL, NULL); + + // Release patch + taiHookReleaseForKernel(hookid, ksceSysrootIsSafeModeRef); + hookid = -1; + + // Check result + if (modid < 0) + return SCE_KERNEL_START_SUCCESS; + + // Fake safe mode in SceUsbServ + hookid = taiHookFunctionImportForKernel(KERNEL_PID, &ksceSysrootIsSafeModeRef, "SceUsbServ", 0x2ED7F97A, 0x834439A7, ksceSysrootIsSafeModePatched); + + return SCE_KERNEL_START_SUCCESS; +} + +int module_stop(SceSize args, void *argp) { + if (hookid >= 0) + taiHookReleaseForKernel(hookid, ksceSysrootIsSafeModeRef); + + return SCE_KERNEL_STOP_SUCCESS; +} \ No newline at end of file diff --git a/modules/kernel/vitashell_kernel.h b/modules/kernel/vitashell_kernel.h new file mode 100644 index 00000000..2ec0ae9b --- /dev/null +++ b/modules/kernel/vitashell_kernel.h @@ -0,0 +1,26 @@ +/* + VitaShell + Copyright (C) 2015-2017, TheFloW + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __VITASHELL_KERNEL_H__ +#define __VITASHELL_KERNEL_H__ + +int shellKernelIsUx0Redirected(); +int shellKernelRedirectUx0(); +int shellKernelUnredirectUx0(); + +#endif \ No newline at end of file diff --git a/resources/changeinfo.txt b/resources/changeinfo.txt index ea0bb7d2..063f7e87 100644 --- a/resources/changeinfo.txt +++ b/resources/changeinfo.txt @@ -228,4 +228,23 @@ - Updated to newest libftpvita.
]]> + + +- Added ability to mount game card as usb device.
+- Added possibility to refresh the livearea.
+- Added scrolling text for long filenames.
+- Added 'Sort by' option to context menu (R trigger combo removed).
+- Added 'Electron' theme by Acemad, the winner of the VitaShell theme contest.
+- Added theme selector.
+- Improved property dialog animation.
+- Fixed text editor bugs.
+- Fixed bug where USB cable wasn't recognized.
+- Fixed bug where VitaShell left to livearea after deleting the updater.
+- Removed battery icon in status bar for PSTV.
+- File statistics are now inherited when copying.
+- I/O operations speed will now be showed in KB/s.
+- Made control smoother.
+ ]]> +
diff --git a/resources/archive_icon.png b/resources/default/archive_icon.png similarity index 100% rename from resources/archive_icon.png rename to resources/default/archive_icon.png diff --git a/resources/audio_icon.png b/resources/default/audio_icon.png similarity index 100% rename from resources/audio_icon.png rename to resources/default/audio_icon.png diff --git a/resources/battery.png b/resources/default/battery.png similarity index 100% rename from resources/battery.png rename to resources/default/battery.png diff --git a/resources/battery_bar_charge.png b/resources/default/battery_bar_charge.png similarity index 100% rename from resources/battery_bar_charge.png rename to resources/default/battery_bar_charge.png diff --git a/resources/battery_bar_green.png b/resources/default/battery_bar_green.png similarity index 100% rename from resources/battery_bar_green.png rename to resources/default/battery_bar_green.png diff --git a/resources/battery_bar_red.png b/resources/default/battery_bar_red.png similarity index 100% rename from resources/battery_bar_red.png rename to resources/default/battery_bar_red.png diff --git a/resources/colors.txt b/resources/default/colors.txt similarity index 100% rename from resources/colors.txt rename to resources/default/colors.txt diff --git a/resources/cover.png b/resources/default/cover.png similarity index 100% rename from resources/cover.png rename to resources/default/cover.png diff --git a/resources/fastforward.png b/resources/default/fastforward.png similarity index 100% rename from resources/fastforward.png rename to resources/default/fastforward.png diff --git a/resources/fastrewind.png b/resources/default/fastrewind.png similarity index 100% rename from resources/fastrewind.png rename to resources/default/fastrewind.png diff --git a/resources/file_icon.png b/resources/default/file_icon.png similarity index 100% rename from resources/file_icon.png rename to resources/default/file_icon.png diff --git a/resources/folder_icon.png b/resources/default/folder_icon.png similarity index 100% rename from resources/folder_icon.png rename to resources/default/folder_icon.png diff --git a/resources/ftp.png b/resources/default/ftp.png similarity index 100% rename from resources/ftp.png rename to resources/default/ftp.png diff --git a/resources/image_icon.png b/resources/default/image_icon.png similarity index 100% rename from resources/image_icon.png rename to resources/default/image_icon.png diff --git a/resources/pause.png b/resources/default/pause.png similarity index 100% rename from resources/pause.png rename to resources/default/pause.png diff --git a/resources/play.png b/resources/default/play.png similarity index 100% rename from resources/play.png rename to resources/default/play.png diff --git a/resources/sfo_icon.png b/resources/default/sfo_icon.png similarity index 100% rename from resources/sfo_icon.png rename to resources/default/sfo_icon.png diff --git a/resources/stop.png b/resources/default/stop.png similarity index 100% rename from resources/stop.png rename to resources/default/stop.png diff --git a/resources/text_icon.png b/resources/default/text_icon.png similarity index 100% rename from resources/text_icon.png rename to resources/default/text_icon.png diff --git a/resources/electron/archive_icon.png b/resources/electron/archive_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2031cbb01185e869c644b63a1dd362ad7f5b12b1 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaOc1AIbUfpp})^Wpo?hV45Wy!~X@>f;gn&qwY*AGYUgm>KL^wfM2rm$Kn3AI?*8*$+fRZOpN~8MR16Y{+IC;jB9=S7^<0QETVK+d^4OAD%kBn5jPL4&S-X%PJd>-kf*e zy7oIz!$eOP#}J9jb0-|}GDU-`~? blco5wRqR*g+*a)ZI*!59)z4*}Q$iB}^DnnD literal 0 HcmV?d00001 diff --git a/resources/electron/audio_icon.png b/resources/electron/audio_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7a4a6dab0ee75e76108f0a5308d7cfa52aa93a81 GIT binary patch literal 694 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 IM6N<$f*gxdI{*Lx literal 0 HcmV?d00001 diff --git a/resources/electron/bg_browser.png b/resources/electron/bg_browser.png new file mode 100644 index 0000000000000000000000000000000000000000..b9428e2b79bb5deb1075babf9e4cc4c50897336e GIT binary patch literal 23068 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 Z{{tgdYm6k!V_5(I002ovPDHLkV1n8PJAD8E literal 0 HcmV?d00001 diff --git a/resources/electron/bg_hexeditor.png b/resources/electron/bg_hexeditor.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e5a9d8795895ca0b1476941fd1bf5b184071e2 GIT binary patch literal 22835 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 literal 0 HcmV?d00001 diff --git a/resources/electron/bg_texteditor.png b/resources/electron/bg_texteditor.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2fff85d6e691066999f45705104af1d612be63 GIT binary patch literal 22652 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 BIDr5F literal 0 HcmV?d00001 diff --git a/resources/electron/colors.txt b/resources/electron/colors.txt new file mode 100644 index 00000000..9c452df0 --- /dev/null +++ b/resources/electron/colors.txt @@ -0,0 +1,60 @@ +# VitaShell colors file for Electron theme + +# Shell colors +TITLE_COLOR = 0xFFFFF9D4 +PATH_COLOR = 0xFFFFCBAB +DATE_TIME_COLOR = 0xFFFFF9D4 + +# Settings colors +SETTINGS_MENU_COLOR = 0xE0AD683C +SETTINGS_MENU_FOCUS_COLOR = 0x6FF5A878 +SETTINGS_MENU_TITLE_COLOR = 0xFFFFF9D4 +SETTINGS_MENU_ITEM_COLOR = 0xFFFFC29E +SETTINGS_MENU_OPTION_COLOR = 0xFF7CFF24 + +# File browser colors +FOCUS_COLOR = 0xFF7CFF24 +FILE_COLOR = 0xFFD4CDA5 +SFO_COLOR = 0xFFD4CDA5 +TXT_COLOR = 0xFFD4CDA5 +FOLDER_COLOR = 0xFFDBAA8C +IMAGE_COLOR = 0xFFD190CB +ARCHIVE_COLOR = 0xFFCFBF59 +SCROLL_BAR_COLOR = 0x80FFD0B5 +SCROLL_BAR_BG_COLOR = 0x007F7F7F +MARKED_COLOR = 0x4FF5A878 + +# Context menu colors +CONTEXT_MENU_TEXT_COLOR = 0xFFD4CB99 +CONTEXT_MENU_FOCUS_COLOR = 0xFF7CFF24 +INVISIBLE_COLOR = 0xFFB07E39 + +# Dialog colors +DIALOG_COLOR = 0xFFD4CB99 +PROGRESS_BAR_COLOR = 0xFFAAE300 +PROGRESS_BAR_BG_COLOR = 0xFFE08E31 + +# Hex editor colors +HEX_COLOR = 0xFFFFF9D4 +HEX_OFFSET_COLOR = 0xFFDBAA8C +HEX_NIBBLE_COLOR = 0xFF639FFF + +# Text editor colors +TEXT_COLOR = 0xFFFFF9D4 +TEXT_FOCUS_COLOR = 0xFFEBD334 +TEXT_LINE_NUMBER_COLOR = 0xFFDBAA8C +TEXT_LINE_NUMBER_COLOR_FOCUS = 0xFF7CFF24 +TEXT_HIGHLIGHT_COLOR = 0xFF80F5FF + +# Photo viewer colors +PHOTO_ZOOM_COLOR = 0xFFFFF9D4 + +# Audio player colors +AUDIO_INFO_ASSIGN = 0xFFDBAA8C +AUDIO_INFO = 0xFFFFF9D4 +AUDIO_SPEED = 0xFFFFF9D4 +AUDIO_TIME_CURRENT = 0xFFBBE000 +AUDIO_TIME_SLASH = 0xFFFFF9D4 +AUDIO_TIME_TOTAL = 0xFFFFF9D4 +AUDIO_TIME_BAR = 0xFFFFEBCF +AUDIO_TIME_BAR_BG = 0x90BBE000 diff --git a/resources/electron/context.png b/resources/electron/context.png new file mode 100644 index 0000000000000000000000000000000000000000..33e37a5bc76629a9f352c67cb30f1a49a22f3764 GIT binary patch literal 1831 zcmb`FdrVVT9LMin3w_Yi2NJd=+n`G?VvWI`}kA3gWJ?H!$_nhD7 zck&{|d@6Yt8G<0HAT%Tjj5Y{*Z4VI#X1~)LeZhcF4GIr}pw2><&15IAhBKr1!BCrR z_cIV#8Yz-;fsw&0g-#66Ln|0u9g|bc3@LUCE_CA*F+)n2oFcd2BATF*&MTwy${D;e zD8=F;x#k*HO^#}S)%~ub8k(?*9DSW6Yo>;yFw#$nsKY1RbW(QEL(6G`Dr&faByFOK z4K$&i$t`h-1i5;Ww2>mN#U*18!xTGFJY%4Lw1Sj_~xTTbcdKkHlPw2)a z^%4|jd_or?ro}0~(^=W>tS~#rwL8bPImLIuDHc~zHC2SV3iXtTS|(RV1?LH^q>5`@ zq8gwR7IJi>OJqG!c7rH4;Szhm;bC=iV{_m#0CJ6#s>fk zsiJCHNFgnx7*6PfmF?8fGQ6S{uk0YinCQS8S`H3O3P%ajMtqEk8deP_18DVt0AAHi zlw2c4)=>oIgeW6H+TbK>0?+_GK$R>pl4MO}Kqk45AiDuj)3`d4xRxTQ06g)E7K%tu z4bxM^7;reD0~co|O6sU014URt4=uxCC(${{n;D#Znm~^+SKR{4ontY)-~v#DdV<7= zmp41fn<$~>FgUQRkcOoM}iCLruHh&`CFm1E)<{|@=bgvA3n0v&md z3`e5F(Y&3DxiBGvN{7#}cDT0frg+~9`_$)&;ejI%gcAxvf~4mrmqt>jDiDb9-JS51 zm?)l*Y~SmtV0e4JvE$xM%TE${v6fCEF(f|w@6Xt$)=o^X>vpQn{d#2jz@6EEJ73t} zg#ocwwDp<$AhIdds8oU0s*`9>kBcS?h`h4f-MAb-kU{bCLO&e!+&#N!S{t&lRHHtY z?vxRaGfy@9PI)4^1!5!m4I;X~7+^GhE1fgWA_0*a!?bU%_!&A9ab*=5&)I75cp^j7 zUKC^~lTwdU&>z@$hd1gM0w#}H&!bamF_PXgU&6YY5 zOjLD+X?JRbD>WXoFHPO=C21Fb@n0#pBFSEUbSPK6iXzDQXpLc#WxeG8N%qkr`*@H0 zGp~BAKbt>j&*_WN+JW_e-PGtSza|6l1jnx(V4g9n@v11T=6Ej4Haa#orWo(<$^?D(LXWY(I{c|5yKMqkPo}Xi-13-PoX2$V zu|3e5b`d><)R>Li(oO!h@UzFd6wSGyo-dv8>{V&Iu?@GSU#aOmt7Z8+M9mf}_vaRD z%a-Vms^bARqt324Y>fr`{ws8=vHJt<7?xFxMo;7c*#AM%!nyV6;LR6{ezG^MY_mKr jRa#K1eC3kAI^E1a2ATR+JevhO9$R~*t7ob=J3Xg5oz literal 0 HcmV?d00001 diff --git a/resources/electron/context_more.png b/resources/electron/context_more.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8567abae2226660c67a78867ed90122dc6678c GIT binary patch literal 1254 zcmbu7ZA@Eb6vuCE=?lH(wuNMNn=+W$R)~@a(=aNguk?l1?zUZl%37qCij%Solj_Xa zi;+Z)qopmZT?^}MX~$+ArLL`o7?UN#I$3;)k_j9J^->5 zewNA)vcQGOeXtc+(@AI;U@?Us*r9*4HGpb@z{Su_GWUN3r1z1@<|OPhst!W=V9@S^ zvm1E>*XWSKqm1^b$%p1n%-wm&>?;p~wFmBhyrada0Pp7+_#7`r|CsiNa5r4Wrxg;R z{>_`eFB=jS)C%c0vQwtR4#)2Fp~ESP!||i#i>|9n&y)XLnY#UbNB!c?#Sf{)`}n^t z>2y`q5aukZ;9ncAR4eXnys#%f@nXF-B6xfvgxjxwrR8HbBIe1?)a!E_8@vR5nswdj zUG41~QZ{Cv5}R@f)VoS_LNvV#q7$h1NYn28%_L-hUPrx&sB!3$r`8SC-@VJL$$z^D z3;IPv%1rY!;>eQU7sBJ38(RLB9&5~V{Oz83W#i>Npks!$w{L;SpaG=!R*Mhhd{yxG zW^_TzHxJ;=bx>4kgrdKUwwPx?3@rzq9IdL&FXy1D?-*1y3ZUwz2q?{;L)-b;HDX@* z*6a>(MBw*_@Pq0vwfq~u^u#TMeErve@O`L&WVQ6Zb1&lAvW+~uluhB)g5HL${m)6# e{RsWvv;Mk3R*|3JM>N}BE9MkZjU+CzocbHyTM35% literal 0 HcmV?d00001 diff --git a/resources/electron/cover.png b/resources/electron/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..13a4861d95e2fea2ba28404b059d1a914b250f37 GIT binary patch literal 5685 zcmZX2XH=6*)HR6QsFVl95-CCRgpLil9g@flxvXCG_4qBE2h$ z2nGQKqzQyb?^x}kc7sq8)fA`=q}la8jI3L?D* z5m5wJ^Mv2<1F}RP z)o@L3xP})Tjf1OuA!17r$(4w>GPo)puImri^9TKN5yX5jAQueEM+6rjNKX(Uj}f7d zL63A0pAJ5Z1?>~S2Qi>cENC4KIwXR&@t|Ei=$Ht)rGlOrplb?f6av3Rgx?H=8wSA* z0>Rrv&@vJ<4gvjgK$m3jULk!~79&mL}L{te}F8~b41B3Dq!~*bP4Cs&m+9iPa4Dfa^ zBD4^6NrB%CfZqxNje-%RLhxP$XifsXvp~~O&^HGWS%e5Lf?xASq}9N$`@xlQh}bf? zt{+_01Cd+>`sW}*3P6uE5SIp8MuFBbpluvz69>AbfL2kUV-nmT2s9&s#-Sh~3-rnW zos(QYEt-7XG8*2#HS|sY!>;|@a{Lbp@ymq&##AtU{NXh1{=|B~<|KB6PFS0<7~OPQ z{CuPTyH4+qd*d7Um3gn#S@)%d*nfuIJ}*3)Sqa-7i`u1Lf7TfBZA7i27yYCkT~Mc1 z(x6%S@?vJ`l!5f1T?it!0biFszmoh7b9g~EtV`PF#CA_nQZ4;#2b56Tvi#w(WKa7)f$ddLd z5VcA;6Y^LtwpqwLa=Xh%i;3xQznZd=9*(-4z?Q@};6e~NZJSbuU`=ftFGpMxG+~il zyyW5=)%KU{nKO$!;np3+E~zPvd@R-)e5r#;!Vih(5sHQvE}2Bu#JCMvNZqzRz4|T! z)-GFMa_esjU&%gZP0B^5)!xwh>S_~fXG>=p`Bz_;B6IQGa!x*@=laH)brh#TGoX_X z_T4v|K=)#2rLf@5Y+#MC*-UsdfYe16ls;kxC?j{FXl8m744O*xu@uevN9OlP@UCbR zjKX5EK}+3R%MFY-=@3vAkRVjl295a3wEEv1*Pwk%z9?x~;MIG^EUq;g&u_r*2@H7S z-=jw2Z}`5S}0WA4e zx^Lh5jqcMa(}_3Tq5ATaXBXTB!W}(VSLOweE;VxWlkX&dtDh@|WVqL~+O~8qWt)^> zYgVtv4^hxfAA+J^AEftGVG-`$TefT6%*ue<+2a#l8^qq+oklv<#cd@XMmtnV40Jew z>E^#!kMRy#nS4p&OC1gB9UFR>=?`h}Si&k~ItpTjs0j`6sBIDylW9;H)GIt+^>T_u z6Iiu)5R9F%r|qs}4~-_M125LptBK-6A=o_mD6*CB>{2su42og1d&VMI#KULGZXy7ifC9-8sA>Hhf3A=rZ$j;^ozg zV|E<5KU~c?ay59>s|=Q?;X`_l-MPr^lTEys3o>btQF3iMS@2c8V0Up6Sr$djU~ za`DejlhWJ-F~LU}G#hE|&*s9hn_0UoWUF(wN1cJhfKUr3a-n#ZJc-8U3u*8?wXVa5 z(T5D0c5`qFY&?eI?N!)wA^IiQ&2`K1Ln}vxDE@w5Iu_)J0rxo@aAQL$3$X7wFS!}q z71_b@&wdOS%S)5~E98aNlMfi^1=r+cWfsnoA|U!O;h(uIF9N5dqqV0EZou)wQ+i6)6=Sv(i zX=?B^lI?t?m;;Sqp!yKyxv&;q2w>Ov!YiJf5GdZUD+ zD041O24}LCFe;W&N(RTrm|$^SxTeo)FM|0enjg1U%6x{8D93ed?$I!$fGO-l9N%*A52?9_2X!a~}O=u^%h-E>3 zSEKz8q3Ih*97xeqG{RQTsm%!m(tDX+ZoE~TMk&_0y07k2X(AR0ci6cS1Z!heOFc_AJwAHssMs!Ao zVKT<-O5h5%^(kQ{x8_=0dAbmmDgko?WuS(U<`$9fo&^PKpFuoowho| z1Uz6z))f64$-(7Ee^^3f*J!U8H$erFbDgH~$H#-AFolPcn$krF|g$V73(bO58aQWDedD?$exbO!u zi9X;T)2zlB#goDZy#8I z(oa`CaB4r%spV1Aq|N`ko`P&3@^`EM?^H4(qmGgH=MXRd$)W-Rhk0l4Pbh^8B>cNQ z4vg&VR{=7s?LD|E2i>^_1YpXdn=pk@ci8thetW?WNt;~O|6dk@iKfDT#8v^J+n)k- z)8{4)-u{`jY!je=DVqnm3z5qhH9wQz${A*ur!Np5@~K~4^zSP?IH4Ll_)mY$kq->I zGvqIxjXuGbno?yu`GI0+>4|WBK!32qOUtrhVcZ_hRYaf*mKLSD)Jkb-9*(SnjH5IK z`7^0i2Xv=fW$?6KvNNJOU+ZkNHGLwCSgbv8nwbzbT}}J}Z$tI% z*6!4L<=pMHg}Nk%N)1-Uv>Kc6^{eyl9RgIHJ#}ZY*Mds?JsV$dJrMp=0L_((g3H6a?{lqJr-x!B$TGN|)2S0nltRq_bq`NTAxRPczFH`e_I;x&S$HiSt+i zdyQ}}%IMn9n)7c9Ft}Hgh~+J98<=2T&3@u>F?1fgB1;+xqvSQic<=3#;cr=5<8%hL zqAk`P!g3$jD7WNf^r^HAwz;)Bq{=AwIW%}uA2<^B`lR8m#PX3lnZe+NgD~29;3)Y; z+l-6!&1zzTM--o+;H_(8GqiYfbULT`hfG+2-9&KLXd(q1sC(AJYQhgN4LGip*3jBsvvULnW6oo-Mz!hxQMF zo9m8c3g26Snlwt|gMYe<<5-;Bk`A3XbxL-2*ShaWJ%=*zH0Ed66GFXYYtxj@kPinN zJh5~p;?b?#Hb1=)|Aon+fAM8>O}-bd<*I(wmGn=N{s5Z^^N?9aN3ItvE@dltVBXXn z@D5u)-b7~A1b&=AE?&toSBCdmwMdKSPqn29u2w?zEzWR<$r_1C)y=M``uLIBQ=2;r zM~@%^pDASUk4~RVe5=Z{NQKj~Z1)2kLlVntb#~n1XG?vP&t3%b3+1{A<`yHOCKUfM z+;!c#ls8^6&RX=HHTp&mkKn5;f4LY?$Oy1Mb+%B|RTuU{ek9MU(?|SC?<1GkezvL1 z>*rN8TbzN~jgJj0MqKEE&WViZRajqd+D73PN%-6xZp?h7b7n*U>wXpO!m{dnxN6cS zyA*lEBG*f{>aAzqjc2CD)pcBv1&$xT9Z7>JclJMh4(GWqVW_P~fP}&YA_W$n$6R4M<#!)Eh7}7mSaDdF0rQ1orA7jfqdMTJk+7!g!RS z(C#>bs(L{$N^&hs*-`6t2C1@c%veRhR^=v#Kg2G)gn+4A?7AGwymiSy`SR&k$jt@( z+}!oX9?E;%;URL2`4>K{th?u;=a;f$2{mEFdezmARwU9B?*9p^W>A~ji_<;c@a_A% zuUX9^KuE8Nn(4b~gNhhu9M^CIkWh2*pG}WfhZhY6^R6CCtORn}UGHKWg+m~w*16}g>%?q-277)=WwTLo?d zvQE4hiD0#6w60ia@>o5&^EfZHuv={DT7rk?zH$Fv1A$yr4bm`u;C=Ol6N^Q5-Hzm? z;;;QL@YGiHzA=uuP?#gkBlIgZnQqy&kn=RhDruM+WK!KTEl9m>6iQ1!cVUY0F7KKb z%ky|Nb0hl3))k3x!@kBr&5|!XHb8+CZx8YS&n-r2SjLK>ZipQ%7H~VRaTKjBG@#;r zM{&!{=J?F>ijSm_8u`BX0jH0~3mu0>6i$R69sCwv#~eFVxNzwXg}{MR)G$yBw=Ivg z5pVSL|6#S=Ry#^j93=;FbVyVht>zqd{JP!6w@>LaCQr1yb~qfsDQexWF?lo0x~g>6 z?#Oc%H2QL>O|~)e>Y;e6G0lXB3RSat$wT3N>nn=Qn-xZ!qn>Ve+zWg4YZgA)a#Jx# zanl-#31xxBJ^J=I)TCw>m)C+#?)ZlZDG5j=!QM?(uPq7RstsXkZ``tIc0}r7 zbdQ>eawxBGqNwW5H`bTF#pYY`=ug}`$7OuN+mlvtc0ejQL?#h4F4WJyAi;QSuDtgT z_O1?*h`xFyBH|fG0#V;P3(zYMXdJua_hQ}Y1c~vsx(vIiZ&_rJ!@pL6e`)eD!|)9( zC0kEGV(>bKuYo6!k{0;=LzRB|)THaH;6W`X;mksxJ3_U^b=}WiTF|=5%R<$!Ft?-z zs)e{EhU(b!R-V7~M@oK)R<9Z_fZIvF=$Yyu=?&M7Xi6?4WPJMh-gZ-K$cEI2na~ys(5lDdVRQ!N-s#QlWy#Xh$C#pTr|r|>bIKF z@#_Nxxy#KkDYlTG{#u6xW{|tGzf8b?uGD^O8b8`~6nDgak6yj`rLTa$6&3He{}h#9 zf{rKKFTg!T#qM7d!sLvq*G?$LQqhURYAptB^m}7K$(#laY5!O&Y&VFj?Cznc~xK4_xE?Ys{3@;>FPeeKJ`1N z8i@=KG9}s(Q7DwD5Qd^rD0HboZ^B~?eJ5%7Ps4!S%nRe8P;I58zfz11bM*JoL44GO zd-l@?JuWgdMnH zbeXuW9=oB_B;f)&rQ0;D2EYCsO45UtTqVSuA%~wrrCuXNYE0rUpf_DL4LgZjf8I2- z29taVliXz*eiEJ1g^xRj-Oz5F)NU4f0xjvm$2Q_b=P}=1LZ$ZL*Pkav))J%ZO%hwk z5w*m1XUGw!j5oBCqBW-Br^u1D=;SW*kYgtC&4hJlFdI7Yu?@zFE$9@(h1)P2E}Dj( zAVzC&qGm!&11azb5mu2P1wOcp98io8tuRh#AqJIVliKm2mALiih{0+iT#65=z=xC( z*42~4Pm%%;qmwUTliJ8oF)50)RG^Cp7C?NYEARFvqwE-?%c$Hy=$P}2&sooe&vvQ)t*UkNZ<>CL`c>TXJcm1Dc zkU7KnzmtE=P;+y`L)AUkua|d?CCK=E6pHdz2=QWaf0-HobKizot6Q_fzZPnpwN{;0 z{KRFh0b!(CZdi{oXSG;|HqPSf@+QB2)$Myz^|AHfp5|-!x6fvMC7pV?c;Wl9i}%0m z{p-&Cr=RBU{WAFR)De#_d0z$`FI@Y)*#C0*jjvxmf4=JY?f&jP&r6>s^c>b*{r6&B z>DntleEo8_dex22{V)3$a=z|9v{3Qsn*H_ViBDEdEsTAw>H64pgY9?WpkvS1CB|*W(XNgE%(0omu^M$gi)=4hlRs=7mp(JMgYoTL-xy1I zamH9bqEpPRrypJk96EZmVji^q98Pyx6ZTizpF~|4F2At(*BhQPB?aUh+^Z&44 zM$4Nl*w&Jn$?yR3+7Ss)UA@v};Ty|f=kJBdE>(|jHEyEpJyBlCxSL#ab%o6DB0Qzz zX(yUL#Geu-j~0$<-Yr&iNIW~qsV{DOk^JrIZ@t*NLiBR&438cpse+mBCBfOQE7K!0 zAD2ewy{wsgi9Sj`SYMkFyvvWj&V3gnjH%Gs@s2|$b1%`-)6W0eTv_Nf9r<}i6AN1# z9jr*n*!n8B=(VdUV+Y&%JkFMu4qcjr1J!y7gm@6o^4pc3GV-={A!i|d|HHife{ZG1 znCy0}?`s+&psRAgjzi}A)B{r=54SAaSlrj)=>e9wEP3?sp(~wQkx4DoU zr}u1QI)(lcnqZk!v?(Ro(sty`rEsg-@bvjt7y_4GJqB`$b5xOF?cmI>b%Y|I0q;RB zajSb2TKfX`+Mix9hNVi$$UM-WvFob0dcG=&xWXwi*-BbegqFlqBRR>ny_tEF&2Sw76gAN$p`axp%^kS>VdvvzPe8$7%#ZP)je@*&E_+w0i;_O|20!Y| zN9M1NmCXYVLW#PlPs42EdQeNkOfI<&+xmU(-CJW~OO3bx$d!QcjxCGL`}Um{9+`}m ziX=AYOL}iSft7i3P@31Qm5h-YM1^q#wI%MNQE>?`>% zX8TvOI7i}^kKT=gM=#KYebrbOotuloBsz>0$qMiwfEy)!4l#7gndCaYA@OV#N(|!{BI9bNn&8T&@Vw50hHQk zLkcYjKpt29iiIN9ixHjPsMk`j^(nZ$LK;McNu12MqcEtx_tQ52!3_G7g%c954Qd3f zJ0spLO)i$$Ro@Ii``U01LVXd<+^NBj&Q~vjNM(p8CDQHuv3Rb{*^*}}*?hG(YqT_u zot?x zPt%b5@KS2v=-asPzGE2~r)#+`46CySgY)|=r0SZcC|E9xDHd%xc5{<`)Bd(AG-`fHwKvE)p^DUg3vL1jGL69`mWEKw zIUL*=;_@K35a&+@lbW!Fp<1hP#~YnKU7avhz5gu*G0^qAgNM*v>DE&X2ZJlseBn!#Hs@ zkZk#~V688>A4Ca{BU=DXQ;hCE)V-a!spe;zF6lgTMZKCkI<+xynin-PxOSnhms^?vapKa;?`|oEFvjups#M#U|IF|-m5>vh18Wocx zIHUYwj}5Qw*z{;6Rj$ z*EiCK@_t-G!WyRwHX=Mw<)^j-E214|m^ika)hMDT-8doBW*$22)w?+_nZKV}uM0c54)^&%ivxSs|7sCDba zQQ%GyM?bzU516oh4#@(jL6b|fs$aPnH*R5HzU?XM7dVDrA*(m;a#cl5J){dmIs3DF zSx>29Zl^8JvHdmX?5(ZubwBbnOVrNMOqtSVMPpj@L4E_sm`_$IbW*6=`+g9~QV39X zhb(QYj^WKVSTK5%dD7vcoN9qHfUwOGe|0%_PpzL%o5=D@zETM^r@#=4=V|Ai;+HR(JqFi$y1a?unsY3uQ~9W>xw=%V z!QBd$s!{={zAd^K>0-Irtr7PuSUQ(gB)?bOdH!DIO3FsbUn7jWm2@OnmS%KJUMq^q6f+>^LvhsDzH{*+&QQp4RJmF9Dw7dfqZ3~+$$HLdJDwW}mS(he>n4f5MpWA% z_tk%t$aCO7z{%{k2eJJSchG;dw-{4vt-y|_@VcQ_5zR29fSxWZ9#9juOhW1Y`hxJ> zcZwqEi8e%DSENW*&4Zt_!?tH*=H)nd5`?{6UBEuKnTsTNps_f7CmP;qlBw764_k zT}7tb<4M_ttiBqRsPNMxP7ucxxexy3e{5f_(QN)5-3T9gIG$bBFcdph_@0S#H-n6P zrM!Des0YX~kRt*nvqp1lLw$10w=voH4^z3wPaTHYREa_=Y3ZGaxPZ6oeurV4wu|GDR-qF8K@v6Q}dL#8oMS?30Qn-s@n`w zM$8eFB+c2?bJ}mx{K>O?xWE}JHbT?963iPWHc+oUIY z5j}9$j53!Q#%uSK`aR+f=-LZjAyA$7fvv8Fww~Dlh8if%t|UFv|`Xl zy)V{(tBhHl8YTf$uJ8%QerBJz{s!qN^A&|hYeO>L0|((x6P&VF3@eP646YtyiEWk@ z$fuR%5MN1V-1adCl#M*~T^Y5}O#?+2LGSdqAvzw{-YoN6?+^hxEIXvH6==6~@zsgl zhx|mZ#M8{a&Gd437lk&6aU8t!3~d_sR?4Ou$+pug;k60n`t<3H>8r-dM}8&JP_!)L zrzNzJJt0d5{Vvooo^XSCWF&^-+vI@2oLmdXo<4MxQ59XwRK?0IXXukDcx(dOQquGK zecD~e3O)8}>_|Zpn?8j_yZ*vX?aTlY!zsUK#``II`{*RJ*LM1Gyi+?;EZRIIFv<(1 z!cO=~eK7P8)=mV&ka>D*16N;WcGAKD8gIIs-uZ9^{|nTqV5$m1R%uQv(VB!wY1w-v zJ{!0Q9Sq=@BI5z}?0)eW3Qc<+IONU=1D6TkNEsG>O0mT!`7WOwC3yfW(t@;L5yqoFn(^RCH}yJ-}76M({-s-U$#>oH?L=E-o^f^*jQtt-Xvi~KYio#7b zr2!tQK6pQ49d^>Fu}0qsppc0=P#K$VLzUjwzlK=vcS=t%nV(}@%J44P=Nza@2ydLo zaYfuFW)RC_Jx~N(hh0hy1w0zx9={bRMfAmfk;<81rVbfCbWNlGO>Caldd`^RjX$L? z1bzybob@yjC$LHK{bTp-4T;HHs!tt!(S5V-i8znPMw$`^JQJ@N()>+sgYKM>EThtu zlHNJmzmciAQ>p8Bkk1r`lEh&H9~*Uw{EpcE0@Bn8f8{UCfiyHyZom6u&^N5f1s8(E z&Ei4Y<)ESE*$rwX<24V58_F7;ep&<=uySX$8>wy3LzLH2 z;OPfMaOtPDUl&_GFODp8F)8)4ow!i!PLf*GiPa@hE9NzsscY9!w zF@K=4=hT_ExX+7}xi5dWT)hAFE92C{srz3@hdpoa-P;>jY4~?S2?gQM1%9&Ze*geW B#ex6; literal 0 HcmV?d00001 diff --git a/resources/electron/fastforward.png b/resources/electron/fastforward.png new file mode 100644 index 0000000000000000000000000000000000000000..b512f336c795a2e86f1c4dd5d16ccaf381e74463 GIT binary patch literal 1251 zcmXAp2~ZPf6vsCRR*|b21tRFsb_NSoIxsLuD;6jqPzaXj zcd<^@Q7LB;grXx@R2abo1_+Ujh7BZ|qnjmY0!f&(51je-?c2BC`~QF6e!E*1MLlL| zzSkT<5X;bzz!*3?!?AnEHi+}lBj3Tvl;t1ck08A@yEanH;F@$U=2!sI&2y9^h>2TN z`0*epvP49NP#DiQTqHzU7#2OfLL!k^A`y*ClxVPW9mxGfiM!FC$`heyW zk}R<}W=_XIwJd=$LyD6)92%d0MuMM_;!Kg8*3psq4$qY0r}+w~fC7!bUZlbDRT9uF z(!7o5>!CMKCHa)(6UzWlqFIce)g>)xU=CPRtP3Ghr#EPGdT^&s85yW1j}RAs#Gn@% zE7wuzs^8$#_-bH-LFI11%*SAw~Pf1U_c{%MhiNH zY7w}^%^4ulP;D$Es%2mRB-)%I7nj7(87|SwFqiShKn5IU)goHADE1=$K2T>#_;fCnD9MdPn=2oW?wWvgz;BbH#9 zENm5cz>9^c^Kdcb*)mzq`}g3RufkZ1s{jM*x}p>(p&x)G@wN86;$4nH#uO3Y!Vs*2 z!d5#(8BBm(hDxG914SmLhM1$2u@=?m<#JHl9GE&Aa%=^>wjM8R2lhz;b}(}KKUij< z?HU>0nBMa-)L6vY%4lt4L$bCuy7;*mjaDvF3XCTv+bcfWZ7W~1P+SZNA;!bT2+lYs zpBM|vC-C5j;DTq*Cc+Ew>Oge>d2}RTG;oAmtvLT5TJzL8c-7WE>^;2h z*sGny4?N86SnuiS(7AVcxVgJE9O&|>Ijn1ts`l@1YEnt5llY*v#zjo?9rV$PFH>A- z)FY35t9%}7G(%NKhA7I*+_<PiCvP&?jBgdCS7iX5q~Yy|2aRs7VCne%+Ah z9T(l6$?USQd|1}nQh2Afo{c_#`Sj_%J40!84c~qrl8ib>J5k8?kJ4g;z1ltg2>4ML z(TcK=J#N1rG;b^|k67qW8>P2BU<>WPuqb#{%@)pQB(tvFuxcPHZ}zi=*I%?vaLk)} zgad4@>&c>u=eCDl53oh)PNxkyRz-hZy}qQySI?4nd`@wZzN6I z-Hfu-KUZ$(5(asS&mLeC&ABrJ8Hv4nWyMFEZ?|`MCD`#y`@Az!Nzt8;#vHuw4Uo2_ z{@P=6V)O^+v&&<=vZzDJ%+6Eo4&J|=Dl8mieHC&tCTe}GDr;w^axgtb-S3V*2#VO} z>h$;B>RY`Buk31K*vF)@7nY@?wp)-4dj}ZE>fmt#gRU8$Z(Ujj;Zr w{&V+Rean$G>hLJJGF2`vb-s2puCir}PQ1Eho^EZZs22lgM1Cp=)4-kCSH2?qr literal 0 HcmV?d00001 diff --git a/resources/electron/fastrewind.png b/resources/electron/fastrewind.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e351c896714fd5090786d578111aaad1abf4da GIT binary patch literal 1255 zcmXAo3p87I9LH}edN%W#aoRMFv(qWd*;qNW)wMfhsF+5)ZfsTb5!uc>=h+q~6!WO6 zdepSmZk-*csHsV`I!reXsmBl@sYohONqSwO2?@>iOLxxi{$Ka||NcI|`~TlE2K|JU z#XbuJL9A#&{^8KOz+?ZG8ML!u{YRlAvi(l_AxLM{J3D90VNOU7KS4$Ak2@+6WS2W5 zBr*UN*%CZiERGRlIk+TjaxG0NB@hT~i3APW}u0AAC+b1UIHLBb*+A*jQWJ*xC|oY>Y+<$w;9XNeYUu;*UKQuXgRWEH_ha z<^&Jp!9m0MI2M%88O4T1hd3d4U| zt7fyix?6WdSLNze<8=gUrSn}o-8((EJRCbZJUm<7+j&(wMSGpos(!WZhJNdYqZ3_m z(TAt2yy%0DsVTDK+J}|Lj~(mP_CAzRNGM}WO&X74j7KS39G}B4&`9(5i~MlnT>Jpy zpqT%9|G4|!@?bSFd+ly%&m(-U;MbP6=+t3rd)6}7mk`Ms@rgOrcyu4HbRb~HikF!7 z-P{9nT38NISg)&hFLCPe^saO}_4K8qPjzkc-^n6-yDy37%aXpbu#4w;iGHU=Rn-*~ zq))rF{5>^PL0{W)Up+X5=XjnCRUCv1Plbz8Vi z+CR{fM80;bH(tywPA{^(S{v7!Am&EZG@Qx3<{75J#LdnJY|DR9*z;1DjOziVsfmm9 zHqYH9KU8p&o4l*{j7(XndC5()d?J&Z`BB4!jb(?s8qoK^)dnV9!a-Kjg!K%^8KYNw=)6V8 ziN$Ft?ky?tEejtb4q@p06u z+3W9@Mb9DTS!bR3gTbHKvn(x>CDFAW2jvOQKb7TNKoI%6<!lvI6;x#X;^) z4C~IxyaaMQ0(?STf%LqiN0%Nux9sedrDv`z1(IOK!jqR59JsIqE&>)`boT5rkjUkw zr!PTOp1rch!@e!&d9@{`|x`hLb(z~SHAAAjVQJoNm%dZYebhN?24 z5?@aj#}J9j$q7L4q=ku1<-oa9Ol&!ePBh5~MES(91W)J;jbI242|6!9cGW+*f>X!{7r$toP+0Q%Rpi+S(zC|@g}!3>_RelF{r5}E-0fOKa7 literal 0 HcmV?d00001 diff --git a/resources/electron/folder_icon.png b/resources/electron/folder_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..adbc21da6a83f6a8c8e4d91e35ae5fcda01b2a86 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaO00(?STf%NjjA0}_Vz2fkPC5K2`Sa#s;@4=ugN@D%_L~&AjoCRq6fNc`YSPqO(^S(Fpuq5CqZ3QzjRg)9SQRB(!m%pgXzbOpJApz;}|?${an^LB{Ts5SL$Fy literal 0 HcmV?d00001 diff --git a/resources/electron/ftp.png b/resources/electron/ftp.png new file mode 100644 index 0000000000000000000000000000000000000000..45545c5c902e0cc005f7e6580dea63c0f9e6f8f8 GIT binary patch literal 450 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaNl1^9%x0_jUX{#^X><;u^0Ky>!|_p_frU;g>;;*UQdksm<8zZX7yxD4ce z{|gkk{Nvx{FJF#-{0L(F{Cf#32vYg|@8$1*PriM7?)!JB#&5r`{QL>h^7G$?ufKqd z^FM!{{`wWj1!@GEeBi+Ypy3e3jEsyxMngjbNb2W*SKp*=pvw$Pg8YIRJjDLol@rbhq%zy`uM-EVx#%wpEj6k?mlnuNmb%h-8GJy3q6c)nTo6Zc7y{p_jh^i3DZX)=HL&wiOLGl}D3-+mFD;0WIx zj1jh98E4d;ebF}iVs7rzDUuhXPRSlBY~XBfxwk%hPWD>u?d^KD^^dY!I0OB>j<)14 zefPDYZ|*$d;Q6dJvqEL84;1Z;z3n~u+_Ua?l|4qzy?lS3{9f?+F9TPlV769B&|;v& O7(8A5T-G@yGywoVy!ZS7 literal 0 HcmV?d00001 diff --git a/resources/electron/image_icon.png b/resources/electron/image_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f54651801256ee6e9fd06999461f07ee62317eb6 GIT binary patch literal 488 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaN#1o(uw0_me&M^E=(I5FYE=?NDZ85w~j5S{8je_+Ce)nTho^<4zYp6`%5bS$+bh)FPRP< zdA)K5bC4%<>CBv4Zqv_5Ya~tKP6FAD!lvI6;x#X;^) z4C~IxyaaMe1AIbUfpq$_vklMAwtaoj@an4Xg+J-fp81`9mVWk`kWH!WWtq(1mi`r<|Cl^?Zlp2Xhx;(qK)&zFl+{#@z%b=&{K zKmQB=fsASYuZLg#4b&Td>l;uz&>WyGb?=`TUb@Q)6{fT@yC7L z4KFJH98^8M>G7fFGQ}r0j1xX{&ZzL4UGUCL(?914cg4wPE}C~WT)e_N86{j?XLCJt zTk5wal)Yq?U7)6Umh9!JRV;3?mySj4z8KZNZmY4u?P=FGU+X>gqona=<2{xw`wa6^ wa(E9Hq_YNWm|K?G^Wjx{`Hwrf2fqCgXS0!FK0IZbIMAI8p00i_>zopr09NzF?f?J) literal 0 HcmV?d00001 diff --git a/resources/electron/play.png b/resources/electron/play.png new file mode 100644 index 0000000000000000000000000000000000000000..dd3a661131c4afe42e303c3c2d98c1235d5d902c GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaMq1o(uw0_nQ)t;ueet5_$BpnSzvFLx18V8}b*uK>lago8fZW-^Gtf-;i!Y}9xzh0YX6u&+ZC~$C`*$t;>TjU2 zK=%L*1S&3j1v1C~!vDTsx24~Ry#u;cza+>nnBmiYk^S5b+#(L`4*Nygxg9=z`m`S? z~JBYOR?QflvI}50FvZsqmJ9YF%zn5vf$&52oqFf8V9&ced*BrjeylBpM_xtnAZ?PDN z#jJ}x_G#&rSv_}SnB)q-M4fwS!*b{R&3qfif1x5mdKI;Vst0F18q AW&i*H literal 0 HcmV?d00001 diff --git a/resources/electron/sfo_icon.png b/resources/electron/sfo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..95e512915ae62c94dd6c61b960a92f4f91e743d8 GIT binary patch literal 522 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaNN1^9%x0_i1ZuPi-#W!}-FOV3Ro)|%KVe(mz=r07-+)DOF->F z!+}y@GcPTMsD}z(T6E^({L@!}iszgFS-0Ty1(4!1KoPKMXD$QT4Xal}OaLladIspo z13*U4Mb8gFpE#BT`2{mv`Of=Z=hGQu0r?VJ|W3B238aCC_#W6(Ua&iI?JZoWM zQ#o+%7!#Y1(TOG*fv9VNQo$3teS^4y17e&)SYiWuIz1yi1bhWpSZ-|OD4L+WV#VSE zhtIBEwEkGL%8GSMPirmDIg+uiOJ&8{lLuC%95`^|e7nku#D&MR(mK>KPG%lHb^5@8 zjHE7=jO=uNp)E$!+{-30x1{=>n0vv2jnQm|f{m3!gQNxn!=HoPMf+6NC<7hH;OXk; Jvd$@?2>^JC4-^0Z literal 0 HcmV?d00001 diff --git a/resources/electron/text_icon.png b/resources/electron/text_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1f318e005b943e5f80b092dfd950a7ad269f97 GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaNp1AIbUf%MWdmzJKnyyWclrDv`*95}G_>=htm;mOMj4qR9QWS_k<@90sG z;IVVd&R$t^1|$MUi_V^1div7RvzM2_#Fv~0$<94~JZ$yqhSjTqCM-B`VDZ_@OU_(g zy?QlJYT4kCW9}b0&xcEX zuh!ov#LRY|BOsmmpus|+$e<3Oo=Q&_#}J9jb1!D{HyQ9WJS;k4wq3F4#KNYA>;M0^ z8gwm_;pBWjUG4nxWvmPVNjx4tyPSWyO?nsR@d6zt0M6{!Xo$izAgD-nbh?@qRwWM=f4mC`6j6j=dEUI6 zH~3P3TAY%WT-!ySFBWKgsZ>Eh%0XW6JOOrytrjbQYXrOiN5Q-+c!Yo#px|WiTUPEZ z%_9Xoxa}_sD=qskJ$`jv`0e!j|JV&teP2HXpHuW#5}O(r+LLcvXcSWs{NTA zD59y{qxV+E&+n*KLPht$Cz~9iy_xjMSko!$tpOG%cc7m|9V(lP)wfPRmlSGhu9m%B zV`JEByCJKc*erOumN|1wzr-IiZdo@hcjZ_z%Ln&zahu1XlSry?ck~@+GO48NeWknh zf9wMeR~<^p&&7^M818T;(K;rB(9EF)U5HINisl#h0eyy%-pxqYWk?mw$c{8wJ862P z$`!EOEY#8Ji&6ghC+=VW)4jhF+U;0Ud7ED1-rAM>`D_8o+X~VNficUpyoq-1=3V34 zD%H5hb@mfa2jLdlE@b7kXMR6-Y(%?M=R-oXsWyhDoVu53whPz3QIm=UnW<%%m)~ zPQNe;njMBxqFOZTIh*kE5%{#YkUgq^BSXUc7P3?#kq{24 z$>kbxjqE%(B4*0u<>q1cx3IQYLqop`9laKTnts`M@eXCQyYa92xEvKugbi|WJ}mON zO{bxO?W|fSzK4m>@n_Dd5_k0n(sCz_7dlAF7yV7~(J2&7(F!qZCF0DI_es`|aP;~H z$w{3;m8#%0yzV>52q^uI$PaK zvPQ=EMfdMb@!nBfkAlrPN_{E2bR(?3mhG^VD$?nx=;1a2g>t$OF{hF2g?7v?gBVu@ zTt;h|8cl1yow_W1*e01A)yE9*J(VTgBoQAaCT$R+r^gW!29EC#Pl)QX>)dH2;v*|I zRjqI4H+a>@r$w}};Z5@TKOAhGnl3rCsrl}uM&>?!`m*Sh^a<$`ddFqccm?V5=4WI! z>+9+&F}Tyqp#yKHxv}49>`C@R-H)c*0zPkD5bDhzknt$}cCRIVN1+;Oc4Mej>P@*> zv1dn7H{E7!eFML*KlrGVeh<-ZK5W2}cxKO4MP8n`P*!hNPQdN=GhPg3k_aC$wXmHUxzNI*T(P8FS4sj)) zO$(1zuqLWtmQ1|4xnwN;`+VIpLbnLd*n}HzIq1+i=ovEE?&_)U5pL+wF#nt!X^%`Jz2 ZTVfKoMk-y7R6<7xu@5$4Nsy?Ne*m#_rD6a8 literal 0 HcmV?d00001 diff --git a/resources/umass.skprx b/resources/umass.skprx new file mode 100644 index 0000000000000000000000000000000000000000..ce2e5cfb9363b17ffb4c0c6d698e2fc26ae968b3 GIT binary patch literal 7070 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