diff --git a/leftwm/config.ron b/leftwm/config.ron new file mode 100644 index 0000000..23b9f21 --- /dev/null +++ b/leftwm/config.ron @@ -0,0 +1,156 @@ +// _ ___ ___ _ +// | | / __)_ / __|_) +// | | ____| |__| |_ _ _ _ ____ ____ ___ ____ | |__ _ ____ ____ ___ ____ +// | |/ _ ) __) _) | | | \ / ___) _ \| _ \| __) |/ _ | / ___) _ \| _ \ +// | ( (/ /| | | |_| | | | | | | ( (__| |_| | | | | | | ( ( | |_| | | |_| | | | | +// |_|\____)_| \___)____|_|_|_| \____)___/|_| |_|_| |_|\_|| (_)_| \___/|_| |_| +// A WindowManager for Adventurers (____/ +// For info about configuration please visit https://github.com/leftwm/leftwm/wiki + +#![enable(implicit_some)] +#![enable(unwrap_newtypes)] +( + modkey: "Mod4", + mousekey: "Mod4", + workspaces: [], + tags: [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + ], + max_window_width: None, + layouts: [ + "EvenHorizontal", + "EvenVertical", + "Monocle", + "Grid", + "MainAndVertStack", + "MainAndHorizontalStack", + "RightMainAndVertStack", + "Fibonacci", + "Dwindle", + "MainAndDeck", + "CenterMain", + "CenterMainBalanced", + "CenterMainFluid", + ], + layout_definitions: [ + (name: "EvenHorizontal", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: Vertical), second_stack: None)), + (name: "EvenVertical", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: Horizontal), second_stack: None)), + (name: "Monocle", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: None), second_stack: None)), + (name: "Grid", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: None, stack: (flip: None, rotate: North, split: Grid), second_stack: None)), + (name: "MainAndVertStack", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Horizontal), second_stack: None)), + (name: "MainAndHorizontalStack", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Vertical), second_stack: None)), + (name: "RightMainAndVertStack", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: South, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Horizontal), second_stack: None)), + (name: "Fibonacci", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Fibonacci), second_stack: None)), + (name: "Dwindle", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Dwindle), second_stack: None)), + (name: "MainAndDeck", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: None), stack: (flip: None, rotate: North, split: None), second_stack: None)), + (name: "CenterMain", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: None), second_stack: (flip: None, rotate: North, split: Horizontal))), + (name: "CenterMainBalanced", flip: None, rotate: North, reserve: None, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: Dwindle), second_stack: (flip: None, rotate: North, split: Dwindle))), + (name: "CenterMainFluid", flip: None, rotate: North, reserve: Reserve, columns: (flip: None, rotate: North, main: (count: 1, size: 0.5, flip: None, rotate: North, split: Vertical), stack: (flip: None, rotate: North, split: None), second_stack: (flip: None, rotate: North, split: Horizontal))), + ], + layout_mode: Tag, + insert_behavior: Bottom, + scratchpad: [ + (name: "Alacritty", value: "alacritty -o window.opacity=0.8 -e ~/.config/bin/z", x: 0, y: 0, height: 1474, width: 2256), + ], + window_rules: [ + // (window_title: ".*Zellij.*", spawn_fullscreen: true), + // (window_class: ".*Alacritty.*", spawn_fullscreen: true), + (window_class: ".*Alacritty.*", spawn_floating: true), + (window_class: "firefox", spawn_on_tag: 1), + (window_title: "Dino", spawn_on_tag: 2), + + // kde stuff https://userbase.kde.org/Tutorials/Using_Other_Window_Managers_with_Plasma#Single_User:_Using_System_Settings + (window_title: "Desktop.*Plasma", spawn_floating: true), + (window_title: "plasma-desktop", spawn_floating: true), + (window_class: "yakuake", spawn_floating: true), + (window_class: "plasmashell", spawn_floating: true), + (window_class: "Plasma", spawn_floating: true), + (window_class: "krunner", spawn_floating: true), + (window_class: "Kmix", spawn_floating: true), + (window_class: "Klipper", spawn_floating: true), + (window_class: "Plasmoidviewer", spawn_floating: true), + (window_class: "(?i).*nextcloud.*", spawn_floating: true), + ], + disable_current_tag_swap: false, + disable_tile_drag: false, + disable_window_snap: true, + focus_behaviour: Sloppy, + focus_new_windows: true, + single_window_border: true, + sloppy_mouse_follows_focus: true, + create_follows_cursor: None, + auto_derive_workspaces: true, + disable_cursor_reposition_on_resize: false, + keybind: [ + (command: Execute, value: "pactl set-sink-volume @DEFAULT_SINK@ +10%", modifier: [], key: "XF86AudioRaiseVolume"), + (command: Execute, value: "pactl set-sink-volume @DEFAULT_SINK@ -10%", modifier: [], key: "XF86AudioLowerVolume"), + (command: Execute, value: "pactl set-sink-mute @DEFAULT_SINK@ toggle", modifier: [], key: "XF86AudioMute"), + (command: Execute, value: "pactl set-source-mute @DEFAULT_SOURCE@ toggle", modifier: [], key: "XF86AudioMicMute"), + // (command: Execute, value: "", modifier: [], key: ""), + + (command: Execute, value: "rofi -show run", modifier: ["modkey"], key: "space"), + // (command: Execute, value: "tdrop -ma -h '100%' alacritty -o window.opacity=0.8 -e ~/.config/bin/z", modifier: [], key: "F12"), + (command: ToggleScratchPad, value: "Alacritty", modifier: [], key: "F12"), + (command: CloseWindow, value: "", modifier: ["modkey"], key: "q"), + (command: Execute, value: "physlock -s", modifier: ["modkey", "Control"], key: "l"), + (command: HardReload, modifier: ["modkey", "Shift"], key: "b"), + (command: ToggleFullScreen, modifier: ["modkey"], key: "f"), + (command: ToggleFloating, modifier: ["modkey", "Control"], key: "f"), + (command: ToggleSticky, modifier: ["modkey"], key: "v"), + // custom are above + (command: Execute, value: "dmenu_run", modifier: ["modkey"], key: "p"), + (command: Execute, value: "alacritty", modifier: ["modkey", "Shift"], key: "Return"), + // (command: CloseWindow, value: "", modifier: ["modkey", "Shift"], key: "q"), + (command: SoftReload, value: "", modifier: ["modkey", "Shift"], key: "r"), + (command: Execute, value: "loginctl kill-session $XDG_SESSION_ID", modifier: ["modkey", "Shift"], key: "x"), + // (command: Execute, value: "slock", modifier: ["modkey", "Control"], key: "l"), + (command: MoveToLastWorkspace, value: "", modifier: ["modkey", "Shift"], key: "w"), + (command: SwapTags, value: "", modifier: ["modkey"], key: "w"), + (command: MoveWindowUp, value: "", modifier: ["modkey", "Shift"], key: "k"), + (command: MoveWindowDown, value: "", modifier: ["modkey", "Shift"], key: "j"), + (command: MoveWindowTop, value: "", modifier: ["modkey"], key: "Return"), + (command: FocusWindowUp, value: "", modifier: ["modkey"], key: "k"), + (command: FocusWindowDown, value: "", modifier: ["modkey"], key: "j"), + (command: NextLayout, value: "", modifier: ["modkey", "Control"], key: "k"), + (command: PreviousLayout, value: "", modifier: ["modkey", "Control"], key: "j"), + (command: FocusWorkspaceNext, value: "", modifier: ["modkey"], key: "l"), + (command: FocusWorkspacePrevious, value: "", modifier: ["modkey"], key: "h"), + (command: MoveWindowUp, value: "", modifier: ["modkey", "Shift"], key: "Up"), + (command: MoveWindowDown, value: "", modifier: ["modkey", "Shift"], key: "Down"), + (command: FocusWindowUp, value: "", modifier: ["modkey"], key: "Up"), + (command: FocusWindowDown, value: "", modifier: ["modkey"], key: "Down"), + (command: NextLayout, value: "", modifier: ["modkey", "Control"], key: "Up"), + (command: PreviousLayout, value: "", modifier: ["modkey", "Control"], key: "Down"), + // (command: FocusWorkspaceNext, value: "", modifier: ["modkey"], key: "Right"), + // (command: FocusWorkspacePrevious, value: "", modifier: ["modkey"], key: "Left"), + (command: FocusNextTag, value: "", modifier: ["modkey"], key: "Right"), + (command: FocusPreviousTag, value: "", modifier: ["modkey"], key: "Left"), + (command: GotoTag, value: "1", modifier: ["modkey"], key: "1"), + (command: GotoTag, value: "2", modifier: ["modkey"], key: "2"), + (command: GotoTag, value: "3", modifier: ["modkey"], key: "3"), + (command: GotoTag, value: "4", modifier: ["modkey"], key: "4"), + (command: GotoTag, value: "5", modifier: ["modkey"], key: "5"), + (command: GotoTag, value: "6", modifier: ["modkey"], key: "6"), + (command: GotoTag, value: "7", modifier: ["modkey"], key: "7"), + (command: GotoTag, value: "8", modifier: ["modkey"], key: "8"), + (command: GotoTag, value: "9", modifier: ["modkey"], key: "9"), + (command: MoveToTag, value: "1", modifier: ["modkey", "Shift"], key: "1"), + (command: MoveToTag, value: "2", modifier: ["modkey", "Shift"], key: "2"), + (command: MoveToTag, value: "3", modifier: ["modkey", "Shift"], key: "3"), + (command: MoveToTag, value: "4", modifier: ["modkey", "Shift"], key: "4"), + (command: MoveToTag, value: "5", modifier: ["modkey", "Shift"], key: "5"), + (command: MoveToTag, value: "6", modifier: ["modkey", "Shift"], key: "6"), + (command: MoveToTag, value: "7", modifier: ["modkey", "Shift"], key: "7"), + (command: MoveToTag, value: "8", modifier: ["modkey", "Shift"], key: "8"), + (command: MoveToTag, value: "9", modifier: ["modkey", "Shift"], key: "9"), + ], + state_path: None, +) diff --git a/leftwm/down b/leftwm/down new file mode 100755 index 0000000..cb40405 --- /dev/null +++ b/leftwm/down @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +SCRIPTPATH="$( cd "$(dirname "$0")" || return ; pwd -P )" + +pkill firefox +pkill dino + diff --git a/leftwm/themes.toml b/leftwm/themes.toml new file mode 100644 index 0000000..5010bfe --- /dev/null +++ b/leftwm/themes.toml @@ -0,0 +1,272 @@ +[[repos]] +url = "https://raw.githubusercontent.com/leftwm/leftwm-community-themes/master/known.toml" +name = "community" +definitions_version = 1 + +[[repos.themes]] +name = "Amber" +repository = "https://github.com/di-effe/amber" +commit = "*" +version = "0.2.2" +leftwm_versions = ">0.2.10, <0.3.0" +current = false + +[[repos.themes]] +name = "arch-one-dark" +repository = "https://github.com/jamesbaker1901/leftwm-arch-one-dark/" +commit = "*" +version = "1.0.0" +leftwm_versions = "^0.3.0" +current = false + +[[repos.themes]] +name = "Ascent" +directory = "/home/mopar/.config/leftwm/themes/Ascent" +repository = "https://gitlab.com/mWalrus/ascent" +commit = "*" +version = "1.0.0" +leftwm_versions = ">0.2.7" +current = false + +[[repos.themes]] +name = "Blue Coffee" +repository = "https://github.com/Qwart376/Blue-Coffee/" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false + +[[repos.themes]] +name = "Bumblebee" +repository = "https://github.com/mfdorst/leftwm-bumblebee/" +commit = "*" +version = "0.0.1" +leftwm_versions = "^0.2.8, <0.3.0" +current = false + +[[repos.themes]] +name = "Catppuccin" +repository = "https://github.com/di-effe/catppuccin" +commit = "*" +version = "0.1.1" +leftwm_versions = ">0.2.10, <0.3.0" +current = false + +[[repos.themes]] +name = "Coffee" +repository = "https://github.com/lex148/leftwm-coffee/" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false + +[[repos.themes]] +name = "Dementive" +repository = "https://github.com/dementive/leftwm-dementive" +commit = "*" +version = "0.1" +leftwm_versions = "^0.4.0" +current = false + +[[repos.themes]] +name = "Desire" +repository = "https://github.com/copypasteonly/Desire" +commit = "*" +version = "0.1" +leftwm_versions = "^0.4.0" +current = false + +[[repos.themes]] +name = "Double Bar" +repository = "https://github.com/PeterDauwe/doublebar/" +commit = "*" +version = "0.0.2" +leftwm_versions = "^0.3.0" +current = false + +[[repos.themes]] +name = "Dracula Rounded" +repository = "https://github.com/AethanFoot/leftwm-theme-dracula-rounded/" +commit = "*" +version = "0.0.3" +leftwm_versions = "^0.3.0" +current = false + +[[repos.themes]] +name = "Epitaph" +directory = "/home/mopar/.config/leftwm/themes/Epitaph" +repository = "https://github.com/VentGrey/Epitaph" +commit = "*" +version = "0.0.2" +leftwm_versions = "*" +current = false + +[[repos.themes]] +name = "Flamingo" +repository = "https://github.com/necaris/leftwm-theme-flamingo" +commit = "*" +version = "0.0.1" +leftwm_versions = ">0.2.7, <0.3.0" +current = false + +[[repos.themes]] +name = "Forest" +repository = "https://github.com/lex148/forest/" +commit = "*" +version = "0.0.1" +leftwm_versions = "^0.3.0" +current = false + +[[repos.themes]] +name = "Garden" +directory = "/home/mopar/.config/leftwm/themes/Garden" +repository = "https://github.com/taylor85345/leftwm-theme-garden" +commit = "*" +version = "0.0.4" +leftwm_versions = ">0.2.7" +current = false + +[[repos.themes]] +name = "Ground Zero" +repository = "https://github.com/Qwart376/Ground-Zero/" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false + +[[repos.themes]] +name = "minimal-solarized" +repository = "https://github.com/minda1975/minimal_solarized" +commit = "*" +version = "0.1.0" +leftwm_versions = "^0.3.0" +current = false + +[[repos.themes]] +name = "Molese" +repository = "https://github.com/m0lese/leftwm-config" +commit = "*" +version = "2.1.0" +leftwm_versions = ">0.2.10, <0.3.0" +current = false + +[[repos.themes]] +name = "Ocean-night" +directory = "/home/mopar/.config/leftwm/themes/Ocean-night" +repository = "https://github.com/TheRoniOne/ocean-night" +commit = "*" +version = "0.0.1" +leftwm_versions = "*" +current = false + +[[repos.themes]] +name = "Orange Forest" +repository = "https://github.com/PVautour/leftwm-theme-orange-forest/" +commit = "*" +version = "0.0.2" +leftwm_versions = "^0.3.0" +current = false + +[[repos.themes]] +name = "plan9" +repository = "https://github.com/seabassapologist/leftwm-theme-plan9" +commit = "*" +version = "0.1.0" +leftwm_versions = "^0.3.0" +current = false + +[[repos.themes]] +name = "Red Moon" +repository = "https://github.com/Qwart376/Red-Moon" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false + +[[repos.themes]] +name = "Serika" +repository = "https://github.com/VuiMuich/leftwm-theme-serika.git" +commit = "*" +version = "0.0.1" +leftwm_versions = ">=0.3.0" +current = false + +[[repos.themes]] +name = "Soothe" +repository = "https://github.com/b4skyx/leftwm-soothe/" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false +relative_directory = "theme/" + +[[repos.themes]] +name = "SpaceJelly" +repository = "https://gitlab.com/leftwmthemes/space_jelly" +commit = "*" +version = "1.0.0" +leftwm_versions = ">0.2.10, <0.3.0" +current = false + +[[repos.themes]] +name = "sunflower" +repository = "https://github.com/mautamu/leftwm-sunflower/" +commit = "*" +version = "0.1.2" +leftwm_versions = "^0.2.11, <0.3.0" +current = false + +[[repos.themes]] +name = "Sunset" +repository = "https://github.com/Syudagye/leftwm-sunset" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false + +[[repos.themes]] +name = "TNG" +repository = "https://github.com/lex148/leftwm-tng/" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false + +[[repos.themes]] +name = "Windows XP" +repository = "https://github.com/lex148/leftwm-windowsxp/" +commit = "*" +version = "0.0.1" +leftwm_versions = "<0.3.0" +current = false + +[[repos.themes]] +name = "Zexanima" +repository = "https://github.com/calebgasser/zexanima-leftwm-theme/tree/develop" +commit = "*" +version = "0.0.1" +leftwm_versions = ">0.3.0" +current = false + +[[repos.themes]] +name = "Blood-Moon" +repository = "https://github.com/zawesomekid/Blood-Moon-leftwm-theme" +commit = "*" +version = "0.0.1" +leftwm_versions = ">0.3.0" +current = false + +[[repos.themes]] +name = "Late-Night" +directory = "/home/mopar/.config/leftwm/themes/Late-Night" +repository = "https://github.com/JacoMalan1/LateNight" +commit = "*" +version = "0.0.2" +leftwm_versions = ">0.3.0" +current = true + +[[repos]] +url = "localhost" +name = "LOCAL" +definitions_version = 1 +themes = [] diff --git a/leftwm/themes/current b/leftwm/themes/current new file mode 120000 index 0000000..0aa98b3 --- /dev/null +++ b/leftwm/themes/current @@ -0,0 +1 @@ +moparisthebest \ No newline at end of file diff --git a/leftwm/themes/moparisthebest/LICENSE b/leftwm/themes/moparisthebest/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/leftwm/themes/moparisthebest/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/leftwm/themes/moparisthebest/README.md b/leftwm/themes/moparisthebest/README.md new file mode 100644 index 0000000..7d75611 --- /dev/null +++ b/leftwm/themes/moparisthebest/README.md @@ -0,0 +1,20 @@ +# LeftWM Theme - LateNight + +A LeftWM theme for those late night coding sessions. + +## Screenshots +![Screenshot](./screenshots/screenshot_1.png) + +## Installation + 1. Clone the repository to your LeftWM config folder: `git clone https://github.com/JacoMalan1/LateNight $HOME/.config/leftwm/themes/LateNight` + 2. Apply theme: `ln -s $HOME/.config/leftwm/themes/LateNight $HOME/.config/leftwm/themes/current` + 3. Reload LeftWM + +## Dependencies + - leftwm + - feh + - polybar + - dunst + +## Attribution +The [wallpaper photo](https://unsplash.com/photos/cXU6tNxhub0) was taken by Andre Benz and is to be used under the [Unsplash License](https://unsplash.com/license). diff --git a/leftwm/themes/moparisthebest/down b/leftwm/themes/moparisthebest/down new file mode 100755 index 0000000..56e4b40 --- /dev/null +++ b/leftwm/themes/moparisthebest/down @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +leftwm command "UnloadTheme" + +pkill polybar +pkill dunst +pkill feh +pkill compton + +# Restore old dunst config +if [ -e $HOME/.config/dunstrc.bak ]; then + rm $HOME/.config/dunst/dunstrc + mv $HOME/.config/dunst/dunstrc.bak $HOME/.config/dunst/dunstrc +fi + +pkill polybar diff --git a/leftwm/themes/moparisthebest/dunstrc b/leftwm/themes/moparisthebest/dunstrc new file mode 100644 index 0000000..fcb865e --- /dev/null +++ b/leftwm/themes/moparisthebest/dunstrc @@ -0,0 +1,493 @@ +# ------------------------------------------------------------------------------- +# Copyright © 2013, Sascha Kruse and contributors +# All rights reserved. +# +# All files (unless otherwise noted) are licensed under the BSD license: +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the name of Sascha Kruse nor the +# names of contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY Sascha Kruse ''AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL Sascha Kruse BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# ------------------------------------------------------------------------------- +# Note: The above copyright disclaimer only applies to this file +# ------------------------------------------------------------------------------- + +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = 300 + + # Position the notification in the top right corner + origin = top-right + + # Offset from the origin + offset = 10x50 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 0 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 0 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 3 + + # Defines color of the frame around the notification window. + frame_color = "#aaaaaa" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 0 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = Monospace 8 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = Adwaita + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only neccesary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 0 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#222222" + foreground = "#888888" + timeout = 10 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#285577" + foreground = "#ffffff" + timeout = 10 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#900000" + foreground = "#ffffff" + frame_color = "#ff0000" + timeout = 0 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/leftwm/themes/moparisthebest/polybar-bluetooth/README.md b/leftwm/themes/moparisthebest/polybar-bluetooth/README.md new file mode 100644 index 0000000..adb098c --- /dev/null +++ b/leftwm/themes/moparisthebest/polybar-bluetooth/README.md @@ -0,0 +1,34 @@ +# Polybar bluetooth module +A fully functional bluetooth module for polybar that adds an icon that changes dinamically accordingly to the bluetooth status. + +![on](https://github.com/msaitz/polybar-bluetooth/blob/master/screenshots/on.png) When the bluetooth is on + +![off](https://github.com/msaitz/polybar-bluetooth/blob/master/screenshots/off.png) When the bluetooth is off + +![connected](https://github.com/msaitz/polybar-bluetooth/blob/master/screenshots/connected.png) When the bluetooth is connected to a device + +## Dependencies +- Font Awesome 5 Free +- Systemd +- Blueberry + +## Installation + +Place the shell script files in your preferred sctipt directory. + +Add the module to your polybar config file +```ini +[module/bluetooth] +type = custom/script +exec = path/to/scripts/bluetooth.sh +interval = 2 +click-left = exec blueberry +click-right = exec path/to/scripts/config/polybar/toggle_bluetooth.sh +format-padding = 1 +format-background = #000000 +format-foreground = #ffffff +``` +## Usage +Left click on the bluetooth icon launches blueberry or the bluetooth configuration tool of your choice. + +Right click on the bluetooth icon toggles the bluetooth power status. diff --git a/leftwm/themes/moparisthebest/polybar-bluetooth/bluetooth.sh b/leftwm/themes/moparisthebest/polybar-bluetooth/bluetooth.sh new file mode 100755 index 0000000..fea6d95 --- /dev/null +++ b/leftwm/themes/moparisthebest/polybar-bluetooth/bluetooth.sh @@ -0,0 +1,12 @@ +#!/bin/sh +if [ $(bluetoothctl show | grep "Powered: yes" | wc -c) -eq 0 ] +then + echo "%{F#66ffffff}" +else + if [ $(echo info | bluetoothctl | grep 'Device' | wc -c) -eq 0 ] + then + echo "" + fi + echo "%{F#2193ff}" +fi + diff --git a/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/connected.png b/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/connected.png new file mode 100644 index 0000000..064e661 Binary files /dev/null and b/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/connected.png differ diff --git a/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/off.png b/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/off.png new file mode 100644 index 0000000..c8e529b Binary files /dev/null and b/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/off.png differ diff --git a/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/on.png b/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/on.png new file mode 100644 index 0000000..4b43511 Binary files /dev/null and b/leftwm/themes/moparisthebest/polybar-bluetooth/screenshots/on.png differ diff --git a/leftwm/themes/moparisthebest/polybar-bluetooth/toggle_bluetooth.sh b/leftwm/themes/moparisthebest/polybar-bluetooth/toggle_bluetooth.sh new file mode 100755 index 0000000..dffb663 --- /dev/null +++ b/leftwm/themes/moparisthebest/polybar-bluetooth/toggle_bluetooth.sh @@ -0,0 +1,7 @@ +#!/bin/sh +if [ $(bluetoothctl show | grep "Powered: yes" | wc -c) -eq 0 ] +then + bluetoothctl power on +else + bluetoothctl power off +fi diff --git a/leftwm/themes/moparisthebest/polybar.ini b/leftwm/themes/moparisthebest/polybar.ini new file mode 100644 index 0000000..6e341d6 --- /dev/null +++ b/leftwm/themes/moparisthebest/polybar.ini @@ -0,0 +1,218 @@ +[colors] +background = #404040 +foreground = #eeeeee +foreground-orange = #fec601 + +info-dark = #505050 +info-light = #aaaaaa + +foreground-alt = #28587b + +fire-brick = #ab3428 + +[bar/mainbar] +monitor = ${env:MONITOR} +width = 100% +height = 30 +background = ${colors.background} +foreground = ${colors.foreground} + +font-0 = MesloLGF NF:style=Bold:size=13;1 +font-1 = JetBrains Mono NF:style=Bold:size=13;1 +font-2 = JetBrains Mono Nerd Font:style=Bold:size=13;1 +font-3 = Noto Color Emoji:style=Regular:size=13;1 + +separator = "|" +separator-foreground = ${colors.info-dark} + +modules-left = ewmh xwindow +modules-center = date time +modules-right = volume cpu memory wlan battery backlight bt wifi +padding-left = 1 +padding-right = 1 +radius = 0 +border-size = 0pt +border-color = #00000000 + +cursor-click = pointer +cursor-scroll = ns-resize +tray-position = right + +module-margin = 1 + +# override-redirect = true +# wm-restack = i3 + +# Put the bar at the bottom of the screen +bottom = true + +[module/xwindow] +type = internal/xwindow +label = " %title:0:50:...%" + +[module/ewmh] +type = internal/xworkspaces +label-active = %name% +label-active-background = ${colors.foreground-alt} +label-active-underline= ${colors.foreground-alt} +label-active-padding = 1 + +label-occupied = %name% +label-occupied-padding = 1 + +label-urgent = %name% +label-urgent-background = ${colors.fire-brick} +label-urgent-padding = 1 + +label-empty-padding = 1 +label-empty-foreground = ${colors.info-light} + +[module/date] +type = internal/date +interval = 1 + +date = " %Y-%m-%d " +date-alt = %Y-%m-%d %H:%M:%S + +label = %date% +label-foreground = ${colors.foreground-orange} + +[module/time] +type = internal/date +date = " %H:%M " +label-foreground = ${colors.info-light} + +[module/cpu] +type = internal/cpu +interval = 0.5 +label = " %{F#FEC601}CPU: %{F#A0A0A0}%percentage:2%% " +label-foreground = ${colors.foreground} + +[module/volume] +type = internal/pulseaudio + +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +label-volume = " %{F#FEC601}VOL: %{F#A0A0A0}%percentage:2%% " +label-volume-foreground = ${colors.foreground} + +; Right and Middle click +click-right = pavucontrol +click-middle = pavucontrol + +[module/network] +type = internal/network +interface = enp0s20u1 +unknown-as-up = true + +label-disconnected = " not connected " +label-disconnected-foreground = ${colors.a-red} +format-disconnected = + +label-connected = " %{F#a3be8c}↓ %{F#d8dee9}%downspeed:9%%{F#4c566a} | %{F#88c0d0}↑ %{F#d8dee9}%upspeed:9%%{F-} " +format-connected = + +[network-base] +type = internal/network + +interval = 1 + +format-connected = +format-disconnected = +format-packetloss = + +label-disconnected = " %{F#FEC601}%ifname%%{F#A0A0A0} disconnected " + +[module/wlan] +inherit = network-base +interface-type = wireless +label-connected = " %{F#FEC601}%essid%%{F#A0A0A0} %local_ip% %downspeed:9% " +label-connected-foreground = ${colors.foreground} + +[module/memory] +type = internal/memory +interval = 1 +warn-percentage = 1 +format =