diff --git a/.config/leftwm/autostart b/.config/leftwm/autostart new file mode 100755 index 0000000..5eada1a --- /dev/null +++ b/.config/leftwm/autostart @@ -0,0 +1,3 @@ +#!/bin/bash +xrandr --output HDMI-1 --primary --mode 2560x1440 --rotate normal +export AAA="aaaa" diff --git a/.config/leftwm/config.ron b/.config/leftwm/config.ron new file mode 100644 index 0000000..934b89b --- /dev/null +++ b/.config/leftwm/config.ron @@ -0,0 +1,137 @@ +// _ ___ ___ _ +// | | / __)_ / __|_) +// | | ____| |__| |_ _ _ _ ____ ____ ___ ____ | |__ _ ____ ____ ___ ____ +// | |/ _ ) __) _) | | | \ / ___) _ \| _ \| __) |/ _ | / ___) _ \| _ \ +// | ( (/ /| | | |_| | | | | | | ( (__| |_| | | | | | | ( ( | |_| | | |_| | | | | +// |_|\____)_| \___)____|_|_|_| \____)___/|_| |_|_| |_|\_|| (_)_| \___/|_| |_| +// A WindowManager for Adventurers (____/ +// For info about configuration please visit https://github.com/leftwm/leftwm/wiki + +// For defining the window rules check the class with this command xprop | grep 'CLASS' + + +#![enable(implicit_some)] +( + modkey: "Mod4", + mousekey: "Mod4", + workspaces: [], + tags: [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + ], + max_window_width: None, + layouts: [ + MainAndVertStack, + LeftWiderRightStack, + MainAndHorizontalStack, + CenterMainBalanced, + GridHorizontal, + /* MainAndDeck, */ + /* EvenHorizontal, */ + /* EvenVertical, */ + /* Fibonacci, */ + /* LeftMain, */ + /* CenterMain, */ + /* CenterMainFluid, */ + /* Monocle, */ + /* RightWiderLeftStack, */ + ], + layout_mode: Workspace, + insert_behavior: Bottom, + scratchpad: [ + (name: "Alacritty", value: "alacritty", x: 400, y: 300, height: 400, width: 1200), + ], + window_rules: [ + ( window_class: "Navigator", spawn_on_tag: 1 ), + ( window_class: "Mailspring", spawn_on_tag: 8 ), + ( window_title: "Qv2ray", spawn_on_tag: 9 ), + ( window_class: "Zotero", spawn_on_tag: 3 ), + ( window_class: "frog", spawn_floating: true ), + ( window_class: "krita", spawn_on_tag: 5 ), + ( window_class: "Blender", spawn_on_tag: 5 ), + ( window_class: "Inkscape", spawn_on_tag: 5 ), + ( window_class: "resolve", spawn_on_tag: 6 ), + ( window_class: "libreoffice", spawn_on_tag: 4 ), + ( window_class: "easyeffects", spawn_on_tag: 6 ), + ( window_class: "gnome-calculator", 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, + keybind: [ + ( command: Execute, value: "~/.config/leftwm/scripts/brightness_up.sh", modifier: [], key: "XF86XK_MonBrightnessUp" ), + ( command: Execute, value: "~/.config/leftwm/scripts/brightness_down.sh", modifier: [], key: "XF86XK_MonBrightnessDown" ), + ( command: Execute, value: "amixer -q set Master 5%+", modifier: [], key: "XF86XK_AudioRaiseVolume" ), + ( command: Execute, value: "amixer -q set Master 5%-", modifier: [], key: "XF86XK_AudioLowerVolume" ), + ( command: Execute, value: "amixer set Master toggle", modifier: [], key: "XF86XK_AudioMute" ), + ( command: Execute, value: "import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png", modifier: [], key: "Print" ), + (command: Execute, value: "rofi -show drun", modifier: ["modkey"], key: "p"), + (command: Execute, value: "rofi -show run", modifier: ["modkey"], key: "e"), + (command: Execute, value: "rofi -show ssh", modifier: ["modkey"], key: "s"), + (command: Execute, value: "rofi -show", modifier: ["modkey"], key: "Tab"), + (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: ToggleFloating, modifier: ["modkey", "Control"], key: "f"), + (command: TileToFloating, modifier: ["modkey", "Shift"], key: "f"), + (command: FloatingToTile, modifier: ["modkey", "Shift"], key: "t"), + (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"), + (command: FocusPreviousTag, modifier: ["Control", "Alt"], key: "Left"), + (command: FocusNextTag, modifier: ["Control", "Alt"], key: "Right"), + (command: FocusPreviousTag, modifier: ["Control", "Alt"], key: "h"), + (command: FocusNextTag, modifier: ["Control", "Alt"], key: "l"), + (command: ToggleFullScreen, modifier: ["modkey"], key: "f"), + (command: ToggleScratchPad, value: "Alacritty", modifier: ["modkey", "Shift"], key: "p"), + ], + state_path: None, +) diff --git a/.config/leftwm/scripts/brightness_down.sh b/.config/leftwm/scripts/brightness_down.sh new file mode 100755 index 0000000..d749444 --- /dev/null +++ b/.config/leftwm/scripts/brightness_down.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +brightness=$(cat /sys/class/backlight/intel_backlight/brightness) +new_brightness=$(($brightness - 200)) + +if [[ $new_brightness -gt 0 ]]; then + echo $new_brightness > /sys/class/backlight/intel_backlight/brightness +fi diff --git a/.config/leftwm/scripts/brightness_up.sh b/.config/leftwm/scripts/brightness_up.sh new file mode 100755 index 0000000..d3a799e --- /dev/null +++ b/.config/leftwm/scripts/brightness_up.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +brightness=$(cat /sys/class/backlight/intel_backlight/brightness) +max_brightness=$(cat /sys/class/backlight/intel_backlight/max_brightness) +new_brightness=$(($brightness + 200)) + +if [[ $new_brightness -lt $max_brightness ]]; then + echo $new_brightness > /sys/class/backlight/intel_backlight/brightness +fi diff --git a/.config/leftwm/themes/current/change_to_tag b/.config/leftwm/themes/current/change_to_tag new file mode 100755 index 0000000..d652de4 --- /dev/null +++ b/.config/leftwm/themes/current/change_to_tag @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +leftwm-command "SendWorkspaceToTag $1 $2" diff --git a/.config/leftwm/themes/current/down b/.config/leftwm/themes/current/down new file mode 100755 index 0000000..42444ba --- /dev/null +++ b/.config/leftwm/themes/current/down @@ -0,0 +1,16 @@ +#!/bin/bash + +SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" + +#set background +if [ -x "$(command -v feh)" ]; then + feh --bg-scale $SCRIPTPATH/down.jpg +fi + +leftwm-command "UnloadTheme" + +pkill picom +pkill polybar +pkill flameshot + +kill $(ps aux | grep "layout.sh" | grep -v grep | awk '{print $2}') diff --git a/.config/leftwm/themes/current/polybar.config b/.config/leftwm/themes/current/polybar.config new file mode 100644 index 0000000..8043616 --- /dev/null +++ b/.config/leftwm/themes/current/polybar.config @@ -0,0 +1,408 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains a lot of information +; +;========================================================== + +[colors] +background = #1a1b26 +foreground = #c0caf5 +background-alt = #a9b1d6 +foreground-alt = #8e94d0 +primary = #ffb52a +secondary = #e60053 +alert = #bd2c40 + + +[bar/mainbar0] +inherit = bar/barbase +modules-left = workspace0 +[module/workspace0] +type = custom/script +height = 20 +exec = leftwm-state -w 0 -t $SCRIPTPATH/template.liquid +tail = true + +[bar/mainbar1] +inherit = bar/barbase +modules-left = workspace1 +[module/workspace1] +type = custom/script +exec = leftwm-state -w 1 -t $SCRIPTPATH/template.liquid +tail = true + +[bar/mainbar2] +inherit = bar/barbase +modules-left = workspace2 +[module/workspace2] +type = custom/script +exec = leftwm-state -w 2 -t $SCRIPTPATH/template.liquid +tail = true + +[bar/mainbar3] +inherit = bar/barbase +modules-left = workspace3 +[module/workspace3] +type = custom/script +exec = leftwm-state -w 3 -t $SCRIPTPATH/template.liquid +tail = true + + +[bar/barbase] +width = ${env:width} +offset-x = ${env:offsetx} +monitor = ${env:monitor} +height = 27 +fixed-center = false +background = ${colors.background} +foreground = ${colors.foreground} +line-size = 3 +line-color = #f00 +border-size = 0 +border-color = #000000 +padding-left = 0 +padding-right = 2 +module-margin-left = 1 +module-margin-right = 2 +font-0 = JetBrainsMono Nerd Font Mono:pixelsize=12;1 +modules-center = +modules-right = filesystem xbacklight pulseaudio xkeyboard memory cpu wlan eth battery temperature date powermenu +tray-position = right +tray-padding = 2 +cursor-click = pointer +cursor-scroll = ns-resize + +[module/ewmh] +type = internal/xworkspaces +label-active = " %icon% %name% " +label-active-foreground = ${colors.foreground-alt} +label-active-background = ${colors.background-alt} +label-active-underline = ${colors.primary} +label-occupied = " %icon% %name% " +label-occupied-underline = ${colors.secondary} +label-urgent = " %icon% %name% " +label-urgent-foreground = ${colors.foreground} +label-urgent-background = ${colors.background} +label-urgent-underline = ${colors.alert} +label-empty = " %icon% %name% " +label-empty-foreground = ${colors.foreground} + + +[module/xwindow] +type = internal/xwindow +label = %title:0:30:...% + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} + +label-layout = %layout% +label-layout-underline = ${colors.secondary} + +label-indicator-padding = 0 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + +[module/bspwm] +type = internal/bspwm + +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +label-occupied = %index% +label-occupied-padding = 2 + +label-urgent = %index%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 + +; Separator in between workspaces +; label-separator = | + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-background = ${module/bspwm.label-focused-background} +label-focused-underline = ${module/bspwm.label-focused-underline} +label-focused-padding = ${module/bspwm.label-focused-padding} + +; unfocused = Inactive workspace on any monitor +label-unfocused = %index% +label-unfocused-padding = ${module/bspwm.label-occupied-padding} + +; visible = Active workspace on unfocused monitor +label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %index% +label-urgent-background = ${module/bspwm.label-urgent-background} +label-urgent-padding = ${module/bspwm.label-urgent-padding} + +; Separator in between workspaces +; label-separator = | + + +[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/xbacklight] +type = internal/xbacklight + +format =