-
-
${opts.title}
- ${opts.color ? `
` : ''}
- ${opts.showSettingsButton ? settingsButton : ''}
- ${opts.id == 'bdPlugins' ? '' : `
`}
-
-
-
-
-
${opts.desc ? opts.desc : '
No Description Provided
-
-
`;
-}
-
-module.exports = new Plugin({
- name: 'ED Settings',
- author: 'Joe 🎸#7070',
- description: 'Adds an EnhancedDiscord tab in user settings.',
- color: 'darkred',
-
- load: async function() {
- const parentThis = this; //Allow use of parent methods in sub functions
-
- if (!window.ED.classMaps) {
- window.ED.classMaps = {};
- }
- const tabsM = window.EDApi.findModule('topPill');
- const divM = window.EDApi.findModule(m => m.divider && Object.keys(m).length === 1)
- const contentM = window.ED.classMaps.headers = window.EDApi.findModule('defaultMarginh2');
- const marginM = window.ED.classMaps.margins = window.EDApi.findModule('marginBottom8');
- const div = window.ED.classMaps.divider = divM ? divM.divider : '';
- const cbM = window.ED.classMaps.checkbox = window.EDApi.findModule('checkboxEnabled');
- const buttM = window.ED.classMaps.buttons = window.EDApi.findModule('lookFilled');
- const concentCol = window.EDApi.findModule('contentColumn');
- window.ED.classMaps.switchItem = window.EDApi.findModule('switchItem');
- window.ED.classMaps.alignment = window.EDApi.findModule('horizontalReverse');
- window.ED.classMaps.description = window.EDApi.findModule('formText');
-
- // use this function to trigger the loading of the settings tabs. No MutationObservers this way :)
- const gss = window.EDApi.findModule('getUserSettingsSections').default.prototype;
- window.EDApi.monkeyPatch(gss, 'render', function() {
-
- const tab = document.getElementsByClassName('ed-settings');
- //console.log(tab);
- if (!tab || tab.length < 1) {
- const parent = document.querySelector('.' + tabsM.side);
- if (!parent) {
- setTimeout(() => {arguments[0].thisObject.forceUpdate();}, 100);
- return arguments[0].callOriginalMethod(arguments[0].methodArguments);
- }
- const anchor = parent.querySelectorAll(`.${tabsM.separator}`)[3];
- if (!anchor)
- return arguments[0].callOriginalMethod(arguments[0].methodArguments);
-
- const header = document.createElement('div');
- header.className = tabsM.header + ' ed-settings';
- header.innerHTML = 'EnhancedDiscord';
- anchor.parentNode.insertBefore(header, anchor.nextSibling);
-
- const pluginsTab = document.createElement('div');
- const tabClass = `${tabsM.item} ${tabsM.themed} ed-settings`;
- pluginsTab.className = tabClass;
- pluginsTab.innerHTML = 'Plugins';
- header.parentNode.insertBefore(pluginsTab, header.nextSibling);
-
- const settingsTab = document.createElement('div');
- settingsTab.className = tabClass;
- settingsTab.innerHTML = 'Settings';
- pluginsTab.parentNode.insertBefore(settingsTab, pluginsTab.nextSibling);
-
- const sep = document.createElement('div');
- sep.className = tabsM.separator;
- settingsTab.parentNode.insertBefore(sep, settingsTab.nextSibling);
-
- parent.onclick = function(e) {
- if (!e.target.className || e.target.className.indexOf(tabsM.item) == -1 || e.target.innerHTML === 'Change Log') return;
-
- for (const i in tab) {
- tab[i].className = (tab[i].className || '').replace(" " + tabsM.selected, '')
- }
- }
-
- pluginsTab.onclick = function(e) {
- const settingsPane = document.querySelector(`.${concentCol.standardSidebarView} .${concentCol.contentColumn} > div`);
- const otherTab = document.querySelector('.' + tabsM.item + '.' + tabsM.selected);
- if (otherTab) {
- otherTab.className = otherTab.className.replace(" " + tabsM.selected, '');
- }
- this.className += ` ${tabsM.selected}`;
-
- if (settingsPane) {
- // ED Header
- settingsPane.innerHTML = `
EnhancedDiscord Plugins
`;
- // Open Plugins Folder Button
- settingsPane.innerHTML += `
`;
- // Divider
- settingsPane.innerHTML += `
`
-
- for (const id in window.ED.plugins) {
- //if (id == 'ed_settings') continue;
-
- settingsPane.innerHTML += makePluginToggle({id, title: window.ED.plugins[id].name, desc: window.ED.plugins[id].description, color: window.ED.plugins[id].color || 'orange', showSettingsButton: typeof window.ED.plugins[id].getSettingsPanel == 'function'});
- if (!window.ED.plugins[id].settings || window.ED.plugins[id].settings.enabled !== false) {
- const cb = document.getElementById(id);
- if (cb && cb.className)
- cb.className = cb.className.replace(cbM.valueUnchecked, cbM.valueChecked);
- }
- }
-
- document.getElementById("ed-openPluginsFolder").onclick = function () {
- const s = require("electron").shell.openItem(require("path").join(process.env.injDir, "plugins"))
- if (s === false) console.error("[EnhancedDiscord] Unable to open external folder.")
- }
- }
- e.stopPropagation(); // prevent from going to parent click handler
- }
-
- settingsTab.onclick = function(e) {
- const settingsPane = document.querySelector(`.${concentCol.standardSidebarView} .${concentCol.contentColumn} > div`);
- const otherTab = document.querySelector('.' + tabsM.item + '.' + tabsM.selected);
- if (otherTab) {
- otherTab.className = otherTab.className.replace(" " + tabsM.selected, '');
- }
- this.className += ` ${tabsM.selected}`;
-
- if (settingsPane) {
- settingsPane.innerHTML = `
EnhancedDiscord Configuration
`;
- settingsPane.innerHTML += makePluginToggle({id: 'bdPlugins', title: 'BD Plugins', desc: "Allows ED to load BD plugins natively. (Reload with ctrl+r after enabling/disabling.)"});
-
- const bl = document.getElementById('bdPlugins');
- if (bl && window.ED.config.bdPlugins == true)
- bl.className = bl.className.replace(cbM.valueUnchecked, cbM.valueChecked);
- //console.log(st, at);
- for (const id in window.ED.plugins) {
- if (window.ED.plugins[id].getSettingsPanel && typeof window.ED.plugins[id].getSettingsPanel == 'function') continue;
- if (!window.ED.plugins[id].config || window.ED.config[id].enabled === false || !window.ED.plugins[id].generateSettings) continue;
-
- settingsPane.innerHTML += `
${window.ED.plugins[id].name}
`;
-
- settingsPane.innerHTML += window.ED.plugins[id].generateSettings();
-
- settingsPane.innerHTML += `
`;
- if (window.ED.plugins[id].settingListeners) {
- setTimeout(() => { // let shit render
- for(const eventObject in window.ED.plugins[id].settingListeners){
- const currentSettingListener = window.ED.plugins[id].settingListeners[eventObject];
- //Check if plugin is using the old format
-
- if(Array.isArray(window.ED.plugins[id].settingListeners)){
- const elem = settingsPane.querySelector(currentSettingListener.el);
- if (elem)
- elem.addEventListener(currentSettingListener.type, currentSettingListener.eHandler);
- } else {
- const elem = settingsPane.querySelector(eventObject);
- if (elem){
- parentThis.warn(`Plugin ${window.ED.plugins[id].name} is using a deprecated plugin format (New format: https://github.com/joe27g/EnhancedDiscord/blob/beta/plugins.md#advanced-plugin-functionality). Ignore this unless you're the plugin dev`)
- elem.onclick = window.ED.plugins[id].settingListeners[eventObject];
- }
- }
- }
- }, 5);
- }
- }
- }
- e.stopPropagation(); // prevent from going to parent click handler
- }
-
- document.querySelector(`.${concentCol.standardSidebarView} .${concentCol.contentColumn}`).onclick = function(e) {
- const parent = e.target.parentElement;
- if (e.target.className && ((parent.className.indexOf && parent.className.indexOf('ed-plugin-settings') > -1) || (e.target.className.indexOf && e.target.className.indexOf('ed-plugin-settings') > -1))) {
- const box = e.target.className === buttM.contents ? parent.nextElementSibling.nextElementSibling : e.target.nextElementSibling.nextElementSibling;
- if (!box || !box.id || !window.ED.plugins[box.id] || box.className.indexOf(cbM.valueChecked) == -1 || !window.ED.config.bdPlugins) return;
- return require('../bd_shit').showSettingsModal(window.ED.plugins[box.id]);
- }
-
- if (e.target.className && ((parent.className.indexOf && parent.className.indexOf('ed-plugin-reload') > -1) || (e.target.className.indexOf && e.target.className.indexOf('ed-plugin-reload') > -1))) {
- const button = e.target.className === buttM.contents ? e.target : e.target.firstElementChild;
- const plugin = e.target.className === buttM.contents ? e.target.parentElement.nextElementSibling : e.target.nextElementSibling;
- //console.log(plugin);
- if (!plugin || !plugin.id || !window.ED.plugins[plugin.id] || plugin.className.indexOf(cbM.valueChecked) == -1) return;
- button.innerHTML = 'Reloading...';
- try {
- window.ED.plugins[plugin.id].reload();
- button.innerHTML = 'Reloaded!';
- } catch(err) {
- console.error(err);
- button.innerHTML = `Failed to reload (${err.name} - see console.)`;
- }
- setTimeout(() => {
- try { button.innerHTML = 'Reload'; } catch(err){/*do nothing*/}
- }, 3000);
- return;
- }
-
- if (e.target.tagName !== 'INPUT' || e.target.type !== 'checkbox' || !parent || !parent.className || !parent.id) return;
- const p = window.ED.plugins[parent.id];
- if (!p && parent.id !== 'bdPlugins') return;
- //console.log('settings for '+p.id, p.settings);
-
- if (parent.className.indexOf(cbM.valueChecked) > -1) {
- if (p) {
- if (p.settings.enabled === false) return;
-
- p.settings.enabled = false;
- window.ED.plugins[parent.id].settings = p.settings;
- p.unload();
- }
- else {
- const edc = window.ED.config;
- if (!edc[parent.id]) return;
- edc[parent.id] = false;
- window.ED.config = edc;
- }
- parent.className = parent.className.replace(cbM.valueChecked, cbM.valueUnchecked);
- } else {
- if (p) {
- if (p.settings.enabled !== false) return;
-
- p.settings.enabled = true;
- window.ED.plugins[parent.id].settings = p.settings;
- p.load();
- }
- else {
- const edc = window.ED.config;
- if (edc[parent.id] === true) return;
- edc[parent.id] = true;
- window.ED.config = edc;
- }
- parent.className = parent.className.replace(cbM.valueUnchecked, cbM.valueChecked);
- }
- }
- }
- return arguments[0].callOriginalMethod(arguments[0].methodArguments);
- })
- },
-
- unload: function() {
- window.EDApi.findModule('getUserSettingsSections').default.prototype.render.unpatch();
- }
-});
diff --git a/files/.config/EnhancedDiscord/plugins/friend_count.js b/files/.config/EnhancedDiscord/plugins/friend_count.js
deleted file mode 100644
index 1e18827..0000000
--- a/files/.config/EnhancedDiscord/plugins/friend_count.js
+++ /dev/null
@@ -1,91 +0,0 @@
-const Plugin = require('../plugin');
-
-function makeToggle() {
- const a = window.ED.classMaps.alignment;
- const sw = window.ED.classMaps.switchItem;
- const cb = window.ED.classMaps.checkbox;
- const b = window.ED.classMaps.buttons;
- const d = window.ED.classMaps.description;
-
- return `
-
-
-
Online Friends
-
-
-
-
-
-
-
Only show the number of friends online rather than all friends.
-
`;
-}
-
-module.exports = new Plugin({
- name: 'Friend Count',
- author: 'Joe 🎸#7070',
- description: "Adds the number of friends/online friends under the \"Home\" button in the top left.",
- color: 'cornflowerblue',
-
- config: {
- onlineOnly: {default: false}
- },
-
- load: async function() {
- const sep = window.findModule('guildSeparator'), ms = window.findModule('modeSelectable');
-
- const gg = function(b) {
- if (!sep) return;
- const o = (module.exports.settings || {}).onlineOnly;
- const num = o ? window.findModule("getOnlineFriendCount").getOnlineFriendCount() : window.findModule("getFriendIDs").getFriendIDs().length;
-
- let friendCount = document.getElementById('ed_friend_count');
- if (friendCount) {
- if (num === this._num) return; // don't update if # is the same as before
- friendCount.innerHTML = num + (o ? ' Online' : ' Friends');
- this._num = num;
- return;
- }
- let separator = document.querySelector(`.${sep.guildSeparator}`);
- if (separator) {
- friendCount = document.createElement('div');
- friendCount.className = `${ms ? ms.description+' ' : ''}${sep.listItem}`;
- friendCount.innerHTML = num + (o ? ' Online' : ' Friends');
- friendCount.id = 'ed_friend_count';
- try {
- separator.parentElement.insertAdjacentElement('beforebegin', friendCount);
- this._num = num;
- } catch(err) {
- this.error(err);
- }
- }
- };
- const x = window.findModule('getGuilds');
- findModule('subscribe').subscribe('CONNECTION_OPEN', x.getGuilds);
- window.monkeyPatch(x, 'getGuilds', {silent: true, after: gg});
- },
- unload: function() {
- let m = window.findModule('getGuilds').getGuilds;
- if (m && m.__monkeyPatched)
- m.unpatch();
- let friendCount = document.getElementById('ed_friend_count');
- if (friendCount)
- friendCount.remove();
- },
- generateSettings: makeToggle,
- settingListeners: [{
- el: '#fc_online',
- type: 'click',
- eHandler: function(e) {
- const cb = window.ED.classMaps.checkbox;
- module.exports.settings = {onlineOnly: !(module.exports.settings || {}).onlineOnly};
- if (module.exports.settings.onlineOnly) {
- this.classList.remove(cb.valueUnchecked.split(' ')[0]);
- this.classList.add(cb.valueChecked.split(' ')[0]);
- } else {
- this.classList.remove(cb.valueChecked.split(' ')[0]);
- this.classList.add(cb.valueUnchecked.split(' ')[0]);
- }
- }
- }]
-});
diff --git a/files/.config/EnhancedDiscord/plugins/guild_count.js b/files/.config/EnhancedDiscord/plugins/guild_count.js
deleted file mode 100644
index ef6104f..0000000
--- a/files/.config/EnhancedDiscord/plugins/guild_count.js
+++ /dev/null
@@ -1,53 +0,0 @@
-const Plugin = require('../plugin');
-
-let sep = {}, ms = {}, gg, sub;
-
-module.exports = new Plugin({
- name: 'Server Count',
- author: 'Joe 🎸#7070',
- description: "Adds the number of servers you're currently in right above the list.",
- color: 'indigo',
-
- load: async function() {
- sep = window.EDApi.findModule('guildSeparator');
- ms = window.EDApi.findModule('modeSelectable');
- gg = window.EDApi.findModule('getGuilds');
- sub = window.EDApi.findModule('subscribe');
-
- window.EDApi.monkeyPatch(gg, 'getGuilds', {after: this.refreshCount, silent: true});
- sub.subscribe('CONNECTION_OPEN', gg.getGuilds);
- },
- refreshCount: function(b) {
- if (!sep) return;
- const num = Object.keys(b.returnValue).length;
-
- let guildCount = document.getElementById('ed_guild_count');
- if (guildCount) {
- if (num === this._num) return; // don't update if # is the same as before
- guildCount.innerHTML = num + ' Servers';
- this._num = num;
- return;
- }
- const separator = document.querySelector(`.${sep.guildSeparator}`);
- if (separator) {
- guildCount = document.createElement('div');
- guildCount.className = `${ms ? ms.description+' ' : ''}${sep.listItem}`;
- guildCount.innerHTML = num + ' Servers';
- guildCount.id = 'ed_guild_count';
- try {
- separator.parentElement.insertAdjacentElement('beforebegin', guildCount);
- this._num = num;
- } catch(err) {
- this.error(err);
- }
- }
- return;
- },
- unload: function() {
- gg.getGuilds.unpatch();
- const guildCount = document.getElementById('ed_guild_count');
- if (guildCount)
- guildCount.remove();
- sub.unsubscribe('CONNECTION_OPEN', gg.getGuilds);
- }
-});
diff --git a/files/.config/EnhancedDiscord/plugins/hidden_channels.js b/files/.config/EnhancedDiscord/plugins/hidden_channels.js
deleted file mode 100644
index 9c342a0..0000000
--- a/files/.config/EnhancedDiscord/plugins/hidden_channels.js
+++ /dev/null
@@ -1,220 +0,0 @@
-const Plugin = require('../plugin');
-
-let getChannel, g_dc, g_cat, ha, disp, chanM, fm, reb, sv, cs, csp, ghp, gs, gsr, pf, sw = {}, g = {}, ai = {};
-
-// copied from Discord's minified JS
-function N(e,o,l,n){let r;r||(r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);const t=e&&e.defaultProps,f=arguments.length-3;if(o||0===f||(o={children:void 0}),o&&t)for(const e in t)void 0===o[e]&&(o[e]=t[e]);else o||(o=t||{});if(1===f)o.children=n;else if(f>1){const e=new Array(f);for(let o=0;o
m.group && m.item);
- ai = window.EDApi.findModule('actionIcon');
-
- const getUser = window.EDApi.findModule('getCurrentUser').getCurrentUser;
- const getAllChannels = window.EDApi.findModule('getChannels').getChannels;
- const can = window.EDApi.findModule('computePermissions').can;
-
- g_dc = window.EDApi.findModule('getDefaultChannel');
- window.EDApi.monkeyPatch(g_dc, 'getChannels', b => {
- const og = b.callOriginalMethod(b.methodArguments);
- if (!b.methodArguments[0]) return og;
- const hidden = [], allChans = getAllChannels();
- for (const i in allChans) {
- if (allChans[i].guild_id === b.methodArguments[0]) {
- if (allChans[i].type !== 4 && !can(1024, getUser(), getChannel(allChans[i].id))) {
- hidden.push(allChans[i]);
- }
- }
- }
- og.HIDDEN = hidden;
- return og;
- });
- chanM = window.EDApi.findModule(m => m.prototype && m.prototype.isManaged);
- chanM.prototype.isHidden = function() {
- return [0, 4, 5].includes(this.type) && !can(1024, getUser(), this);
- }
-
- g_cat = window.EDApi.findModule(m => m.getCategories && !m.EMOJI_NAME_RE);
- window.EDApi.monkeyPatch(g_cat, 'getCategories', b => {
- const og = b.callOriginalMethod(b.methodArguments);
- const chs = g_dc.getChannels(b.methodArguments[0]);
- chs.HIDDEN.forEach(c => {
- const result = og[c.parent_id || "null"].filter(item => item.channel.id === c.id);
- if (result.length) return; // already added
- og[c.parent_id || "null"].push({channel: c, index: 0})
- });
- return og;
- });
-
- ha = window.EDApi.findModule('hasUnread').__proto__;
- window.EDApi.monkeyPatch(ha, 'hasUnread', function(b) {
- if (getChannel(b.methodArguments[0]) && getChannel(b.methodArguments[0]).isHidden())
- return false; // don't show hidden channels as unread.
- return b.callOriginalMethod(b.methodArguments);
- });
- window.EDApi.monkeyPatch(ha, 'hasUnreadPins', function(b) {
- if (getChannel(b.methodArguments[0]) && getChannel(b.methodArguments[0]).isHidden())
- return false; // don't show icon on hidden channel pins.
- return b.callOriginalMethod(b.methodArguments);
- });
-
- disp.subscribe("CHANNEL_SELECT", module.exports.dispatchSubscription);
-
- fm = window.EDApi.findModule("fetchMessages");
- window.EDApi.monkeyPatch(fm, "fetchMessages", function(b) {
- if (getChannel(b.methodArguments[0]) && getChannel(b.methodArguments[0]).isHidden()) return;
- return b.callOriginalMethod(b.methodArguments);
- });
-
- const clk = window.EDApi.findModuleByDisplayName("Clickable")
- //const icon = window.EDApi.findModuleByDisplayName("Icon");
-
- reb = window.EDApi.findModule(m => m.default && m.default.prototype && m.default.prototype.renderEditButton).default.prototype;
- /*window.EDApi.monkeyPatch(reb, "renderEditButton", function(b) {
- return N(clk, {
- className: ai.iconItem,
- onClick: function() {
- module.exports._editingGuild = null;
- module.exports._editingChannel = b.thisObject.props.channel.id;
- return b.thisObject.handleEditClick.apply(b.thisObject, arguments);
- },
- onMouseEnter: b.thisObject.props.onMouseEnter,
- onMouseLeave: b.thisObject.props.onMouseLeave
- }, void 0, N(icon, {
- name: "Gear",
- width: 16,
- height: 16,
- className: ai.actionIcon
- }));
- });*/
-
- sv = window.EDApi.findModuleByDisplayName("SettingsView").prototype;
- window.EDApi.monkeyPatch(sv, 'getPredicateSections', {before: b => {
- const permSect = b.thisObject.props.sections.find(item => item.section === 'PERMISSIONS');
- if (permSect) permSect.predicate = () => true;
- }, silent: true});
-
- cs = window.EDApi.findModuleByDisplayName("FluxContainer(ChannelSettings)").prototype;
- window.EDApi.monkeyPatch(cs, 'render', b => {
- const egg = b.callOriginalMethod(b.methodArguments);
- egg.props.canManageRoles = true;
- return egg;
- });
-
- csp = window.EDApi.findModuleByDisplayName("FluxContainer(ChannelSettingsPermissions)").prototype;
- window.EDApi.monkeyPatch(csp, 'render', b => {
- const egg = b.callOriginalMethod(b.methodArguments);
- const chan = getChannel(egg.props.channel.id);
- if (!chan || !chan.isHidden()) return egg;
- egg.props.canSyncChannel = false;
- egg.props.locked = true;
- setTimeout(() => {
- document.querySelectorAll('.'+g.group).forEach(elem => elem.style = "opacity: 0.5; pointer-events: none;");
- });
- return egg;
- });
-
- ghp = window.EDApi.findModuleByDisplayName("FluxContainer(GuildHeaderPopout)").prototype;
- window.EDApi.monkeyPatch(ghp, 'render', b => {
- const egg = b.callOriginalMethod(b.methodArguments);
- egg.props.canAccessSettings = true;
- return egg;
- });
-
- gs = window.EDApi.findModuleByDisplayName("FluxContainer(GuildSettings)").prototype;
- window.EDApi.monkeyPatch(gs, 'render', b => {
- const egg = b.callOriginalMethod(b.methodArguments);
- module.exports._editingChannel = null;
- module.exports._editingGuild = egg.props.guild.id;
- egg.props.canManageRoles = true;
- return egg;
- });
-
- const cancan = window.EDApi.findModuleByProps('can', 'canUser').can;
- gsr = window.EDApi.findModuleByDisplayName("FluxContainer(GuildSettingsRoles)").prototype;
- window.EDApi.monkeyPatch(gsr, 'render', b => {
- const egg = b.callOriginalMethod(b.methodArguments);
- const hasPerm = cancan(268435456, { guildId: egg.props.guild.id });
- if (hasPerm) return;
- setTimeout(() => {
- document.querySelectorAll('.'+sw.switchItem).forEach(elem => elem.classList.add(sw.disabled));
- });
- return egg;
- });
-
- const getGuild = window.EDApi.findModule('getGuild').getGuild;
- pf = window.EDApi.findModuleByDisplayName("PermissionsForm").prototype;
- window.EDApi.monkeyPatch(pf, 'render', b => {
- const egg = b.callOriginalMethod(b.methodArguments);
- const guild = module.exports._editingGuild ? getGuild(module.exports._editingGuild) : null;
- const channel = module.exports._editingChannel ? getChannel(module.exports._editingChannel) : null;
- if (!guild && !channel) return egg;
- const hasPerm = cancan(268435456, guild ? { guildId: guild.id } : { channelId: channel.id });
- if (hasPerm) return;
-
- if (!egg.props.children || !egg.props.children[1]) return egg;
- egg.props.children[1].forEach(item => {item.disabled = true; item.props.disabled = true;});
- return egg;
- });
- },
- unload: function() {
- g_dc.getChannels.unpatch();
- g_cat.getCategories.unpatch();
- ha.hasUnread.unpatch();
- ha.hasUnreadPins.unpatch();
- fm.fetchMessages.unpatch();
- reb.renderEditButton.unpatch();
-
- for (const mod of [sv, cs, csp, ghp, gs, gsr, pf])
- if (mod && mod.render && mod.render.unpatch) mod.render.unpatch();
-
- disp.unsubscribe("CHANNEL_SELECT", module.exports.dispatchSubscription);
- },
- dispatchSubscription: function (data) {
- if (data.type !== "CHANNEL_SELECT") return;
-
- if (getChannel(data.channelId) && getChannel(data.channelId).isHidden()) {
- setTimeout(module.exports.attachHiddenChanNotice);
- }
- },
- attachHiddenChanNotice: function () {
- const messagesWrapper = document.querySelector(`.${window.EDApi.findModule("messages").messagesWrapper}`);
- if (!messagesWrapper) return;
-
- messagesWrapper.firstChild.style.display = "none"; // Remove messages shit.
- messagesWrapper.parentElement.children[1].style.display = "none"; // Remove message box.
- messagesWrapper.parentElement.parentElement.children[1].style.display = "none"; // Remove user list.
-
- const toolbar = document.querySelector("."+window.EDApi.findModule(m => {
- if (m instanceof Window) return;
- if (m.toolbar && m.selected) return m;
- }).toolbar);
-
- toolbar.style.display = "none";
-
- const hiddenChannelNotif = document.createElement("div");
-
- // Class name modules
- const txt = window.EDApi.findModule("h5");
- const flx = window.EDApi.findModule("flex");
-
- hiddenChannelNotif.className = flx.flexCenter;
- hiddenChannelNotif.style.width = "100%";
-
- hiddenChannelNotif.innerHTML = `
-
-
This is a hidden channel.
- You cannot see the contents of this channel. However, you may see its name and topic.
- `;
-
- messagesWrapper.appendChild(hiddenChannelNotif);
- }
-});
diff --git a/files/.config/EnhancedDiscord/plugins/quick_save.js b/files/.config/EnhancedDiscord/plugins/quick_save.js
deleted file mode 100644
index d9707e7..0000000
--- a/files/.config/EnhancedDiscord/plugins/quick_save.js
+++ /dev/null
@@ -1,39 +0,0 @@
-const Plugin = require('../plugin');
-
-module.exports = new Plugin({
- name: 'Quick Save',
- author: 'Joe 🎸#7070',
- description: 'Use Ctrl+S or Cmd+S to save server, channel, or account settings.',
- color: 'salmon',
-
- load: async function() {
- const hcModules = window.EDApi.findAllModules('hasChanges');
- this._listener = function(e) {
- if ((window.navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey) && e.keyCode == 83) {
- e.preventDefault();
- const types = ['GUILD', 'CHANNEL', 'ACCOUNT', 'GUILD ROLES', 'CHANNEL OVERWRITES'];
- let hasChanges = false;
- for (const i in types) {
- if (hcModules[i] && hcModules[i].hasChanges()) {
- hasChanges = true;
- //module.exports.log(`saving ${types[i]} settings`);
- break;
- }
- }
- if (!hasChanges) {
- //module.exports.log('No setting changes detected. Aborting.');
- return;
- }
- const saveButton = document.querySelector('[class*="lookFilled-"][class*="colorGreen-"]');
- if (saveButton)
- try { saveButton.click(); } catch(err) { module.exports.error(err); }
- return;
- }
- }
- document.addEventListener("keydown", this._listener, false);
- },
- unload: function() {
- document.removeEventListener("keydown", this._listener);
- delete this._listener;
- }
-});
diff --git a/files/.config/EnhancedDiscord/plugins/silence.js b/files/.config/EnhancedDiscord/plugins/silence.js
deleted file mode 100644
index bf1b1a9..0000000
--- a/files/.config/EnhancedDiscord/plugins/silence.js
+++ /dev/null
@@ -1,22 +0,0 @@
-const Plugin = require('../plugin');
-
-module.exports = new Plugin({
- name: 'Shut up, Clyde',
- author: 'Joe 🎸#7070',
- description: "Silences Clyde saying stupid shit about Nitro, for users that don't have it.",
- color: '#7289da',
-
- load: async function() {
- const gg = window.EDApi.findModule(m => m.getChannelId && m.getGuildId && !m.getPings), bs = window.EDApi.findModule('Messages').Messages;
-
- window.EDApi.monkeyPatch(window.EDApi.findModule('sendBotMessage'), 'sendBotMessage', function (b) {
- if (gg.getGuildId() !== null) return; // don't send Clyde messages when looking at a server
- const message = b.methodArguments[1];
- if (message == bs.INVALID_ANIMATED_EMOJI_BODY_UPGRADE || message == bs.INVALID_ANIMATED_EMOJI_BODY || message == bs.INVALID_EXTERNAL_EMOJI_BODY_UPGRADE || message == bs.INVALID_EXTERNAL_EMOJI_BODY) return;
- return b.callOriginalMethod(b.methodArguments);
- });
- },
- unload: function() {
- window.EDApi.findModule('sendBotMessage').sendBotMessage.unpatch();
- }
-});
diff --git a/files/.config/EnhancedDiscord/plugins/silent_typing.js b/files/.config/EnhancedDiscord/plugins/silent_typing.js
deleted file mode 100644
index 47faea6..0000000
--- a/files/.config/EnhancedDiscord/plugins/silent_typing.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const Plugin = require('../plugin');
-
-module.exports = new Plugin({
- name: 'Silent Typing',
- author: 'Joe 🎸#7070',
- description: `Never appear as typing in any channel.`,
- color: 'grey',
- disabledByDefault: true,
-
- load: async function() {
- window.EDApi.monkeyPatch(window.EDApi.findModule('startTyping'), 'startTyping', () => {});
- },
- unload: function() {
- window.EDApi.findModule('startTyping').startTyping.unpatch();
- }
-});
diff --git a/files/.config/EnhancedDiscord/plugins/style.css b/files/.config/EnhancedDiscord/plugins/style.css
deleted file mode 100644
index 3e4f5cb..0000000
--- a/files/.config/EnhancedDiscord/plugins/style.css
+++ /dev/null
@@ -1,57 +0,0 @@
-@import url(https://enhanceddiscord.com/theme.css);
-
-/* theme settings - uncomment (by removing the /*) and modify these lines in order to change things */
-:root {
-/* --bg: url(https://i.imgur.com/ybRUHPc.jpg); /* background for the entire window. Almost everything is transparent to this image. */
-/* --bg-overlay: rgba(0, 0, 0, 0.8); /* overlay for the background. Generally, this should darken the picture to make text more readable. */
-/* --accent-color: #900; /* color of buttons, misc. text, etc. */
-/* --mention-color: #f00; /* color of mention text */
-/* --mention-bg: rgba(255, 0, 0, 0.15); /* mention background color */
-/* --mention-bgh: rgba(255, 0, 0, 0.4); /* mention backgroung while hovering over it */
-/* --link-color: #faa61a; /* color of all links */
-/* --link-color-hover: #fad61a; /* color of all links while hovering over them */
-/* --tag-color: #fff; /* text color of tags (bot tags and custom) */
-/* --tag-bg: rgba(255, 0, 0, 0.3); /* background of tags (bot tags and custom) */
-/* --popup-background: #222; /* background of modals, confirmation messages etc. */
-/* --popup-highlight: #333; /* color of headers and footers of "popouts" (linked to above) */
-/* --context-menu-bg: #333; /* color of context (right-click) menus. */
-/* --unread-color: #f00; /* color of unread/selected server indicators. */
-}
-
-
-/* nitrofag badge */
-.profileBadgePremium-3kZ9Qj, .topSectionNormal-2-vo2m .profileBadgePremium-3kZ9Qj,
-.profileBadgePremium-3kZ9Qj, .topSectionPlaying-1J5E4n .profileBadgePremium-3kZ9Qj {
- background-image: url(https://discordapp.com/assets/9c252d28ca4980d65054a0258052983b.svg);
-}
-
-/* unread indicators */
-.theme-dark .unread-2OHH1w:not(.selected-nT-gM3):before {
- background: #282828;
- opacity: 0.5;
- height: 50px;
- width: 50px;
- left: 0px;
- bottom: 0px;
- top: 0px;
- margin-top: 0;
- border-radius: 50%;
- border-top-right-radius: 5px;
- border-bottom-left-radius: 5px;
- /* box-shadow: 16px -16px 10px -14px #f00; */
- /* background: -webkit-radial-gradient(transparent 15px, #f00 25px, transparent 40px); */
- box-shadow: inset 0 0 12px 2px var(--unread-color);
-}
-.theme-dark .selected-nT-gM3:before {
- background: var(--unread-color);
-}
-.theme-dark .unread-2OHH1w:hover::before {
- border-radius: 15px;
- border-top-right-radius: 5px;
- border-bottom-left-radius: 5px;
- transition: border-radius 150ms;
-}
-/* uncomment the following lines to hide gif picker */
-/*button[aria-label="Open GIF picker"] {
- display: none;
-}*/
diff --git a/files/.config/EnhancedDiscord/plugins/style.css.bak b/files/.config/EnhancedDiscord/plugins/style.css.bak
deleted file mode 100644
index 3cdcf73..0000000
--- a/files/.config/EnhancedDiscord/plugins/style.css.bak
+++ /dev/null
@@ -1,57 +0,0 @@
-@import url(https://enhanceddiscord.com/theme.css);
-
-/* theme settings - uncomment (by removing the /*) and modify these lines in order to change things */
-:root {
-/* --bg: url(https://i.imgur.com/ybRUHPc.jpg); /* background for the entire window. Almost everything is transparent to this image. */
-/* --bg-overlay: rgba(0, 0, 0, 0.8); /* overlay for the background. Generally, this should darken the picture to make text more readable. */
-/* --accent-color: #900; /* color of buttons, misc. text, etc. */
-/* --mention-color: #f00; /* color of mention text */
-/* --mention-bg: rgba(255, 0, 0, 0.15); /* mention background color */
-/* --mention-bgh: rgba(255, 0, 0, 0.4); /* mention backgroung while hovering over it */
-/* --link-color: #faa61a; /* color of all links */
-/* --link-color-hover: #fad61a; /* color of all links while hovering over them */
-/* --tag-color: #fff; /* text color of tags (bot tags and custom) */
-/* --tag-bg: rgba(255, 0, 0, 0.3); /* background of tags (bot tags and custom) */
-/* --popup-background: #222; /* background of modals, confirmation messages etc. */
-/* --popup-highlight: #333; /* color of headers and footers of "popouts" (linked to above) */
-/* --context-menu-bg: #333; /* color of context (right-click) menus. */
-/* --unread-color: #f00; /* color of unread/selected server indicators. */
-}
-
-
-/* nitrofag badge */
-.profileBadgePremium-3kZ9Qj, .topSectionNormal-2-vo2m .profileBadgePremium-3kZ9Qj,
-.profileBadgePremium-3kZ9Qj, .topSectionPlaying-1J5E4n .profileBadgePremium-3kZ9Qj {
- background-image: url(https://discordapp.com/assets/9c252d28ca4980d65054a0258052983b.svg);
-}
-
-/* unread indicators */
-.theme-dark .unread-2OHH1w:not(.selected-nT-gM3):before {
- background: transparent;
- opacity: 0.5;
- height: 50px;
- width: 50px;
- left: 0px;
- bottom: 0px;
- top: 0px;
- margin-top: 0;
- border-radius: 50%;
- border-top-right-radius: 5px;
- border-bottom-left-radius: 5px;
- /* box-shadow: 16px -16px 10px -14px #f00; */
- /* background: -webkit-radial-gradient(transparent 15px, #f00 25px, transparent 40px); */
- box-shadow: inset 0 0 12px 2px var(--unread-color);
-}
-.theme-dark .selected-nT-gM3:before {
- background: var(--unread-color);
-}
-.theme-dark .unread-2OHH1w:hover::before {
- border-radius: 15px;
- border-top-right-radius: 5px;
- border-bottom-left-radius: 5px;
- transition: border-radius 150ms;
-}
-/* uncomment the following lines to hide gif picker */
-/*button[aria-label="Open GIF picker"] {
- display: none;
-}*/
diff --git a/files/.config/EnhancedDiscord/plugins/tag_all.js b/files/.config/EnhancedDiscord/plugins/tag_all.js
deleted file mode 100644
index c0a1242..0000000
--- a/files/.config/EnhancedDiscord/plugins/tag_all.js
+++ /dev/null
@@ -1,78 +0,0 @@
-const Plugin = require('../plugin');
-
-let gg = {}, gc = {}, gu = {}, cp = {}, lg = {}, gsc = {};
-
-module.exports = new Plugin({
- name: 'TagAll',
- author: 'Joe 🎸#7070',
- description: `Allows you to mention roles and channels you can't normally.`,
- color: 'yellow',
-
- load: async function() {
- await this.sleep(1000); // wait for hidden channels to load
-
- gg = window.EDApi.findModule('getGuild');
- gc = window.EDApi.findModule('getChannels');
- gu = window.EDApi.findModule('getCurrentUser');
- cp = window.EDApi.findModule('computePermissions');
- lg = window.EDApi.findModule('getLastSelectedGuildId');
- gsc = window.EDApi.findModule('getChannel');
-
- this.lis = function(e) {
- let text = e.target.value;
-
- const guildID = lg.getLastSelectedGuildId();
- const g = gg.getGuild(guildID);
-
- if (!guildID || !g || !text) return;
-
- // mention unmentionable roles
- const unMen = [];
- for (const id in g.roles)
- if (!g.roles[id].mentionable && !g.roles[id].managed) // ignore bot roles
- unMen.push(g.roles[id]);
-
- const roles = unMen.map(r => r.name.toLowerCase().replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&"));
- for (const i in roles) {
- if (!roles[i]) continue; // empty role names
- try {
- text = text.replace( new RegExp('@'+roles[i]+'([^#])', 'gi'), `<@&${unMen[i].id}>$1`);
- } catch(err) {/*do nothing*/}
- }
-
- const hiddenChans = [];
- if (window.ED._hiddenChans) { // work with "hidden channels" plugin
- for (const i in window.ED._hiddenChans) {
- const c = gsc.getChannel(window.ED._hiddenChans[i]);
- if (c && c.guild_id === guildID) {
- hiddenChans.push(gsc.getChannel(window.ED._hiddenChans[i]));
- }
- }
- } else {
- const globalChans = gc.getChannels();
- const me = gu.getCurrentUser();
-
- const hiddenChans = [];
- for (const id in globalChans) {
- if (globalChans[id].guild_id == guildID && !(cp.computePermissions(me, globalChans[id]) & 1024))
- hiddenChans.push(globalChans[id]);
- }
- }
- // mention channels you can't see
- const chans = hiddenChans.map(c => c.name ? c.name.toLowerCase().replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&") : '');
- for (const i in chans) {
- if (!chans[i]) continue;
- text = text.replace( new RegExp('#'+chans[i]+'(\\s)', 'gi'), `<#${hiddenChans[i].id}>$1`);
- }
- if (e.target.value == text) return;
-
- e.target.value = text;
- };
- document.addEventListener("input", this.lis);
- },
-
- unload: function() {
- document.removeEventListener("input", this.lis);
- this.lis = null;
- }
-});
diff --git a/files/.config/alacritty/alacritty.yml b/files/.config/alacritty/alacritty.yml
deleted file mode 100644
index 76b1851..0000000
--- a/files/.config/alacritty/alacritty.yml
+++ /dev/null
@@ -1,353 +0,0 @@
-env:
- # if not set, it supposedly check's if a alacritty entry exists and uses xterm-256color otherwise
- # TERM: alacritty
- TERM: xterm-256color
-
-window:
- #dimensions:
- # columns: 0
- # lines: 0
- #position:
- # x: 0
- # y: 0
-
- padding:
- x: 20
- y: 20
-
- #Spread additional padding evenly around the terminal content.
- dynamic_padding: true
-
- #title: Alacritty
- #class:
- #instance: Alacritty
- #general: Alacritty
-
- gtk_theme_variant: None
-
-scrolling:
- history: 10000
- multiplier: 3
-
-#selection:
- #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
- # When set to `true`, selected text will be copied to the primary clipboard.
- #save_to_clipboard: false
-
-# Allow terminal applications to change Alacritty's window title.
-dynamic_title: true
-
-cursor:
- style: Block # ▇ Block, _ Underline, | Beam
- unfocused_hollow: true
- # Live config reload (changes require restart)
-live_config_reload: true
-shell:
- program: /bin/fish
- #args:
- #- --login
-
-mouse:
- double_click: { threshold: 300 }
- triple_click: { threshold: 300 }
-
- hide_when_typing: true
-
- url:
- launcher:
- program: xdg-open
- # args: []
- # These are the modifiers that need to be held down for opening URLs when clicking
- # on them. The available modifiers are documented in the key binding section.
- #modifiers: None
-
-
-# Mouse bindings --------------------------------------------- {{{
-# - `mouse`:
-#
-# - Middle
-# - Left
-# - Right
-# - Numeric identifier such as `5`
-#
-# - `action` (see key bindings)
-#
-# And optionally:
-#
-# - `mods` (see key bindings)
-#mouse_bindings:
-# - { mouse: Middle, action: PasteSelection }
-
-# }}}
-
-# Key bindings -------------------------------------------- {{{
-#
-# Key bindings are specified as a list of objects. For example, this is the
-# default paste binding:
-#
-# `- { key: V, mods: Control|Shift, action: Paste }`
-#
-# Each key binding will specify a:
-#
-# - `key`: Identifier of the key pressed
-#
-# - A-Z
-# - F1-F24
-# - Key0-Key9
-#
-# A full list with available key codes can be found here:
-# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
-#
-# Instead of using the name of the keys, the `key` field also supports using
-# the scancode of the desired key. Scancodes have to be specified as a
-# decimal number. This command will allow you to display the hex scancodes
-# for certain keys:
-#
-# `showkey --scancodes`.
-#
-# Then exactly one of:
-#
-# - `chars`: Send a byte sequence to the running application
-#
-# The `chars` field writes the specified string to the terminal. This makes
-# it possible to pass escape sequences. To find escape codes for bindings
-# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
-# of tmux. Note that applications use terminfo to map escape sequences back
-# to keys. It is therefore required to update the terminfo when changing an
-# escape sequence.
-#
-# - `action`: Execute a predefined action
-#
-# - Copy
-# - Paste
-# - PasteSelection
-# - IncreaseFontSize
-# - DecreaseFontSize
-# - ResetFontSize
-# - ScrollPageUp
-# - ScrollPageDown
-# - ScrollLineUp
-# - ScrollLineDown
-# - ScrollToTop
-# - ScrollToBottom
-# - ClearHistory
-# - Hide
-# - Minimize
-# - Quit
-# - ToggleFullscreen
-# - SpawnNewInstance
-# - ClearLogNotice
-# - ReceiveChar
-# - None
-#
-# (macOS only):
-# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
-#
-# - `command`: Fork and execute a specified command plus arguments
-#
-# The `command` field must be a map containing a `program` string and an
-# `args` array of command line parameter strings. For example:
-# `{ program: "alacritty", args: ["-e", "vttest"] }`
-#
-# And optionally:
-# - `mods`: Key modifiers to filter binding actions
-# - Command
-# - Control
-# - Option
-# - Super
-# - Shift
-# - Alt
-#
-# Multiple `mods` can be combined using `|` like this:
-# `mods: Control|Shift`.
-# Whitespace and capitalization are relevant and must match the example.
-#
-# - `mode`: Indicate a binding for only specific terminal reported modes
-#
-# This is mainly used to send applications the correct escape sequences
-# when in different modes.
-#
-# - AppCursor
-# - AppKeypad
-# - Alt
-#
-# A `~` operator can be used before a mode to apply the binding whenever
-# the mode is *not* active, e.g. `~Alt`.
-#
-# Bindings are always filled by default, but will be replaced when a new
-# binding with the same triggers is defined. To unset a default binding, it can
-# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
-# a no-op if you do not wish to receive input characters for that binding.
-#
-# If the same trigger is assigned to multiple actions, all of them are executed
-# at once.
-#key_bindings:
- # (Windows, Linux, and BSD only)
- #- { key: V, mods: Control|Shift, action: Paste }
- #- { key: C, mods: Control|Shift, action: Copy }
- #- { key: Insert, mods: Shift, action: PasteSelection }
- #- { key: Key0, mods: Control, action: ResetFontSize }
- #- { key: Equals, mods: Control, action: IncreaseFontSize }
- #- { key: Add, mods: Control, action: IncreaseFontSize }
- #- { key: Subtract, mods: Control, action: DecreaseFontSize }
- #- { key: Minus, mods: Control, action: DecreaseFontSize }
-
- # (Windows only)
- #- { key: Return, mods: Alt, action: ToggleFullscreen }
-
- #- { key: Paste, action: Paste }
- #- { key: Copy, action: Copy }
- #- { key: L, mods: Control, action: ClearLogNotice }
- #- { key: L, mods: Control, chars: "\x0c" }
- #- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
- #- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
- #- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
- #- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
-
- # }}}
-
-#debug:
- # Display the time it takes to redraw each frame.
- #render_timer: false
-
- # Keep the log file after quitting Alacritty.
- #persistent_logging: false
-
- # Log level
- #
- # Values for `log_level`:
- # - None
- # - Error
- # - Warn
- # - Info
- # - Debug
- # - Trace
- #log_level: Warn
-
- # Print all received window events.
- #print_events: false
-
-# schemes --------------------------------------------------------- {{{
-
-schemes:
- blueish: &blueish
- colors:
- # Default colors
- primary:
- background: '0x3f5163'
- foreground: '0xe2efe6'
-
- # Normal colors
- normal:
- black: '0x111111'
- red: '0xa54242'
- green: '0xa9b254'
- yellow: '0xde935f'
- blue: '0x1bcdee'
- magenta: '0xbd88ce'
- cyan: '0x5bc5b7'
- white: '0xbceff7'
-
- # Bright colors
- bright:
- black: '0xc5d2e6'
- red: '0xff8484'
- green: '0xebf39c'
- yellow: '0xf4c76e'
- blue: '0x97cfff'
- magenta: '0xc3a2cd'
- cyan: '0xa5f9ee'
- white: '0xe7fcff'
-
-
-
- dracula: &dracula
- primary:
- background: '#282a36'
- foreground: '#f8f8f2'
- normal:
- black: '#000000'
- red: '#ff5555'
- green: '#50fa7b'
- yellow: '#f1fa8c'
- blue: '#caa9fa'
- magenta: '#ff79c6'
- cyan: '#8be9fd'
- white: '#bfbfbf'
- bright:
- black: '#575b70'
- red: '#ff6e67'
- green: '#5af78e'
- yellow: '#f4f99d'
- blue: '#caa9fa'
- magenta: '#ff92d0'
- cyan: '#9aedfe'
- white: '#e6e6e6'
- gruvbox: &gruvbox
- primary:
- #background: '#1d2021' # hard contrast: background = '#1d2021'
- background: '#282828' # hard contrast: background = '#1d2021'
- foreground: '#ebdbb2' # soft contrast: background = '#32302f'
- normal:
- black: '#282828'
- red: '#cc241d'
- green: '#98971a'
- yellow: '#d79921'
- blue: '#458588'
- magenta: '#b16286'
- cyan: '#689d6a'
- white: '#a89984'
- bright:
- black: '#928374'
- red: '#fb4934'
- green: '#b8bb26'
- yellow: '#fabd2f'
- blue: '#83a598'
- magenta: '#d3869b'
- cyan: '#8ec07c'
- white: '#ebdbb2'
-
- onedark: &onedark
- primary:
- background: '#282c34'
- foreground: '#abb2bf'
- normal:
- black: '#282c34' # NOTE: Use '#131613' for the `black` color if you'd like to see black text on the background.
- red: '#e06c75'
- green: '#98c379'
- yellow: '#d19a66'
- blue: '#61afef'
- magenta: '#c678dd'
- cyan: '#56b6c2'
- white: '#abb2bf'
- bright:
- black: '#5c6370'
- red: '#e06c75'
- green: '#98c379'
- yellow: '#d19a66'
- blue: '#61afef'
- magenta: '#c678dd'
- cyan: '#56b6c2'
- white: '#ffffff'
-
-# }}}
-
-# https://github.com/alacritty/alacritty/wiki/Color-schemes
-colors: *gruvbox
-#background_opacity: 0.95
-background_opacity: 1.0
-
-font:
- #size: 10
- size: 12
- normal:
- #family: JetBrainsMono Nerd Font
- #family: Iosevka Term
- #family: cozette
- family: Terminus (TTF)
- #family: cherry
- #family: lucy tewi2a
- #family: Scientifica
- offset:
- x: 0
- y: 0
diff --git a/files/.config/bspwm/bspwm_scripts/bringwindow b/files/.config/bspwm/bspwm_scripts/bringwindow
deleted file mode 100755
index 485c3eb..0000000
--- a/files/.config/bspwm/bspwm_scripts/bringwindow
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-case $1 in "-a") PROMPT="Goto:"; MODE="go" ;; "-R") PROMPT="Bring:"; MODE="bring" ;; esac
-
-if [ -n "$2" ]; then
- WINDOW="$2"
-else
- WINDOW=$(paste \
- <(xdotool search .) \
- <(xdotool search . get_desktop_for_window %@ 2> /dev/null) \
- <(xdotool search . getwindowname %@) |\
- awk '{FS="\t"; if($2 != -1) printf "%10d [%d] %s\n",$1,$2+1,$3}' |\
- vmenu --no-refocus -p $PROMPT |\
- sed 's/^ *//g' |\
- cut -d ' ' -f 1)
-fi
-
-if [ -n "$WINDOW" ]; then
- if [ bring = $MODE ]; then
- if DESK=$(xdotool get_desktop 2> /dev/null); then
- xdotool set_desktop_for_window "$WINDOW" $DESK
- sleep 0.005 # wait for wm to notice
- fi
- fi
- xdotool windowmap "$WINDOW" windowactivate "$WINDOW" windowfocus "$WINDOW" windowraise "$WINDOW"
-fi
diff --git a/files/.config/bspwm/bspwm_scripts/bsp_scratchpad.sh b/files/.config/bspwm/bspwm_scripts/bsp_scratchpad.sh
deleted file mode 100755
index dbb0d04..0000000
--- a/files/.config/bspwm/bspwm_scripts/bsp_scratchpad.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-if [ -z "$1" ]; then
- echo "Usage: $0 "
- exit 1
-fi
-
-pids=$(xdotool search --class "${1}")
-for pid in $pids; do
- echo "Toggle $pid"
- bspc node "$pid" --flag hidden -f
-done
diff --git a/files/.config/bspwm/bspwm_scripts/drawer b/files/.config/bspwm/bspwm_scripts/drawer
deleted file mode 100755
index 6b43025..0000000
--- a/files/.config/bspwm/bspwm_scripts/drawer
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/bash
-
-# Config
-# ======
-
-# Where to look for wid files:
-TMPDIR="$XDG_RUNTIME_DIR/drawers.wids/"
-
-# Find and show/hide the window if it exists
-# ==========================================
-
-NAME=$1
-
-if [[ -e $TMPDIR$NAME ]]; then
- read -r WINDOW < "$TMPDIR$NAME"
-
- # Window exists? Show/hide it and we're done.
- if xdotool getwindowname "$WINDOW" &> /dev/null; then
- if xdotool search --onlyvisible . | grep -q "$WINDOW"; then
- xdotool windowminimize "$WINDOW"
- else
- ~/.config/bspwm/bspwm_scripts/bringwindow -R "$WINDOW"
- fi
- exit
- fi
-fi
-
-if [[ $# -lt 5 ]]; then
- echo "Not enough args to launch a new $NAME."
- exit 1
-fi
-
-# No window to show/hide, better create it. Do setup for that.
-# ============================================================
-
-# no xinerama for now
-CFG=($(xdotool getdisplaygeometry))
-SCR_WIDTH=${CFG[0]}
-SCR_HEIGHT=${CFG[1]}
-SCR_LEFT=0 #${CFG[2]}
-SCR_TOP=0 #${CFG[3]}
-
-SIDE=$2
-WIDTH=$3
-HEIGHT=$4
-
-shift 4
-
-# Handle fractions of screen size for width and height
-# ====================================================
-
-if [[ $WIDTH == *% ]]; then
- WIDTH=${WIDTH:0:-1} # chomp '%'
- WIDTH=$(( (WIDTH*10*SCR_WIDTH)/1000 ))
-fi
-
-if [[ $HEIGHT == *% ]]; then
- HEIGHT=${HEIGHT:0:-1} # chomp '%'
- HEIGHT=$(( (HEIGHT*10*SCR_HEIGHT)/1000 ))
-fi
-
-# Figure out where to put the window
-# ==================================
-
-TOP_ADJ=$(( (SCR_HEIGHT-HEIGHT)/2 ))
-LEFT_ADJ=$(( (SCR_WIDTH-WIDTH)/2 ))
-
-case $SIDE in
- "left")
- LEFT=$SCR_LEFT
- TOP=$(( SCR_TOP + TOP_ADJ ))
- ;;
- "right")
- LEFT=$(( SCR_WIDTH - WIDTH ))
- TOP=$(( SCR_TOP + TOP_ADJ ))
- ;;
- "bottom")
- LEFT=$(( SCR_LEFT + LEFT_ADJ ))
- TOP=$(( SCR_HEIGHT - HEIGHT ))
- ;;
- "top")
- LEFT=$(( SCR_LEFT + LEFT_ADJ ))
- TOP=$SCR_TOP
-esac
-
-# Create the window
-# =================
-
-$@ &
-# await new window:
-countWins() {
- xdotool search --onlyvisible . 2> /dev/null | wc -l
-}
-
-WIN_CNT="$(countWins)"
-while [[ $(countWins) = "$WIN_CNT" ]]; do sleep 0.1; done
-sleep 0.25
-
-# new window should now be active, make it our window:
-WINDOW="$(xdotool getactivewindow)"
-xdotool set_window --role "drawer" $WINDOW
-mkdir -p "$TMPDIR"
-echo "$WINDOW" > "$TMPDIR$NAME"
-
-border_width="$(xgetres awesome border_width)"
-which awesome-client &> /dev/null && echo "client.focus.floating = true; client.focus.border_width=$border_width" | awesome-client
-xdotool windowmove $WINDOW $LEFT $TOP windowsize $WINDOW $WIDTH $HEIGHT windowfocus $WINDOW windowraise $WINDOW
diff --git a/files/.config/bspwm/bspwm_scripts/execute_menu.sh b/files/.config/bspwm/bspwm_scripts/execute_menu.sh
deleted file mode 100644
index 3eb5b27..0000000
--- a/files/.config/bspwm/bspwm_scripts/execute_menu.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-options="screenshot\nscreengif"
-selected="$(echo -e "$options" | rofi -dmenu -i -theme ~/scripts/rofi-scripts/default_theme.rasi)"
-case "$selected" in
- screenshot)
- ~/scripts/screenshot.sh
- ;;
- screengif)
- notify-send gif "press M-S-C-g to end gif"
- ~/scripts/screengif.sh
- ;;
-esac
-
diff --git a/files/.config/bspwm/bspwm_scripts/run_once.sh b/files/.config/bspwm/bspwm_scripts/run_once.sh
deleted file mode 100755
index 95dfb7b..0000000
--- a/files/.config/bspwm/bspwm_scripts/run_once.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-pgrep "$@" > /dev/null || ("$@" &)
diff --git a/files/.config/bspwm/bspwm_scripts/xgetres b/files/.config/bspwm/bspwm_scripts/xgetres
deleted file mode 100755
index 354fca8..0000000
--- a/files/.config/bspwm/bspwm_scripts/xgetres
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/dash
-appres "$1" | grep "$2" | cut -f 2-
diff --git a/files/.config/bspwm/bspwmrc b/files/.config/bspwm/bspwmrc
deleted file mode 100755
index 6e1a6e9..0000000
--- a/files/.config/bspwm/bspwmrc
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh
-
-sxhkd &
-
-killall -q picom && picom --config ~/.config/picom.conf --experimental-backends --no-fading-openclose &
-killall -q pasystray && pasystray &
-killall -q nm-applet && nm-applet &
-killall -q clipmenud && clipmenud &
-
-xset r rate 300 50 &
-/home/leon/.config/polybar/launch.sh &
-feh --bg-fill /home/leon/Bilder/wallpapers/mountains_with_clounds.jpg &
-
-bspc monitor -d 1 2 3 4 5 6 7 8 9 10
-
-bspc config border_width 2
-bspc config window_gap 14
-
-bspc config focus_follows_pointer true
-
-bspc config split_ratio 0.50
-bspc config borderless_monocle false
-bspc config gapless_monocle false
-bspc config automatic_scheme alternate
-
-bspc rule -a mplayer2 state=floating
-bspc rule -a Kupfer.py focus=on
-bspc rule -a Screenkey manage=off
-bspc rule -a feh state=floating
-bspc rule -a Sxiv state=floating
-
-#bspc rule -a kitty_scratchpad sticky=on state=floating hidden=on
-#kitty --class kitty_scratchpad &
-
diff --git a/files/.config/coc/extensions/db.json b/files/.config/coc/extensions/db.json
deleted file mode 100644
index c61316e..0000000
--- a/files/.config/coc/extensions/db.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "lastUpdate": 1584601643868
-}
\ No newline at end of file
diff --git a/files/.config/coc/extensions/package.json b/files/.config/coc/extensions/package.json
deleted file mode 100644
index feb69ef..0000000
--- a/files/.config/coc/extensions/package.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":{}}
\ No newline at end of file
diff --git a/files/.config/coc/memos.json b/files/.config/coc/memos.json
deleted file mode 100644
index 9e26dfe..0000000
--- a/files/.config/coc/memos.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file
diff --git a/files/.config/configstore/update-notifier-npm.json b/files/.config/configstore/update-notifier-npm.json
deleted file mode 100644
index b2a6374..0000000
--- a/files/.config/configstore/update-notifier-npm.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "optOut": false,
- "lastUpdateCheck": 1592658266558
-}
\ No newline at end of file
diff --git a/files/.config/fish/conf.d/omf.fish b/files/.config/fish/conf.d/omf.fish
deleted file mode 100644
index 3e0f6d6..0000000
--- a/files/.config/fish/conf.d/omf.fish
+++ /dev/null
@@ -1,7 +0,0 @@
-# Path to Oh My Fish install.
-set -q XDG_DATA_HOME
- and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
- or set -gx OMF_PATH "$HOME/.local/share/omf"
-
-# Load Oh My Fish configuration.
-source $OMF_PATH/init.fish
diff --git a/files/.config/fish/config.fish b/files/.config/fish/config.fish
deleted file mode 100644
index 3f31229..0000000
--- a/files/.config/fish/config.fish
+++ /dev/null
@@ -1,77 +0,0 @@
-fish_vi_key_bindings
-# fish_default_key_bindings
-
-# disable truecolor for dvtm
-# set -e fish_term24bit
-#source /home/leon/.config/fish/gruvbox-colors.fish
-
-#set -U FZF_TMUX 1
-set -U FZF_DEFAULT_COMMANDS "--filepath-word --cycle"
-set -U FZF_PREVIEW_FILE_CMD "head -n 10 | bat --color=always --decorations=never"
-set -U fish_greeting
-#function fish_greeting
-#end
-
-
-alias ls=lsd
-alias tcolors="env TERM=xterm-256color tcolors"
-abbr --add --global vim nvim
-abbr --add --global tsh trash
-#abbr --add --global clear "clear && ls"
-abbr --add --global cxmonad "nvim /home/leon/.xmonad/lib/Config.hs"
-
-
-#if status is-interactive
-#and not set -q TMUX
- #exec tmux
-#end
-
-abbr --add --global gaa "git add --all"
-abbr --add --global gc "git commit -m "
-abbr --add --global gp "git push"
-abbr --add --global gs "git status"
-
-
-[ (hostname) = "garnix" ] && alias rm='echo "rm is disabled. Please use trash instead."; false'
-
-function run_stuff
- set -l commandline (commandline -b)
- pipr --out-file /tmp/pipr_out --default "$commandline"
- set -l result (cat /tmp/pipr_out)
- commandline -r $result
- commandline -f repaint
-end
-
-function c
- set -l result (/home/leon/scripts/conf)
- commandline -r "$result"
- commandline -f execute
-end
-
-
-bind \ca run_stuff
-
-
-function replace_with_yay
- set -l cmd (commandline -b)
- switch $cmd
- case "*pacman*"
- set edited (echo $cmd | sed 's/sudo //g' | sed 's/pacman/yay/g')
- case "yay*"
- set edited (echo $cmd | sed 's/yay/sudo pacman/g')
- end
- commandline -r "$edited"
- commandline -f repaint
-end
-
-bind \cy replace_with_yay
-
-# fff file manager cd on exit
-function f
- fff $argv
- set -q XDG_CACHE_HOME; or set XDG_CACHE_HOME $HOME/.cache
- cd (cat $XDG_CACHE_HOME/fff/.fff_d)
-end
-set -x EDITOR "nvim"
-set -x FFF_TRASH_CMD "trash" # make fff's trash function use trash-cli
-
diff --git a/files/.config/fish/fish_variables b/files/.config/fish/fish_variables
deleted file mode 100644
index feb6015..0000000
--- a/files/.config/fish/fish_variables
+++ /dev/null
@@ -1,50 +0,0 @@
-# This file contains fish universal variable definitions.
-# VERSION: 3.0
-SETUVAR FZF_DEFAULT_COMMANDS:\x2d\x2dfilepath\x2dword\x20\x2d\x2dcycle
-SETUVAR FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SETUVAR FZF_ENABLE_OPEN_PREVIEW:1
-SETUVAR FZF_LEGACY_KEYBINDINGS:0
-SETUVAR FZF_PREVIEW_DIR_CMD:ls
-SETUVAR FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010\x20\x7c\x20bat\x20\x2d\x2dcolor\x3dalways\x20\x2d\x2ddecorations\x3dnever
-SETUVAR FZF_TMUX:1
-SETUVAR FZF_TMUX_HEIGHT:40\x25
-SETUVAR SXHKD_SHELL:sh
-SETUVAR __fish_initialized:3100
-SETUVAR dangerous_colors:000000\x1e083743\x1e445659\x1efdf6e3\x1eb58900\x1ecb4b16\x1edc121f\x1eaf005f\x1e6c71c4\x1e268bd2\x1e2aa198\x1e859900
-SETUVAR dangerous_cursors:\x5c033\x5d12\x3b\x23268bd2\x5c007\x1e\x5c033\x5d12\x3b\x23b58900\x5c007\x1e\x5c033\x5d12\x3b\x23af005f\x5c007\x1e\x5c033\x5d12\x3b\x236c71c4\x5c007
-SETUVAR dangerous_day:000000\x1e333333\x1e666666\x1effffff\x1effff00\x1eff6600\x1eff0000\x1eff0033\x1e3300ff\x1e00aaff\x1e00ffff\x1e00ff00
-SETUVAR dangerous_night:000000\x1e083743\x1e445659\x1efdf6e3\x1eb58900\x1ecb4b16\x1edc121f\x1eaf005f\x1e6c71c4\x1e268bd2\x1e2aa198\x1e859900
-SETUVAR dangerous_nocmdhist:c\x1ed\x1ell\x1els\x1em\x1es
-SETUVAR dangerous_pwdstyle:short\x1elong\x1enone
-SETUVAR dangerous_sessions_active:\x1d
-SETUVAR dangerous_sessions_active_pid:\x1d
-SETUVAR fish_color_autosuggestion:555
-SETUVAR fish_color_cancel:normal
-SETUVAR fish_color_command:0087d7
-SETUVAR fish_color_comment:990000
-SETUVAR fish_color_cwd:008000
-SETUVAR fish_color_cwd_root:800000
-SETUVAR fish_color_end:009900
-SETUVAR fish_color_error:ff0000
-SETUVAR fish_color_escape:00a6b2
-SETUVAR fish_color_history_current:normal
-SETUVAR fish_color_host:normal
-SETUVAR fish_color_host_remote:yellow
-SETUVAR fish_color_match:normal
-SETUVAR fish_color_normal:normal
-SETUVAR fish_color_operator:00a6b2
-SETUVAR fish_color_param:0087af
-SETUVAR fish_color_quote:999900
-SETUVAR fish_color_redirection:00afff
-SETUVAR fish_color_search_match:ffff00
-SETUVAR fish_color_selection:c0c0c0
-SETUVAR fish_color_status:red
-SETUVAR fish_color_user:00ff00
-SETUVAR fish_color_valid_path:normal
-SETUVAR fish_greeting:\x1d
-SETUVAR fish_key_bindings:fish_vi_key_bindings
-SETUVAR fish_pager_color_completion:normal
-SETUVAR fish_pager_color_description:B3A06D\x1eyellow
-SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
-SETUVAR fish_user_paths:/home/leon/\x2efzf/bin
diff --git a/files/.config/fish/functions/fish_prompt.fish b/files/.config/fish/functions/fish_prompt.fish
deleted file mode 120000
index aba2104..0000000
--- a/files/.config/fish/functions/fish_prompt.fish
+++ /dev/null
@@ -1 +0,0 @@
-/home/leon/.local/share/omf/themes/lambda_better/fish_prompt.fish
\ No newline at end of file
diff --git a/files/.config/fish/functions/fish_user_key_bindings.fish b/files/.config/fish/functions/fish_user_key_bindings.fish
deleted file mode 100644
index 3698914..0000000
--- a/files/.config/fish/functions/fish_user_key_bindings.fish
+++ /dev/null
@@ -1,2 +0,0 @@
-function fish_user_key_bindings
-end
diff --git a/files/.config/fish/functions/lambda_fish_prompt b/files/.config/fish/functions/lambda_fish_prompt
deleted file mode 120000
index f48d83d..0000000
--- a/files/.config/fish/functions/lambda_fish_prompt
+++ /dev/null
@@ -1 +0,0 @@
-/home/leon/.local/share/omf/themes/lambda/fish_prompt.fish
\ No newline at end of file
diff --git a/files/.config/fish/functions/my_fish_prompt.fish b/files/.config/fish/functions/my_fish_prompt.fish
deleted file mode 100644
index 71d4e87..0000000
--- a/files/.config/fish/functions/my_fish_prompt.fish
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-function fish_prompt
- # Cache exit status
- set -l last_status $status
-
- set -l normal (set_color normal)
- set -l white (set_color FFFFFF)
- set -l turquoise (set_color 5fdfff)
- set -l orange (set_color df5f00)
- set -l hotpink (set_color df005f)
- set -l blue (set_color blue)
- set -l limegreen (set_color 87ff00)
- set -l purple (set_color af5fff)
-
-
- # Configure __fish_git_prompt
- set -g __fish_git_prompt_char_stateseparator ' '
- set -g __fish_git_prompt_color 5fdfff
- set -g __fish_git_prompt_color_flags df5f00
- set -g __fish_git_prompt_color_prefix white
- set -g __fish_git_prompt_color_suffix white
- set -g __fish_git_prompt_showdirtystate true
- set -g __fish_git_prompt_showuntrackedfiles true
- set -g __fish_git_prompt_showstashstate true
- set -g __fish_git_prompt_show_informative_status true
-
- set -l current_user (whoami)
- set -l vi_mode (__fish_vi_mode_prompt_real)
- set -l git_prompt (__fish_git_prompt " (%s)")
- #(pwd|sed "s=$HOME=~=")
-
- set -g fish_prompt_pwd_dir_length 1
-
- echo -n $white'╭─'$vi_mode
- echo -n $white'─'$hotpink$current_user$white' in '$limegreen(prompt_pwd)
- echo -n $turquoise$git_prompt
- if test $last_status -gt 0
- echo -n ' '$hotpink$last_status
- end
- echo
-
- echo -n $white'╰─λ '
- echo -n $normal
-end
-
-function __fish_vi_mode_prompt_real
- set -l turquoise (set_color 5fdfff)
- set -l orange (set_color df5f00)
- switch $fish_bind_mode
- case insert
- echo -n "─"
- case default
- echo -n $turquoise'N'
- case visual
- echo -n $orange'V'
- case replace_one
- echo -n $turquoise'R'
- end
-end
-
-
-# needed so fish doesn't draw it by itself
-function fish_mode_prompt
-end
-
-# ⌁
diff --git a/files/.config/fish/gruvbox-colors.fish b/files/.config/fish/gruvbox-colors.fish
deleted file mode 100644
index 227185a..0000000
--- a/files/.config/fish/gruvbox-colors.fish
+++ /dev/null
@@ -1,27 +0,0 @@
-
-set -l orange '#fe8019'
-set -l aqua '#8ec07c'
-set -l blue '#83a598'
-set -l limegreen '#b8bb26'
-set -l purple '#d3869b'
-set -l aqua '#8ec07c'
-set -l gwhite '#ebdbb2'
-set -l gray2 '#665c54'
-set -l purple '#d3869b'
-set -l gray '#a89984'
-set -l yellow '#fabd2f'
-
-#set -U fish_color_command $blue
-#set -U fish_color_normal $gwhite
-#set -U fish_color_quote $aqua
-#set -U fish_color_redirection $orange
-#set -U fish_color_param $aqua
-#set -U fish_color_comment $gray
-#set -U fish_color_match $yellow
-#set -U fish_color_search_match $aqua
-#set -U fish_color_autosuggestion $gray2
-#set -U fish_color_cancel $aqua
-#set fish_color_selection
-#set fish_color_end
-#set fish_color_error
-#set fish_color_operator
diff --git a/files/.config/gtk-3.0/bookmarks b/files/.config/gtk-3.0/bookmarks
deleted file mode 100644
index 1c010f8..0000000
--- a/files/.config/gtk-3.0/bookmarks
+++ /dev/null
@@ -1,2 +0,0 @@
-file:///home/leon/coding/projects
-file:///home/leon/studium/Studium
diff --git a/files/.config/gtk-3.0/colors.css b/files/.config/gtk-3.0/colors.css
deleted file mode 100644
index de6a2a1..0000000
--- a/files/.config/gtk-3.0/colors.css
+++ /dev/null
@@ -1,77 +0,0 @@
-@define-color theme_fg_color #eff0f1;
-@define-color theme_bg_color #31363b;
-@define-color theme_text_color #eff0f1;
-@define-color theme_base_color #232629;
-@define-color theme_view_hover_decoration_color #3daee9;
-@define-color theme_hovering_selected_bg_color #3daee9;
-@define-color theme_selected_bg_color #3daee9;
-@define-color theme_selected_fg_color #eff0f1;
-@define-color theme_view_active_decoration_color #3daee9;
-@define-color theme_button_background_normal #31363b;
-@define-color theme_button_decoration_hover #3daee9;
-@define-color theme_button_decoration_focus #3daee9;
-@define-color theme_button_foreground_normal #eff0f1;
-@define-color theme_button_foreground_active #eff0f1;
-@define-color borders #606468;
-@define-color warning_color #f67400;
-@define-color success_color #27ae60;
-@define-color error_color #da4453;
-@define-color theme_unfocused_fg_color #eff0f1;
-@define-color theme_unfocused_text_color #eff0f1;
-@define-color theme_unfocused_bg_color #31363b;
-@define-color theme_unfocused_base_color #232629;
-@define-color theme_unfocused_selected_bg_color_alt #224e65;
-@define-color theme_unfocused_selected_bg_color #224e65;
-@define-color theme_unfocused_selected_fg_color #eff0f1;
-@define-color theme_button_background_backdrop #31363b;
-@define-color theme_button_decoration_hover_backdrop #3daee9;
-@define-color theme_button_decoration_focus_backdrop #3daee9;
-@define-color theme_button_foreground_backdrop #eff0f1;
-@define-color theme_button_foreground_active_backdrop #eff0f1;
-@define-color unfocused_borders #606468;
-@define-color warning_color_backdrop #f67400;
-@define-color success_color_backdrop #27ae60;
-@define-color error_color_backdrop #da4453;
-@define-color insensitive_fg_color #6e7175;
-@define-color insensitive_base_fg_color #65686a;
-@define-color insensitive_bg_color #2e3338;
-@define-color insensitive_base_color #212427;
-@define-color insensitive_selected_bg_color #2e3338;
-@define-color insensitive_selected_fg_color #6e7175;
-@define-color theme_button_background_insensitive #2e3338;
-@define-color theme_button_decoration_hover_insensitive #325b72;
-@define-color theme_button_decoration_focus_insensitive #325b72;
-@define-color theme_button_foreground_insensitive #6e7175;
-@define-color theme_button_foreground_active_insensitive #6e7175;
-@define-color insensitive_borders #3e4347;
-@define-color warning_color_insensitive #683e19;
-@define-color success_color_insensitive #225139;
-@define-color error_color_insensitive #5e2e35;
-@define-color insensitive_unfocused_fg_color #6e7175;
-@define-color theme_unfocused_view_text_color #65686a;
-@define-color insensitive_unfocused_bg_color #2e3338;
-@define-color theme_unfocused_view_bg_color #212427;
-@define-color insensitive_unfocused_selected_bg_color #2e3338;
-@define-color insensitive_unfocused_selected_fg_color #6e7175;
-@define-color theme_button_background_backdrop_insensitive #2e3338;
-@define-color theme_button_decoration_hover_backdrop_insensitive #325b72;
-@define-color theme_button_decoration_focus_backdrop_insensitive #325b72;
-@define-color theme_button_foreground_backdrop_insensitive #6e7175;
-@define-color theme_button_foreground_active_backdrop_insensitive #6e7175;
-@define-color unfocused_insensitive_borders #3e4347;
-@define-color warning_color_insensitive_backdrop #683e19;
-@define-color success_color_insensitive_backdrop #225139;
-@define-color error_color_insensitive_backdrop #5e2e35;
-@define-color link_color #2980b9;
-@define-color link_visited_color #7f8c8d;
-@define-color tooltip_text #eff0f1;
-@define-color tooltip_background #31363b;
-@define-color tooltip_border #606468;
-@define-color content_view_bg #232629;
-@define-color theme_titlebar_background rgb(49,54,59);
-@define-color theme_titlebar_foreground rgb(239,240,241);
-@define-color theme_titlebar_background_light #31363b;
-@define-color theme_titlebar_foreground_backdrop rgb(127,140,141);
-@define-color theme_titlebar_background_backdrop rgb(49,54,59);
-@define-color theme_titlebar_foreground_insensitive rgb(127,140,141);
-@define-color theme_titlebar_foreground_insensitive_backdrop rgb(127,140,141);
diff --git a/files/.config/gtk-3.0/gtk.css b/files/.config/gtk-3.0/gtk.css
deleted file mode 100644
index efca548..0000000
--- a/files/.config/gtk-3.0/gtk.css
+++ /dev/null
@@ -1,8 +0,0 @@
-.termite {
- padding: 15px;
-}
-vte-terminal {
- padding: 10px;
-}
-
-@import 'colors.css';
diff --git a/files/.config/gtk-3.0/settings.ini b/files/.config/gtk-3.0/settings.ini
deleted file mode 100644
index f03f1ac..0000000
--- a/files/.config/gtk-3.0/settings.ini
+++ /dev/null
@@ -1,25 +0,0 @@
-[Settings]
-gtk-button-images=1
-gtk-cursor-theme-name=capitaine-cursors-light
-gtk-cursor-theme-size=0
-gtk-enable-event-sounds=0
-gtk-enable-input-feedback-sounds=0
-gtk-font-name=Sans 9
-gtk-icon-theme-name=Arc-X-D
-gtk-menu-images=1
-;gtk-theme-name=Adwaita-dark
-gtk-theme-name=phocus
-gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
-gtk-toolbar-style=GTK_TOOLBAR_ICONS
-gtk-xft-antialias=1
-gtk-xft-hinting=1
-gtk-xft-hintstyle=hintslight
-gtk-xft-rgba=rgb
-gtk-application-prefer-dark-theme=true
-gtk-decoration-layout=:
-
-;gtk-font-name = DejaVu Sans 1 121
-;gtk-font-name = cozette 10
-gtk-font-name = xos4 Terminus Regular 12
-;gtk-font-name = Terminus 12
-;gtk-font-name = cozette 10
diff --git a/files/.config/htop/htoprc b/files/.config/htop/htoprc
deleted file mode 100644
index 93c9e4f..0000000
--- a/files/.config/htop/htoprc
+++ /dev/null
@@ -1,26 +0,0 @@
-# Beware! This file is rewritten by htop when settings are changed in the interface.
-# The parser is also very primitive, and not human-friendly.
-fields=0 48 17 18 38 39 40 2 46 47 49 1
-sort_key=47
-sort_direction=1
-hide_threads=1
-hide_kernel_threads=1
-hide_userland_threads=1
-shadow_other_users=0
-show_thread_names=0
-show_program_path=1
-highlight_base_name=0
-highlight_megabytes=1
-highlight_threads=1
-tree_view=0
-header_margin=1
-detailed_cpu_time=0
-cpu_count_from_zero=0
-update_process_names=0
-account_guest_in_cpu_meter=0
-color_scheme=0
-delay=15
-left_meters=AllCPUs Memory Swap
-left_meter_modes=1 1 1
-right_meters=Tasks LoadAverage Uptime
-right_meter_modes=2 2 2
diff --git a/files/.config/kitty/gruvbox.conf b/files/.config/kitty/gruvbox.conf
deleted file mode 120000
index 13ddd37..0000000
--- a/files/.config/kitty/gruvbox.conf
+++ /dev/null
@@ -1 +0,0 @@
-/home/leon/.config/kitty/kitty-themes/themes/gruvbox_dark.conf
\ No newline at end of file
diff --git a/files/.config/kitty/kitty-themes b/files/.config/kitty/kitty-themes
deleted file mode 160000
index fca3335..0000000
--- a/files/.config/kitty/kitty-themes
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit fca3335489bdbab4cce150cb440d3559ff5400e2
diff --git a/files/.config/kitty/kitty.conf b/files/.config/kitty/kitty.conf
deleted file mode 100644
index face496..0000000
--- a/files/.config/kitty/kitty.conf
+++ /dev/null
@@ -1,68 +0,0 @@
-include ./gruvbox.conf
-#include ./onedark.conf
-
-#shell tmux
-#background_opacity 0.95
-background_opacity 1
-
-#font_family VictorMono Nerd Font Semibold
-#font_family DejaVuSansMono Nerd
-font_family Iosevka Nerd Font
-#font_family JetbrainsMono Nerd Font
-
-bold_font auto
-italic_font auto
-bold_italic_font auto
-#font_family monospace
-font_size 13
-
-enable_audio_bell no
-
-draw_minimal_borders yes
-window_padding_width 0
-window_margin_width 10
-tab_bar_style powerline
-hide_window_decorations yes
-placement_strategy top-left
-
-
-clipboard_control write-clipboard write-primary read-primary read-clipboard
-dynamic_background_opacity yes
-allow_remote_control yes
-sync_to_monitor yes
-
-active_tab_background #6272a4
-active_tab_foreground #f8f8f2
-inactive_tab_background #44475a
-inactive_tab_foreground #f8f8f2
-
-# Keymaps {{{
-
-
-# Windows
-map kitty_mod+enter new_window_with_cwd
-map ctrl+shift+left neighboring_window left
-map ctrl+shift+down neighboring_window down
-map ctrl+shift+right neighboring_window right
-map ctrl+shift+up neighboring_window up
-
-# tabs
-#map kitty_mod+t new_tab
-map kitty_mod+n new_tab_with_cwd
-map ctrl+shift+l next_tab
-map ctrl+shift+h previous_tab
-
-# new os window
-map kitty_mod+backspace new_os_window_with_cwd
-
-
-# Other
-map ctrl+shift+plus change_font_size all +2.0
-map ctrl+shift+alt+h show_scrollback
-
-# --type=overlay
-# --stdin-source=@screen_scrollback
-# https://sw.kovidgoyal.net/kitty/launch.html
-map ctrl+shift+space launch --stdin-source=@screen --stdin-add-formatting --type=window /home/leon/scripts/autocompleteWords.sh @active-kitty-window-id
-
-# }}}
diff --git a/files/.config/kitty/onedark.conf b/files/.config/kitty/onedark.conf
deleted file mode 100644
index b43a423..0000000
--- a/files/.config/kitty/onedark.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-background #282c34
-foreground #c4c8c5
-cursor #d0d0d0
-selection_background #444444
-selection_foreground #161718
-color0 #000000
-color1 #fc5ef0
-color2 #86c38a
-color3 #ffd6b1
-color4 #85befd
-color5 #b9b5fc
-color6 #85befd
-color7 #dfdfdf
-color8 #808080
-color9 #fc5ef0
-color10 #94f936
-color11 #f5ffa7
-color12 #95cbfe
-color13 #b9b5fc
-color14 #85befd
-color15 #dfdfdf
diff --git a/files/.config/menus/applications-merged/user-chrome-apps.menu b/files/.config/menus/applications-merged/user-chrome-apps.menu
deleted file mode 100644
index 1ed1af4..0000000
--- a/files/.config/menus/applications-merged/user-chrome-apps.menu
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
diff --git a/files/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu b/files/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu
deleted file mode 100644
index e69de29..0000000
diff --git a/files/.config/nitrogen/bg-saved.cfg b/files/.config/nitrogen/bg-saved.cfg
deleted file mode 100644
index 88943f7..0000000
--- a/files/.config/nitrogen/bg-saved.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-[:0.0]
-file=/home/leon/Bilder/wallpapers/wallhaven-ox2gr9.jpg
-mode=5
-bgcolor=#000000
-
-[xin_0]
-file=/home/leon/Bilder/wallpapers/green_leaves.jpg
-mode=5
-bgcolor=#000000
-
-[xin_1]
-file=/home/leon/Bilder/wallpapers/green_leaves.jpg
-mode=5
-bgcolor=#000000
diff --git a/files/.config/nitrogen/nitrogen.cfg b/files/.config/nitrogen/nitrogen.cfg
deleted file mode 100644
index 72c30c0..0000000
--- a/files/.config/nitrogen/nitrogen.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-[geometry]
-posx=20
-posy=50
-sizex=1297
-sizey=696
-
-[nitrogen]
-view=icon
-recurse=true
-sort=alpha
-icon_caps=false
-dirs=/home/leon/Bilder/wallpapers;
diff --git a/files/.config/picom.conf b/files/.config/picom.conf
deleted file mode 100644
index e35f79b..0000000
--- a/files/.config/picom.conf
+++ /dev/null
@@ -1,178 +0,0 @@
-# Thank you code_nomad: http://9m.no/ꪯ鵞
-# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton
-
-# Backend --------------------- {{{
-
-# Backend to use: "xrender" or "glx".
-# GLX backend is typically much faster but depends on a sane driver.
-backend = "glx";
-
-glx-no-stencil = true;
-glx-copy-from-front = false;
-
-# }}}
-
-# Shadows -------------------------------- {{{
-shadow = true;
-#shadow-radius = 20;
-#shadow-offset-x = -20;
-#shadow-offset-y = -20;
-
-#hadow-radius = 3;
-#shadow-offset-x = 3;
-#shadow-offset-y = 3;
-#shadow-opacity = 0.6;
-shadow-radius = 18;
-shadow-offset-x = -14;
-shadow-offset-y = -10;
-shadow-opacity = 1.0;
-# shadow-red = 0.0;
-# shadow-green = 0.0;
-# shadow-blue = 0.0;
-
-shadow-exclude = [
- "! name~=''",
- #"!focused && ! class_g ?='xfce4-notifyd'",
- #"name *= 'polybar'",
- "name = 'Notification'",
- "name = 'Plank'",
- "name = 'Docky'",
- "name = 'Kupfer'",
- #"name = 'xfce4-notifyd'",
- "name *= 'VLC'",
- "name *= 'compton'",
- "name *= 'picom'",
- "class_g = 'Conky'",
- "class_g = 'Kupfer'",
- "class_g = 'Synapse'",
- "class_g ?= 'Notify-osd'",
- "class_g ?= 'Cairo-dock'",
- #"class_g ?= 'Xfce4-notifyd'",
- "class_g ?= 'Xfce4-power-manager'",
- "_GTK_FRAME_EXTENTS@:c",
- "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
-];
-# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
-shadow-ignore-shaped = false;
-
-# }}}
-# Opacity and blur ------------------------------------- {{{
-
-inactive-opacity = 1;
-active-opacity = 1;
-frame-opacity = 1;
-#inactive-opacity-override = true;
-
-# Dim inactive windows. (0.0 - 1.0)
-inactive-dim = 1;
-# Do not let dimness adjust based on window opacity.
-#inactive-dim-fixed = true;
-# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
-
-blur-background = false;
-#blur-method = "dual_kawase";
-#blur-method = "kernel";
-blur-strength = 20; # max 20
-blur-size = 20;
-# Blur background of opaque windows with transparent frames as well.
- blur-background-frame = false;
-# Do not let blur radius adjust based on window opacity.
-blur-background-fixed = false;
-blur-background-exclude = [
- #"window_type = 'dock'",
- "window_type = 'desktop'",
-
- "! name~=''",
- "name *= 'slop'",
- "name = 'Notification'",
- "name = 'xfce4-notifyd'",
- "name *= 'compton'",
- "name *= 'picom'",
- "class_g ?= 'Xfce4-notifyd'",
- "class_g ?= 'Xfce4-power-manager'",
- "_GTK_FRAME_EXTENTS@:c",
- "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
-
-];
-
-# }}}
-# Fading ---------------------------------- {{{
-
-# Fade windows during opacity changes.
-fading = false;
-# The time between steps in a fade in milliseconds. (default 10).
-fade-delta = 4;
-# Opacity change between steps while fading in. (default 0.028).
-fade-in-step = 0.03;
-# Opacity change between steps while fading out. (default 0.03).
-fade-out-step = 0.03;
-# Fade windows in/out when opening/closing
-no-fading-openclose = false;
-
-# Specify a list of conditions of windows that should not be faded.
-fade-exclude = [ ];
-
-# }}}
-# Other ---------------------------------- {{{
-
-# Try to detect WM windows and mark them as active.
-mark-wmwin-focused = true;
-# Mark all non-WM but override-redirect windows active (e.g. menus).
-mark-ovredir-focused = true;
-# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
-# Usually more reliable but depends on a EWMH-compliant WM.
-use-ewmh-active-win = true;
-# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
-detect-rounded-corners = true;
-
-# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
-# This prevents opacity being ignored for some apps.
-# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
-detect-client-opacity = true;
-
-vsync = true;
-# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. Reported to have no effect, though.
-dbe = false;
-
-# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
-# Known to cause flickering when redirecting/unredirecting windows.
-unredir-if-possible = false;
-
-# Specify a list of conditions of windows that should always be considered focused.
-focus-exclude = [ ];
-
-# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
-detect-transient = true;
-# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
-# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
-detect-client-leader = true;
-
-# }}}
-# Window type settings ---------------------------------- {{{
-
-wintypes:
-{
- menu = {
- opacity = 1;
- shadow = true;
- fade = true;
- full-shadow = true;
- };
-
- dropdown_menu = {
- opacity = 1;
- shadow = true;
- fade = true;
- full-shadow = true;
- };
- tooltip = {
- fade = true;
- shadow = true;
- opacity = 1.00;
- focus = true;
- };
-};
-
-xrender-sync-fence = true;
-
-# }}}
diff --git a/files/.config/polybar/bak-config.ini b/files/.config/polybar/bak-config.ini
deleted file mode 100644
index caadf13..0000000
--- a/files/.config/polybar/bak-config.ini
+++ /dev/null
@@ -1,237 +0,0 @@
-
-;==========================================================
-;
-;
-; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
-; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
-; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
-; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
-; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
-; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
-;
-; ; To learn more about how to configure Polybar
-; go to https://github.com/polybar/polybar
-;
-; The README contains a lot of information
-;
-;==========================================================
-
-;; Colors ------------------------------------------- {{{
-
-[colors]
-;background = ${xrdb:color0:#222}
-;background = #bb282828
-;background = #88282828
-background = #00282828
-;background = #222
-background-alt = #444
-;foreground = ${xrdb:color7:#222}
-foreground = #dfdfdf
-foreground-alt = #888
-primary = #ffb52a
-secondary = #e60053
-alert = #bd2c40
-
-;; }}}
-
-;; Bar config ----------------------------------------- {{{
-
-[bar/main]
-width = 100%
-height = 25
-radius = 0.0
-enable-ipc = true
-padding = 0
-;; center centered modules on screen, not between other modules
-fixed-center = true
-
-separator = "%{F#aaa}|%{F-}"
-separator-padding = 1
-
-background = ${colors.background}
-foreground = ${colors.foreground}
-
-line-size = 3
-line-color = #f00
-
-border-size = 0
-border-color = #00000000
-
-padding-left = 0
-padding-right = 2
-
-module-margin-left = 1
-module-margin-right = 2
-
-font-0 = fixed:pixelsize=10;1
-;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
-;font-2 = siji:pixelsize=10;1
-;font-7 = NotoEmoji:size=7;
-;font-7 = "JetBrainsMono Nerd Font:size=7"
-;font-0 = "JetBrainsMono Nerd Font:fontformat=truetype:size=10;2"
-;font-0 = "Iosevka Nerd Font:size=10;1"
-;font-1 = "NotoEmoji:scale=10;1"
-font-1 = "Symbola:size=10;1"
-font-2 = FontAwesome5Free:style=Solid:size=8;0
-;font-1 = "FontAwesome:fontformat=truetype:size=12;1"
-
-
-modules-left = xmonad
-modules-center = timerDisplay spotify mpd gitlab-pipeline player-mpv-tail
-modules-right = pulseaudio-control updates-arch network-traffic pulseaudio filesystem memory cpu date
-
-tray-position = right
-tray-padding = 2
-tray-maxsize = 16
-tray-background = ${colors.background}
-;tray-background = #0063ff
-
-cursor-click = pointer
-cursor-scroll = ns-resize
-
-;; }}}
-
-;; MODULES ----------------------------------------------- {{{
-
-; show's currently focussed window, already contained in xmonad module
-[module/xwindow]
-type = internal/xwindow
-label = %title:0:30:...%
-
-[module/filesystem]
-type = internal/fs
-interval = 25
-
-mount-0 = /
-format-mounted =
-;format-mounted-prefix = "disk: "
-;format-mounted-prefix-foreground = ${colors.foreground-alt}
-format-mounted-prefix = "%{F#0fca42} %{F-} "
-;format-mounted-prefix = " "
-;format-mounted-underline = #0fca42
-;label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
-label-mounted = %percentage_used%%
-label-unmounted = %mountpoint% not mounted
-label-unmounted-foreground = ${colors.foreground-alt}
-
-
-[module/mpd]
-type = internal/mpd
-format-online =
-
-icon-prev =
-icon-stop =
-icon-play =
-icon-pause =
-icon-next =
-
-label-song-maxlen = 25
-label-song-ellipsis = true
-
-
-[module/cpu]
-type = internal/cpu
-interval = 2
-;format-prefix = "cpu: "
-;format-prefix-foreground = ${colors.foreground-alt}
-format-prefix = "%{F#f9a000} %{F-} "
-;format-prefix = " "
-#format-underline = #f9a000
-label = %percentage:2%%
-
-[module/memory]
-type = internal/memory
-interval = 2
-;format-prefix = "mem: "
-;format-prefix-foreground = ${colors.foreground-alt}
-format-prefix = "%{F#0a6cf5} %{F-} "
-;format-prefix = " "
-#format-underline = #0a6cf5
-label = %percentage_used%%
-
-[module/date]
-type = internal/date
-interval = 5
-date = %a %d-%m-%y
-date-alt = %d-%m-%Y
-time = %H:%M
-time-alt = %H:%M:%S
-
-format-prefix = "%{F#fbff8c} %{F-}"
-;format-prefix = " "
-;format-prefix-foreground = ${colors.foreground-alt}
-;#format-underline = #4bffdc
-#format-underline = #fbff8c
-label = %time% | %date%
-
-[module/xmonad]
-type = custom/script
-exec = xmonad-log
-tail = true
-
-
-[module/timerDisplay]
-type = custom/script
-exec = "[ -f ~/scripts/remainingTime.txt ] && head -n 1 scripts/remainingTime.txt"
-interval = 1
-
-
-;[module/gitlab-pipeline]
-;type = custom/script
-;exec = ~/scripts/fetch-running-pipelines.sh
-;interval = 10
-
-[module/info-pingrtt]
-type = custom/script
-exec = ~/.config/polybar/polybar-scripts/info-pingrtt.sh
-interval = 10
-
-
-[module/player-mpv-tail]
-type = custom/script
-exec = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -t 42 -c '#abb2bf'
-tail = true
-click-left = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p pause
-click-middle = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p playlist-pos -1
-click-right = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p playlist-pos +1
-scroll-up = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p time-pos -10
-scroll-down = ~/.config/polybar/polybar-scripts/player-mpv-tail.py -p time-pos +10
-
-
-[module/network-traffic]
-; configure interval, etc in script
-type = custom/script
-exec = ~/.config/polybar/polybar-scripts/network-traffic.sh
-tail = true
-
-
-[module/spotify]
-type = custom/script
-interval = 1
-format = "