__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* DING: Desktop Icons New Generation for GNOME Shell * * Copyright (C) 2022 Marco Trevisan <[email protected]> * * 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, version 3 of the License. * * 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 <http://www.gnu.org/licenses/>. */ 'use strict'; const {GLib, Gio} = imports.gi; const DEFAULT_ENUMERATE_BATCH_SIZE = 100; const DEFAULT_QUERY_ATTRIBUTES = [ Gio.FILE_ATTRIBUTE_STANDARD_NAME, Gio.FILE_ATTRIBUTE_STANDARD_TYPE, ].join(','); /** * * @param dir * @param cancellable * @param priority * @param queryAttributes */ async function enumerateDir(dir, cancellable = null, priority = GLib.PRIORITY_DEFAULT, queryAttributes = DEFAULT_QUERY_ATTRIBUTES) { const childrenEnumerator = await dir.enumerate_children_async_promise(queryAttributes, Gio.FileQueryInfoFlags.NONE, priority, cancellable); try { const children = []; while (true) { // The enumerator doesn't support multiple async calls, nor // we can predict how many they will be, so using Promise.all // isn't an option here, thus we just need to await each batch // eslint-disable-next-line no-await-in-loop const batch = await childrenEnumerator.next_files_async_promise( DEFAULT_ENUMERATE_BATCH_SIZE, priority, cancellable); if (!batch.length) { return children; } children.push(...batch); } } finally { if (!childrenEnumerator.is_closed()) { await childrenEnumerator.close_async_promise(priority, null); } } } /** * * @param dir * @param deleteParent * @param cancellable * @param priority */ async function recursivelyDeleteDir(dir, deleteParent, cancellable = null, priority = GLib.PRIORITY_DEFAULT) { const children = await enumerateDir(dir, cancellable, priority); /* eslint-disable no-await-in-loop */ for (let info of children) { await deleteFile(dir.get_child(info.get_name()), info, cancellable, priority); } if (deleteParent) { await dir.delete_async_promise(priority, cancellable); } } /** * * @param file * @param info * @param cancellable * @param priority */ async function deleteFile(file, info = null, cancellable = null, priority = GLib.PRIORITY_DEFAULT) { if (!info) { info = await file.query_info_async_promise( Gio.FILE_ATTRIBUTE_STANDARD_TYPE, Gio.FileQueryInfoFlags.NONE, priority, cancellable); } const type = info.get_file_type(); if (type === Gio.FileType.REGULAR || type === Gio.FileType.SYMBOLIC_LINK) { await file.delete_async_promise(priority, cancellable); } else if (type === Gio.FileType.DIRECTORY) { await recursivelyDeleteDir(file, true, cancellable, priority); } else { throw new GLib.Error(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_SUPPORTED, `${file.get_path()} of type ${type} cannot be removed`); } }
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| askRenamePopup.js | File | 4.65 KB | 0644 |
|
| autoAr.js | File | 29.04 KB | 0644 |
|
| createThumbnail.js | File | 2.36 KB | 0755 |
|
| dbusInterfaces.js | File | 7.85 KB | 0644 |
|
| dbusUtils.js | File | 33.87 KB | 0644 |
|
| desktopGrid.js | File | 22.96 KB | 0644 |
|
| desktopIconItem.js | File | 30.74 KB | 0644 |
|
| desktopIconsUtil.js | File | 10.87 KB | 0644 |
|
| desktopManager.js | File | 90.56 KB | 0644 |
|
| ding.js | File | 6.87 KB | 0755 |
|
| enums.js | File | 2.82 KB | 0644 |
|
| fileItem.js | File | 32.04 KB | 0644 |
|
| fileItemMenu.js | File | 20.93 KB | 0644 |
|
| fileUtils.js | File | 3.41 KB | 0644 |
|
| notifyX11UnderWayland.js | File | 2.37 KB | 0644 |
|
| preferences.js | File | 4.22 KB | 0644 |
|
| prefswindow.js | File | 7.51 KB | 0644 |
|
| promiseUtils.js | File | 3.03 KB | 0644 |
|
| showErrorPopup.js | File | 2.25 KB | 0644 |
|
| signalManager.js | File | 1.73 KB | 0644 |
|
| stackItem.js | File | 3.16 KB | 0644 |
|
| stylesheet.css | File | 506 B | 0644 |
|
| templatesScriptsManager.js | File | 8.67 KB | 0644 |
|
| thumbnails.js | File | 7.05 KB | 0644 |
|