From f61789ffb83c05c4b727dd712ecd9eed16c2ee99 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Fri, 3 Sep 2021 23:51:17 -0500 Subject: [PATCH] Updated to latest working structure --- src/core/config.py | 15 +-- src/core/routes/pages/OIDC_Login.py | 1 + src/core/utils/shellfm/windows/Settings.py | 39 -------- src/core/utils/shellfm/windows/Window.py | 2 +- src/core/utils/shellfm/windows/__init__.py | 4 - .../utils/shellfm/windows/{ => view}/Path.py | 0 .../utils/shellfm/windows/{ => view}/View.py | 4 +- .../utils/shellfm/windows/view/__init__.py | 4 + .../windows/{ => view/utils}/Launcher.py | 0 .../shellfm/windows/view/utils/Settings.py | 93 ++++++++++++++++++ .../shellfm/windows/view/utils/__init__.py | 2 + src/user_config/webfm/ffmpegthumbnailer | Bin 0 -> 23152 bytes src/user_config/webfm/icons/archive.png | Bin 0 -> 1670 bytes src/user_config/webfm/icons/audio.png | Bin 0 -> 1544 bytes src/user_config/webfm/icons/bin.png | Bin 0 -> 858 bytes src/user_config/webfm/icons/dir.png | Bin 0 -> 850 bytes src/user_config/webfm/icons/doc.png | Bin 0 -> 702 bytes src/user_config/webfm/icons/pdf.png | Bin 0 -> 925 bytes src/user_config/webfm/icons/presentation.png | Bin 0 -> 882 bytes src/user_config/webfm/icons/spreadsheet.png | Bin 0 -> 707 bytes src/user_config/webfm/icons/text.png | Bin 0 -> 798 bytes src/user_config/webfm/icons/trash.png | Bin 0 -> 989 bytes src/user_config/webfm/icons/video.png | Bin 0 -> 1313 bytes src/user_config/webfm/icons/web.png | Bin 0 -> 1845 bytes src/user_config/webfm/settings.json | 18 ++++ 25 files changed, 130 insertions(+), 52 deletions(-) delete mode 100644 src/core/utils/shellfm/windows/Settings.py rename src/core/utils/shellfm/windows/{ => view}/Path.py (100%) rename src/core/utils/shellfm/windows/{ => view}/View.py (98%) create mode 100644 src/core/utils/shellfm/windows/view/__init__.py rename src/core/utils/shellfm/windows/{ => view/utils}/Launcher.py (100%) create mode 100644 src/core/utils/shellfm/windows/view/utils/Settings.py create mode 100644 src/core/utils/shellfm/windows/view/utils/__init__.py create mode 100755 src/user_config/webfm/ffmpegthumbnailer create mode 100644 src/user_config/webfm/icons/archive.png create mode 100644 src/user_config/webfm/icons/audio.png create mode 100644 src/user_config/webfm/icons/bin.png create mode 100644 src/user_config/webfm/icons/dir.png create mode 100644 src/user_config/webfm/icons/doc.png create mode 100644 src/user_config/webfm/icons/pdf.png create mode 100644 src/user_config/webfm/icons/presentation.png create mode 100644 src/user_config/webfm/icons/spreadsheet.png create mode 100644 src/user_config/webfm/icons/text.png create mode 100644 src/user_config/webfm/icons/trash.png create mode 100644 src/user_config/webfm/icons/video.png create mode 100644 src/user_config/webfm/icons/web.png create mode 100644 src/user_config/webfm/settings.json diff --git a/src/core/config.py b/src/core/config.py index 6a7d29a..7f2472e 100644 --- a/src/core/config.py +++ b/src/core/config.py @@ -10,7 +10,7 @@ from datetime import timedelta # Configs -APP_NAME = 'WebFM' +APP_NAME = 'WebFM' ROOT_FILE_PTH = os.path.dirname(os.path.realpath(__file__)) @@ -19,7 +19,8 @@ class Config(object): DEBUG = False TESTING = False THREADED = True - SECRET_KEY = secrets.token_hex(32) + SECRET_KEY = "2A#GQafbREoblgMSQYomZSxbaPE6dt#" + # SECRET_KEY = secrets.token_hex(32) PERMANENT_SESSION_LIFETIME = timedelta(days = 7).total_seconds() SQLALCHEMY_DATABASE_URI = "sqlite:///static/db/webfm.db" @@ -38,12 +39,14 @@ class Config(object): ] STATIC_FPTH = ROOT_FILE_PTH + "/static" - REMUX_FOLDER = STATIC_FPTH + "/remuxs" # Remuxed files folder - FFMPG_THUMBNLR = STATIC_FPTH + "/ffmpegthumbnailer" # Thumbnail generator binary - - ABS_THUMBS_PTH = STATIC_FPTH + "/imgs/thumbnails" # Used for thumbnail generation REL_THUMBS_PTH = "static/imgs/thumbnails" # Used for flask thumbnail return + # We are overiding some of the the shellmen view settings with these to make it all work with flask. + # These are passed along to the shellmen view from the Routes file upon the window controller creation. + ABS_THUMBS_PTH = STATIC_FPTH + "/imgs/thumbnails" # Used for thumbnail generation + REMUX_FOLDER = STATIC_FPTH + "/remuxs" # Remuxed files folder + FFMPG_THUMBNLR = STATIC_FPTH + "/ffmpegthumbnailer" # Thumbnail generator binary + diff --git a/src/core/routes/pages/OIDC_Login.py b/src/core/routes/pages/OIDC_Login.py index 7337011..b9f4a9b 100644 --- a/src/core/routes/pages/OIDC_Login.py +++ b/src/core/routes/pages/OIDC_Login.py @@ -11,6 +11,7 @@ from ... import app, oidc @app.route('/oidc-login', methods=['GET', 'POST']) @oidc.require_login def oidc_login(): + print(request) return redirect("/") diff --git a/src/core/utils/shellfm/windows/Settings.py b/src/core/utils/shellfm/windows/Settings.py deleted file mode 100644 index 41a4663..0000000 --- a/src/core/utils/shellfm/windows/Settings.py +++ /dev/null @@ -1,39 +0,0 @@ -# System import -from os import path - - -# Lib imports - - -# Apoplication imports - - - -class Settings: - logger = None - ABS_THUMBS_PTH = None # Used for thumbnail generation and is set by passing in - REMUX_FOLDER = None # Used for Remuxed files and is set by passing in - FFMPG_THUMBNLR = None # Used for thumbnail generator binary and is set by passing in - HIDE_HIDDEN_FILES = True - lock_folder = True - go_past_home = False - - subpath = "/LazyShare" # modify 'home' folder path - locked_folders = "Synced Backup::::venv::::flasks".split("::::") - mplayer_options = "-quiet -really-quiet -xy 1600 -geometry 50%:50%".split() - music_app = "/opt/deadbeef/bin/deadbeef" - media_app = "mpv" - image_app = "mirage" - office_app = "libreoffice" - pdf_app = "evince" - text_app = "leafpad" - file_manager_app = "spacefm" - remux_folder_max_disk_usage = "8589934592" - - - fvideos = ('.mkv', '.avi', '.flv', '.mov', '.m4v', '.mpg', '.wmv', '.mpeg', '.mp4', '.webm') - foffice = ('.doc', '.docx', '.xls', '.xlsx', '.xlt', '.xltx', '.xlm', '.ppt', 'pptx', '.pps', '.ppsx', '.odt', '.rtf') - fimages = ('.png', '.jpg', '.jpeg', '.gif', '.ico', '.tga') - ftext = ('.txt', '.text', '.sh', '.cfg', '.conf') - fmusic = ('.psf', '.mp3', '.ogg', '.flac', '.m4a') - fpdf = ('.pdf') diff --git a/src/core/utils/shellfm/windows/Window.py b/src/core/utils/shellfm/windows/Window.py index 089dc66..5284e08 100644 --- a/src/core/utils/shellfm/windows/Window.py +++ b/src/core/utils/shellfm/windows/Window.py @@ -1,4 +1,4 @@ -from .import View +from .view import View class Window: diff --git a/src/core/utils/shellfm/windows/__init__.py b/src/core/utils/shellfm/windows/__init__.py index 4d45198..cd9f6ce 100644 --- a/src/core/utils/shellfm/windows/__init__.py +++ b/src/core/utils/shellfm/windows/__init__.py @@ -1,6 +1,2 @@ -from .Settings import Settings -from .Launcher import Launcher -from .Path import Path -from .View import View from .Window import Window from .WindowController import WindowController diff --git a/src/core/utils/shellfm/windows/Path.py b/src/core/utils/shellfm/windows/view/Path.py similarity index 100% rename from src/core/utils/shellfm/windows/Path.py rename to src/core/utils/shellfm/windows/view/Path.py diff --git a/src/core/utils/shellfm/windows/View.py b/src/core/utils/shellfm/windows/view/View.py similarity index 98% rename from src/core/utils/shellfm/windows/View.py rename to src/core/utils/shellfm/windows/view/View.py index db8fe9c..2a37a5f 100644 --- a/src/core/utils/shellfm/windows/View.py +++ b/src/core/utils/shellfm/windows/view/View.py @@ -9,8 +9,8 @@ from os.path import isdir, isfile, join # Application imports -from . import Path, Settings, Launcher - +from .utils import Settings, Launcher +from . import Path class View(Settings, Launcher, Path): def __init__(self): diff --git a/src/core/utils/shellfm/windows/view/__init__.py b/src/core/utils/shellfm/windows/view/__init__.py new file mode 100644 index 0000000..da63bd2 --- /dev/null +++ b/src/core/utils/shellfm/windows/view/__init__.py @@ -0,0 +1,4 @@ +from .utils import * + +from .Path import Path +from .View import View diff --git a/src/core/utils/shellfm/windows/Launcher.py b/src/core/utils/shellfm/windows/view/utils/Launcher.py similarity index 100% rename from src/core/utils/shellfm/windows/Launcher.py rename to src/core/utils/shellfm/windows/view/utils/Launcher.py diff --git a/src/core/utils/shellfm/windows/view/utils/Settings.py b/src/core/utils/shellfm/windows/view/utils/Settings.py new file mode 100644 index 0000000..a6e3ea8 --- /dev/null +++ b/src/core/utils/shellfm/windows/view/utils/Settings.py @@ -0,0 +1,93 @@ +# System import +import json +import os +from os import path + +# Lib imports + + +# Apoplication imports + + + +class Settings: + logger = None + + USER_HOME = path.expanduser('~') + CONFIG_PATH = USER_HOME + "/.config/webfm" + CONFIG_FILE = CONFIG_PATH + "/settings.json" + HIDE_HIDDEN_FILES = True + + GTK_ORIENTATION = 1 # HORIZONTAL (0) VERTICAL (1) + DEFAULT_ICONS = CONFIG_PATH + "/icons" + DEFAULT_ICON = DEFAULT_ICONS + "/text.png" + FFMPG_THUMBNLR = CONFIG_PATH + "/ffmpegthumbnailer" # Thumbnail generator binary + REMUX_FOLDER = USER_HOME + "/.remuxs" # Remuxed files folder + + STEAM_BASE_URL = "https://steamcdn-a.akamaihd.net/steam/apps/" + ICON_DIRS = ["/usr/share/pixmaps", "/usr/share/icons", USER_HOME + "/.icons" ,] + BASE_THUMBS_PTH = USER_HOME + "/.thumbnails" # Used for thumbnail generation + ABS_THUMBS_PTH = BASE_THUMBS_PTH + "/normal" # Used for thumbnail generation + STEAM_ICONS_PTH = BASE_THUMBS_PTH + "/steam_icons" + CONTAINER_ICON_WH = [128, 128] + VIDEO_ICON_WH = [128, 64] + SYS_ICON_WH = [56, 56] + + # CONTAINER_ICON_WH = [128, 128] + # VIDEO_ICON_WH = [96, 48] + # SYS_ICON_WH = [96, 96] + + subpath = "" + go_past_home = None + lock_folder = None + locked_folders = None + mplayer_options = None + music_app = None + media_app = None + image_app = None + office_app = None + pdf_app = None + text_app = None + file_manager_app = None + remux_folder_max_disk_usage = None + + if path.isfile(CONFIG_FILE): + with open(CONFIG_FILE) as infile: + settings = json.load(infile)["settings"] + + subpath = settings["base_of_home"] + HIDE_HIDDEN_FILES = True if settings["hide_hidden_files"] == "true" else False + go_past_home = True if settings["go_past_home"] == "true" else False + lock_folder = True if settings["lock_folder"] == "true" else False + locked_folders = settings["locked_folders"].split("::::") + mplayer_options = settings["mplayer_options"].split() + music_app = settings["music_app"] + media_app = settings["media_app"] + image_app = settings["image_app"] + office_app = settings["office_app"] + pdf_app = settings["pdf_app"] + text_app = settings["text_app"] + file_manager_app = settings["file_manager_app"] + remux_folder_max_disk_usage = settings["remux_folder_max_disk_usage"] + + # Filters + fvideos = ('.mkv', '.avi', '.flv', '.mov', '.m4v', '.mpg', '.wmv', '.mpeg', '.mp4', '.webm') + foffice = ('.doc', '.docx', '.xls', '.xlsx', '.xlt', '.xltx', '.xlm', '.ppt', 'pptx', '.pps', '.ppsx', '.odt', '.rtf') + fimages = ('.png', '.jpg', '.jpeg', '.gif', '.ico', '.tga') + ftext = ('.txt', '.text', '.sh', '.cfg', '.conf') + fmusic = ('.psf', '.mp3', '.ogg', '.flac', '.m4a') + fpdf = ('.pdf') + + + # Dire structure check + if path.isdir(REMUX_FOLDER) == False: + os.mkdir(REMUX_FOLDER) + + if path.isdir(BASE_THUMBS_PTH) == False: + os.mkdir(BASE_THUMBS_PTH) + + if path.isdir(ABS_THUMBS_PTH) == False: + os.mkdir(ABS_THUMBS_PTH) + + if path.isdir(STEAM_ICONS_PTH) == False: + os.mkdir(STEAM_ICONS_PTH) diff --git a/src/core/utils/shellfm/windows/view/utils/__init__.py b/src/core/utils/shellfm/windows/view/utils/__init__.py new file mode 100644 index 0000000..3c05646 --- /dev/null +++ b/src/core/utils/shellfm/windows/view/utils/__init__.py @@ -0,0 +1,2 @@ +from .Settings import Settings +from .Launcher import Launcher diff --git a/src/user_config/webfm/ffmpegthumbnailer b/src/user_config/webfm/ffmpegthumbnailer new file mode 100755 index 0000000000000000000000000000000000000000..0b6e6e2a3f7a9a9f54d4b2bdc0c939cfc80cd36a GIT binary patch literal 23152 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 literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/archive.png b/src/user_config/webfm/icons/archive.png new file mode 100644 index 0000000000000000000000000000000000000000..7943e4e39efd8fc25296d3a28da55f9919ed31a2 GIT binary patch literal 1670 zcmX|B2~?BU68@7|3|f`OvI*4)PmiPx*dwQ<#g+iF#HTz=z$z{fF_2%fnfwq4LW0@Y zR3H!tTNZ+Vl;9%)3?QILSyd9EfQkZAx+x%vU9_b?ZBOTXckaxc@0^)CcgYG53)!%4 z%Q^r6HV{Mik>ELIb)ZqOz85T84WPII#0WGR{c!q!Q?P5x4n4{R0GGzqfjGG(-xXeT zhJubjWL6x+qj0DIkH_-_nF-uj3Y+T5;>4HD@7)5E99BsYAVjAE;c$e5CC0Lt*a#Yx zLEW);YyxJyx61HOglH@dK&CLTp;R6SK~Kb4!ElhY8VqEyQ#fEe4FUoKvHlRm0Z%1D zAd877)8NehbTEO6r9lw;b1$!04wV9dNz_;tgTZ2QR}1l?gRxX5m&)}zm4fF|y!LqR z_Bttw>Hq-5v+x5EL2#CTrK?LdY%svC`G#qz1E%~Vj*gD5t`2`Y7!1b20Tb-!OAPSq zYcuwlj05e)!S-f_ETc#&ER;KDzZKJl_SXBWVZME9A zI&Du=!$3z%8hASW3^hF=PH=`QOo$UE#0%;184MV-^Dvm8C)HU zY-;E+z|i*?^|y@rez?PJ&2ZDKckft7E%!z(_st_?7W3FB49obadBQsS@czArWA`Q} zCubf#_;&iq-1OAk%+$jC^TmaQ7mF|!mtMSBUS2K<5&s6C;)f6^j0_;&u|cnM*zUH= z1Bdtgc#qF#L?S;m^;~9FcJ_$bY_?de;}a7Tua=izyT^R;U-(V<5cl~<&>lZ8`t=yb z->FX{A`Q*IY4Rq2HE@88_5G;X{vBU@xM6*BkCn6sdpghU_C{axQp}2ZZc;*}B-9GVD?J%TMEvJ0QNS;z3fL1T~^tn!*0J{uy8e=k7>{i14rbezP8=wqL;A*ANnWp z071Uimf%6!EZlEP*zHb`?g-cw3Lt+(BG&+Q$J~rj2JkY&3GzmSUFsv+3s2k(eD7+%#EyR#PeKiIx&k$Rk3!A}W$Qv?sEa$aYMo8LUSW7C79UnlW@M(`&Yt-MR_eBnnrgtt(=QwnCUoJx+2dLXUlO6iLI z)5O<+U_(#D8#!>~+r!axy0-eb>z%E;fgu|r(Br+&cC+IS(FBUw-Skr(aG-v-_2w>Q zxs3W920)um?5wq{@BAZtTh0)kE1wJw1z+t%+ASe(*yL|mN~Q7+buG@N4FIz@Gi;Gq z(`+kf>^_W~>h-r@6Y0YqT5GixMj^4mv-jgrPCfM>;uiayb`Ulh?Yv1}UBOfw-bj-M z0wEd?=aC$dAsaEZc^K#vdYkfzT78@Pm)=+O-XiOD@qk8^YPrl)wuniPb^B zy%!jNyj9#b!`wa~m}qpu{vuY_9t#Cp#l-y^qq>Y(xTL4t^jq3)942=h=h6R*=*-)+ zjBOx_TmU8|k_e1|UKOD`x~wN=Z0FIWFK~*=C%I-Zp3!~d;FnE&yEwbnnHx(G!To}U?63HnOl`}=c@ vLkCR>kcaNm+1dL1FZ}w{WAOd{q017TgD*%|V_I@oKTu*&*gkzg%=te7aFZ2g literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/audio.png b/src/user_config/webfm/icons/audio.png new file mode 100644 index 0000000000000000000000000000000000000000..c0101346b611e7495861f4efe2c511f76b51e5e7 GIT binary patch literal 1544 zcmZuxdpOg382_1#wYlcDP%Wj4+h|9w2Q!nE80M04nOQb$)AnPKVADonltl zL5HREOw8q+D5;PxatTMONfadx#+mciInQ&x&-;Gg=Y2n)_ws$7_xa|L{Pt@ij1d3; zXcB$A0+lv;UEylVd;BubQE8xDPa+wvJbZX;uF~I-6K5kW&<%wn zj+uR`M&*(DT~$eYas}1jLP%A>r5w}z6ZPsB9f^l3j7`ITF2BQLe)^b{n?>IuoIfcm zEm5SuXS-zxN4p=-(6<8jY&HIo<9Mj%<4;>2mRqb2g_zm>W|aVtCPNHgroh!(N`nK_ zQ<~#9w=68{I*@LlaoG{u7Y6ps8f2joYdbHGQO&k>d})pwX)Z^;Ky)gLfW%p(zS;|S zhq0bZqG5|MOKeB2ftAYB62Xfmt(YKfk!{`B;!kpKLB*r1)t#q5ui%^%MzJmM;M%13 zk}Qd+%b=65%lY8%(Y2h~IDw16)&P$VXgnJJI3Cag^}HM0Ic#M`(VmLA1Cfn;y7SWC z?3N-Vj_#s!&k${bt9F3_rW<;B;VS&EXZ8oj526(CF_?pEUw@7qW^0`d)42!9rKq&u z1Y*JfJF85Tp@#+%o%647;s;2GXL-;o=hc86t@f!4CIu_q@$IS5-Ags!P9W*3%CuQS z4|mm$qaG%0klZ{e;D%hU#Y{1mZ4}pru@!GB3tYwW^SaUTwT1_0?*AGEaVBJ5b3Ik6 ze)dAQPW0J|?IKONhRS`hh?e(cf+^_MxtTMm^tH%Bfsd|CEvv#lA#=P29wT3F#X?ao zfkhFyPfg@-mHTwON^C0b8)<7_Di8hFBCwIiQUN+w?8!ZAS__NX4(blQ{_}IrrKQ;5 z7CSQ|^vh(5B6T@`q=`D9%V2l5ZTWydwpL4@>(kDp!*b^tU$?kqPLwI;Rj19dWyh-F zB~s1Y`s+eGX3Awxm&{O+jEjX_)E+%OQzX>rZ|H`Ru_**Wx|df7&beK-x;0trxp*$z zZeu?Gy8Wk<@fH&EPHAPCZuAkK;W|71a&`X|8St00&W}Kkdh8GJjr6W>@!F?BS1D0SAL zxZ;T3&N)bu{|c(QglMKWcIar;P{EA=x07mnrAy!G?UV4fsV_`~-JAB+n?!(bdXGO( z7iyVCIW3zU*jl_-7}~9GD_y(ifg#7+7a&M}23(10r0G)fyU5@#BsY%n7xv~;)ioT1 zu^9$v*!6(K|1)hd)X2ED)qw6VK=PVLE(Uj{i?k=xTnbJu;liYBC?EEVrD$%N(6GyU z%Fm@y_BvJQ*^kx!eUOjLzqRdl3OS?e55>5vEYC7$jhM!2S~>pOZKs}&5eShx;A6D@ zyLbP$j&#@}>FsXB;d4F}2O3c|nYZTZqfS#p?gxyVxAC@&7Vpa#^mUr04nA8b32D39 z!7VLJWB2(IXRl54?~Jk(DtwKKdSQ==p%L@NNS7w*_l5c|k73`|Fb||N=Ss%qr|hKp zFcNPwoI@=KZ0n!Q419iA7#B6nT5v0>`HfkgGTQ5`MsO>O$XbkVT!UHdTL6(U;Cknq{Q{mCL=3J`#dGHam+6_rCl di=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1UVK#D># zOL9^f0)R3_3ZBXNc?uyJsky1DHrHsBf%ipdZ&9wFhW=V}MVHE09J8Z@~aA5*-~K z5fM>PP>_?8^XAPPi0p+67cO4Bc=_^WAotm`XF&4#^XCu}$awMM#mt#A=gyrwZ{EE5 z^XD&EuwdP~bsINs+_GiMwQJYz-@pIh!GlMS9=(438e*XO^6L^n`(#Rj{DK+SIFyvN zwDk>)J-vfMH*MLv|M1}tA3uHm{N?Lc&6p-z1_s79PZ!6KjC*fqlC<5TCeqS|*mRL?Kgc7(I8Vi=8|}I5;?NKlFb92xL>4nJ z$hLzpWB=2SsX#%=64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1UVK#D># zOL9^f0)R3_3ZBXNc?uyJsky1DHrHsBfZYpno_di4|!2nE;;ZdJgpSz-K{;CN})=gZxe$uiHlb3Cnx_r~r6&t6n*feeBrs*p;&sep2 z#_G*8S8tiQdMnTtp!q-(xF)ho0G+E>666=mz{teP#m&ttEFvl4>6lif#XQ z8W13Ilv$zc>xRv19^Jh6-?ox*^G&|HnMr59#~t{-#It^DV2glL{i@!-kE4TcEV%OT z-p;}>w+z1?PA#6E70US!LfC%He;CD4G5_F<15KQ|YZz6wZP-1z`D{=_^8Ki6{avaJ zN7k*_@#bs#uBW^^zIST;wfe&9^4sO*Om&4j>bpKNANjrI3)7R|Q=T#KpZwhZ_*dum zPKyse-tD=U{igWAzqi#}eLQv9Y-+XEJ!hQx&W=4!!(c)y8wWhvU6w0CUnUvw{_K};>3gl1wceg9u(=*FzrTHMS*!j2>yL7`K8m_0?z;72 ikl~}S#Zrnb|3dd~^!AY~RX+CuWU8mDpUXO@geCx;cxYb$ literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/doc.png b/src/user_config/webfm/icons/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..f8388267bc53ad5b95537b2977873701ac3de87b GIT binary patch literal 702 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&p zZ_9Puk?XiC-}6{u%6r8rAArhKrhnG%zo$Rxf&SbtZY#d}uKt>}<$cc94;{z8cOCoQ zef;}`Q$J^&|26ykuVq(%{r~^}l(nx4&>f;BL4LsuGV1!hQ>M<92A` za$u2V;P7(L&tTlTfNe{YTmTot0$~9MRfh(*0}QPUOht^WN18--M73=5e-P5pBywZE zqa&Bf?#D-!zU*O~{q@o;^8-1PL-!t-%^{%RaKQdUf!l(-hV)bR3I~jz$_qT0S@&69 z;D^cqV^xO-=8c(K|8@#XgfTm*UyupEDR0WO-Js**PYaPZ#^2g)85_AZEX$o=90q!r N!PC{xWt~$(69DZ(DkcB` literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/pdf.png b/src/user_config/webfm/icons/pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..9f40122a8e9ef281901e085651fa66de960cae4c GIT binary patch literal 925 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&pK?PTIAN%F-q_%-x$%8-V~{Ru^Jlh}&z$X_xi~y`b$XGV{4yf+ zWn?H&`^%{CSBbH&a#P=y6~8Sj`Mhk&=VePjFJJm)Mi|9-EZE1`1tA5moJqLU6Kq8j5VGvjv*QM-d>CJKja|7`e0Z0qDT7{ z@Ue=x9@zCTit+dV|C5)xEuOis`2EaGr$@H>bMLhORy~vHEa0IcWLx}nu9@QL5C7Jh zX&z=3(1Zr%7`Gi@ z+rcECz{PMtSfD}Gfx-O%LmLBA2_x$XCeaErj?Z?Dt0hEM9Jpw!5zzSR;LT>oh)-;D z-n^G8s(8a2u>7j+ zJjt8L#OQU^+W%$ol~c1VVm|%2De->yIiSp{$#TD@bqZhb;MWIIABs=S_AyQP;aJC9 z@7=`^``2qPQ>12fE92L^Z&7o_S!&dSSYtQ+%hYC)a9y}J+~C8l_ggjg7FAu;*!ziN zM)gzP8CSILH(b-+-*8WRe#6G_PuBw(7%L7eyZw(>d&4WXDQgbA*>(Eg)|m(N)`VR6 iI#nofzso27&zyp}+m6{Mw{HSQ6oaR$pUXO@geCx$l#&Sm literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/presentation.png b/src/user_config/webfm/icons/presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..3a339af593f4932996667370db88dbdc050f86b2 GIT binary patch literal 882 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&pG({c6t+>by80{rP(O=NlPcPs@Hg1J-h0;pch9pXZf+o>%^PQTx|5 zr(f5ce_eC=b=?(Y$m7;ukK2AdZvXSF_s@$Ne_qZ6+WY6_>_4yO{&_X;&#U=B_xydm z2$g7u zy(C%^MBZ?E3;YYq@; zP29q_Hf(L_y2CGRR%D2_ugaMC>EHP$zLTdlCB8p;vvcF`{ZEo=ISURHn)rH$X~^?& zh(7%Ls^Ln8EX%38Wp@R3xwkT3+GD7vwS`yEq18%~fz_G)&hCqCIt-jT41yI53I>e( z4zS)}l77Hd)1b+~;P1dNje${yky(O?;{vOQ0(Zy*GuMdCoH08VIIx~u=h(<~#qWH6 zP>XN&fu|<}v#v1|hgwf#t@C7L6$x-?{LlGi@A>yXrfLN8E%<5_DY1cji=7a2S>tsN zu^0ZA7`pjycDFR@XDUo!JN7Z%Qf#;D<(k(Al4T^K>V2yp{_(l7vHrrm=jk?$lke2b zU%SUt#jfn^@|Uq(d)qEN-}U)cZ)+Sh vg(L2s-MoMEqZICF(UN^ZN^i1n34LRJ(>cXB_UJWGf@bh^^>bP0l+XkK!91hU literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/spreadsheet.png b/src/user_config/webfm/icons/spreadsheet.png new file mode 100644 index 0000000000000000000000000000000000000000..710efa631bbe46a69e7d43808c675b0f5c2411c0 GIT binary patch literal 707 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#>i=8|}I5;?NKlFb92xL>4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1U#L5e~$ zOL9^f0)R3_3ZBXNc?uyJskx~NA*s0qIf*5ykA0+kAalscA{WaJky1SjSyc%+tR zmXzFY>2w2127x4<^9w4AGSf3k7@VCI97{@yGLuS6GV}9vgEN3maLmcfPF2V#DJihh z*H11=O)SYQOHIzt&CSm%2DwN-Co?%UuQ;_>KdDl;I8onN&pjHh&2juQ60FprD3nqb#g8ju=dvf#l z7rV~$aGeiCp6-jiz1R4Auk{DY`fUgbSP~q(B0PLcbk?3cpyJje?d?aq=3id8;PRq{ zmlrL)wtVfa_3LhJ*nV&4|NsBZl4mjk-62{MbP0l+XkKZ6g@< literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/text.png b/src/user_config/webfm/icons/text.png new file mode 100644 index 0000000000000000000000000000000000000000..2546fcd90b78ab5752f74234520af202a6c3987b GIT binary patch literal 798 zcmXAlYe-XJ7{}kuB}=C`tC3Uis2C#YEF(%oowrN5E?>zZM=u=!!)$Hk)mC9(O>wRa ztp}7FMumD>MN&vAS7Q~pfuQN{Z5`z>l!S*Rq_&wNlqwpPlwd-drieN{O^})_sR}Fz z8;E)wQ_-|GPasfGxSS>$aRsSXlNw#vk)VN4;2IsS6Vx?l>Ewdk>>NQ&YxNMQKNTO7 zl|i&xt#-TJ@AuEm&3V0Ehr zKmx%31Q;lRal74+_xJaM_|(*t&1RdPo}QVRnVp@TpPvUFFc5()%gf6EgXYT0%IfMW z7=Vpn07O6&L}2y7b9YXF(PUauDMg&vSYE>31A3#Wwe5Px?T3%Y#>cG-&Ly`u5Dfiv z4d-1#h`|??3T3JV|KwQ-Q^;v|mUFqm$Q!9Hd?=PZ8S}+wB(iH?XMS864LScrkDYpO zq(^b9EU(~AbKi*BvGM%Z;IrkV9%D!xcquds+dsF6t-bHn;)u?m3SshkMqElKD#~Ft zzKiPIl3TmOXR1P|+k|#8n7f&gJ6UlP(HXtG0n2bYC&ctdZXd8H6DQQ7=*u#$Gc`@j zOG)MYU~KvaIr^iozD2e@aiyOuz+~qGBf=|9EOs1rC%K82rd64gp9(Qc?ox7`qifS$ zhy@>^@%xDRdtjr6wV$w*vv`E1m^CWO4=K1F!8X=g-_0UrwK;PvXzd%yk7wArTRwcf nSXpJ**OfNuzE@@2Gn)FB={Hgt{G?7Rd?*r?RhF8IYp?zTm=%Df literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/trash.png b/src/user_config/webfm/icons/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..c6514b98b5644a1398e5b94566627683bdf8313c GIT binary patch literal 989 zcmV<310wv1P)15yzTLCe34-$-L*zeV%iVi<#7%{pXzDkMHky2mk=z;1Ymqjw*`_ z;l=cX!@yxS)3eMo)!7q(s1S;8XDeoIfk&q@7uoI?s zN^{=g#zud^U7~af3UN1l@tmQLOr|QHWPuroi5&@B4xE5LwSSN~G+$j==zSl}UMNQg zyH_50>t(Oi+-x&5w89uZw-ptSj&|nuPG2fiPCt#GwwmD#Jm6oxx$^wCcxirh-cQ9a ziluU6K|Pn5D~^E<4p7JT?N5^#IMVgKv(20OG$aWqB{-E1 z9oKKm#x_8Yf!EY3G??PhH00od3`|8Cr#dh|?Xc^Z-nF9>;EQ2fnv!5>XX9e5(~w%Q zWxxzw@&_hiR$9Lcoc|vHx!)lO6-mr}?nq6T47i&p1j1BE6+d+ySi293cx+=BS^bPd z2pc)RW6($#nyaDBQ#bUD)T*xo(~>w=@g&O4P0907%sO^H(WGl-(aW~-b3x1wa&{7m zuWn2M!9yrPfv)`{h@?zgx|KUDMpnH#&O}b58kogEan(fp3IGm{0yF@Eai?E1TUpQI zP%w=Iic?7KIfYR^3~mA204Ox%tPdgo9_IQMM*@lfDHI}T5|U27TT;IPe*mD6XwTM& zhIg`@LxX@qgMnb0tVSaItJ7O4fL$Dd0pPc<&*3~0q)-r0(BKH6aSoNuc<)UB0GrMp z6mp=g$)0LI{yHl_Lcst-1y5iV&y7F1{N=AVPXJ(u4pd6_>+}0v$EYsS1=O&N8hVrM zpZ|RC94JwwF%&23;_5K`+J-nN-|HR00000 LNkvXXu0mjfZ-lz6 literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/video.png b/src/user_config/webfm/icons/video.png new file mode 100644 index 0000000000000000000000000000000000000000..55afa98662c7439702c4391be32151b59c65e253 GIT binary patch literal 1313 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoEX7WqAsj$Z!;#Vf4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1UVK#D># zOL9^f0)R3_3ZBXNc?uyJsky1DHrHsBf%ipdZ&9wFl@+Mo$;Vkcv5P@A_uQq{heETG?y0yzC9fraSuz>xc-iKB^S-C2j9}#|+2Trc2JzJRTnfTzEQIH^v=t-uh~( zxc^nT;G^AFyj-F_E#k~I^^GcclIec6N$|KDEZ^HL2yRXD%)^JLrNU0ZK4B(tA;`e?y7+bL3Cv<0)SasI_CAaj~N#c(YL7*x>s=RUEzB;@PrBh& zH)D%og8`esF@{4D4id~9$qb1+3OxwHP0QHrcBOO2*;w_|95lANuJ3MPXxI5(O|0kK zRl|QgH_Ue({_&96Vc&zq|1bC+7nk<1Yuu@Ae>qY6-K)v7Yqj^V-D!HvaJ2dMZM$~H zu!p<&;w*k~%)4!W;alV}{X=v0Uhk~<**mx5&CKevXN-+f=bm`FyWqv#SP7|{IXP;~ zcdqPSDZPH*cNRIBH>Ot885zEOeQr=yWB#r(Ve!YC*VuRDXUi=Ow$PzK?rCL+Fg2guB&_nRD$dv!BcjdVIbiOV!A>s5L(B z_M7webFwb`{Y$Vp;Qn~>iWvW|`+K5R742;lemwcu^H&o81xx0 uulP@kQGh{%aR*z&{2E6WF!;j1pYh0Ho3#3@qwc_>hQZU-&t;ucLK6Tg{6(q& literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/icons/web.png b/src/user_config/webfm/icons/web.png new file mode 100644 index 0000000000000000000000000000000000000000..17017ce3f5c04869fd808d91732939ea9b32b36d GIT binary patch literal 1845 zcmX9-30PBC7JeZt0R&N&im4Vm5LuK(q#_nd0tCVUMu-({*@BToAxV=L*+e!GkXn@r ziUOk+5JanpgIGYI)*&h-ERqnyl7#n?m%Ok@b?nd&oyW}mzH{$?&iTLZo^$Vi%IPuT zRu-Er006L}MTEv;XY!g6@Yp_1EnQ3Cg%lctKp-eo`<0k$&W|`O1OVdwHNz!tzVs;; zbOgiV!8qPAFf&EK0x~l*JvrPH!qgN#%abQayT0({W{mXN8i~OH(^&u=%LtrksXVR| zgU!ldIWbrn{PYx%HMdbK!l)b8sALhy<_Unflnkc`Rwf4oXU~*Vv1II8GK9y^7I4zo zAP^GbLTopXZa#0EirfR|UQfRzGrPO?&Y85umTaIGS*bWSRZ zD`W}1nAtmpDPF#w-d>5tN4f#P=q^2q5r*9|K0dBcDCXzqr>3S*6jdsf7@nJ(TU=ax z^X84gV89~F%gakkOIT!KVF5u9wOXxGsW2B?7{Cbs2N(x)F^*QN#qdzr=R?%L4N;wk z!d-?UTqF@B32nP1(p3`aCW-QpM0-eLeI#+d!*tK#Sf62r@5n*Fk;8jOjs%P)QO1%f zW6aR8RO;B#@Yly8$2rmC=?Ab4>^;QlZta9Ma9XfOQ)x*il%Eyr)$clua!?v zPtV-AI9ppWTYp~JP^G+GgLR~8tyA6mhwA<qq?n0{jdpZeC|;T_Bc>935wYc z?RSIdZcyw_h~Wtx^oEXn0e#~Sb>4-#9zZ=0q23Ot{|WT03#PlnhkW70eQ_glMx^$_R@Y<)VrQXIbz5PntJ0g8Rbn*LUbxsP8jj*_-Z(cX zN{bSF%odkOt+)PVn?cJf{v^KG_!od*Z`y6_gfo9@lyz1e6<-f@N(DIgw^V+X{8VBDgh-5c#-s8%>=Ds{ zKfZ$B2p)baC-hl5^DPUkA4$M1z~aT=lsHFr2wwAQ^^hG?0?{1_9}F`e&AR*C-`<=x z*RYSBq9v~+{b;!tNT=fS*ot>s1gZ^;zlQsQ*$T>i*<;Y?y|^T*Id-^@z$QlD35-#i zJ2sI;MpjWp9kw)4zj?RIGhcdL7=G-=JU=#Yy(dm>A@;T}0CztyE+AaJ=M8AMMO$_| z7Id+bi9q0dam5HecC>c_tpmQK;`iVX>Wcn}ut+z3R7*7gNk8~2Q z1}q%HZJIat|JlfU$d-TD#L3I&q0rktK6eLt#iF1#&8Ilzqp1VwcF)ZjcT=&PXup+d zrtYX6^88blp$1-*%0m?Q_y0cl4qR{hAfh?`YOtxbIN6Bo?^I^~=S_`RJz#u_xuM8K zT55i|B_nE=rK5wevMuH?>Bb+{SGUyyyt<;S|E!pu1J}QO|8A5sa;v2BD^p^p&yHcv RE^NR6T3Afz&y?h%{{oe`z-j;h literal 0 HcmV?d00001 diff --git a/src/user_config/webfm/settings.json b/src/user_config/webfm/settings.json new file mode 100644 index 0000000..2ba7a28 --- /dev/null +++ b/src/user_config/webfm/settings.json @@ -0,0 +1,18 @@ +{ + "settings": { + "base_of_home": "/LazyShare", + "hide_hidden_files": "true", + "go_past_home": "true", + "lock_folder": "true", + "locked_folders": "Synced Backup::::venv::::flasks::::Cryptomator", + "mplayer_options": "-quiet -really-quiet -xy 1600 -geometry 50%:50%", + "music_app": "/opt/deadbeef/bin/deadbeef", + "media_app": "mpv", + "image_app": "mirage", + "office_app": "libreoffice", + "pdf_app": "evince", + "text_app": "leafpad", + "file_manager_app": "spacefm", + "remux_folder_max_disk_usage": "8589934592" + } +}