diff --git a/arch.os b/arch.os index 284f347..45dee66 100755 --- a/arch.os +++ b/arch.os @@ -1,5 +1,5 @@ #!/bin/bash - +exit # Dev utilsv yay -S neovim-git nvm kitty ranger ripgrep diff --git a/bootstrap.js b/bootstrap.js index b40d6ea..b892d09 100755 --- a/bootstrap.js +++ b/bootstrap.js @@ -1,6 +1,11 @@ import fs from 'fs'; +import opsys from 'os'; +import path from 'path'; import { parseArgs } from 'node:util'; import subProcess from 'child_process'; +import { log } from 'console'; + +const home = opsys.homedir() + '/'; const VERSION_MAJOR = 1; const VERSION_MINOR = 0; @@ -58,13 +63,54 @@ subProcess.spawnSync('./' + targetInstallScript, [], { console.log('Successfully installed OS deps...'); -const parentDir = 'common'; -const targetDir = host; +const parentDir = 'common/'; +const childDir = host + '/'; -// we want to create a symlink between home/ & host/ to ~/ +// we want to create a symlink between common/ & {host}/ to ~/ // for every file stored in this repo, beforeso we need // to create a .bak/ of the origionals as this might // well cause some issues... +const copyRecursiveSync = (src, dest) => { + const exists = fs.existsSync(src); + const stats = exists && fs.statSync(src); + const isDirectory = exists && stats.isDirectory(); + if (isDirectory) { + fs.mkdirSync(dest); + fs.readdirSync(src).forEach(function(childItemName) { + copyRecursiveSync(path.join(src, childItemName), + path.join(dest, childItemName)); + }); + } else { + // recirsively make dest + const newDir = dest.split('/').splice(-1).join(); + console.log(dir, newDir); + if (!fs.existsSync(newDir)) + fs.mkdirSync(newDir, { recursive: true, overwrite: true }); + + fs.copyFileSync(src, dest, fs.constants.COPYFILE_FICLONE); + } +}; + +// since we can recursively copy we only need the top level directories +const basePaths = fs.readdirSync(parentDir); +const childPaths = fs.readdirSync(childDir); + +// start by making the backup +const backupDir = home + 'dotfiles.bak/'; // TODO: make this a cmd option +console.log(`Backing up current dotfiles to ${backupDir}`); + +if (!fs.existsSync(backupDir)) + fs.mkdirSync(backupDir); + +const allPaths = Array.from(new Set(basePaths.concat(childPaths))); +for (const path of allPaths) { + const copyTarget = home + path; + const backupTarget = backupDir + path; + console.log(`Moving ${copyTarget} to ${backupTarget}`); + copyRecursiveSync(copyTarget, backupTarget); +} + +// we prioritise targetDir over parentDir diff --git a/home/.Xresources b/common/.Xresources similarity index 100% rename from home/.Xresources rename to common/.Xresources diff --git a/home/.config/dolphinrc b/common/.config/dolphinrc similarity index 100% rename from home/.config/dolphinrc rename to common/.config/dolphinrc diff --git a/home/.config/dunst/dunstrc b/common/.config/dunst/dunstrc similarity index 100% rename from home/.config/dunst/dunstrc rename to common/.config/dunst/dunstrc diff --git a/home/.config/flameshot/flameshot.ini b/common/.config/flameshot/flameshot.ini similarity index 100% rename from home/.config/flameshot/flameshot.ini rename to common/.config/flameshot/flameshot.ini diff --git a/home/.config/i3blocks/battery/battery_info.sh b/common/.config/i3blocks/battery/battery_info.sh similarity index 100% rename from home/.config/i3blocks/battery/battery_info.sh rename to common/.config/i3blocks/battery/battery_info.sh diff --git a/home/.config/i3blocks/config b/common/.config/i3blocks/config similarity index 100% rename from home/.config/i3blocks/config rename to common/.config/i3blocks/config diff --git a/home/.config/i3blocks/cpu/cpu_info.sh b/common/.config/i3blocks/cpu/cpu_info.sh similarity index 100% rename from home/.config/i3blocks/cpu/cpu_info.sh rename to common/.config/i3blocks/cpu/cpu_info.sh diff --git a/home/.config/i3blocks/sound/sound_burst.sh b/common/.config/i3blocks/sound/sound_burst.sh similarity index 100% rename from home/.config/i3blocks/sound/sound_burst.sh rename to common/.config/i3blocks/sound/sound_burst.sh diff --git a/home/.config/i3blocks/sound/sound_info.sh b/common/.config/i3blocks/sound/sound_info.sh similarity index 100% rename from home/.config/i3blocks/sound/sound_info.sh rename to common/.config/i3blocks/sound/sound_info.sh diff --git a/home/.config/kitty/kitty.conf b/common/.config/kitty/kitty.conf similarity index 100% rename from home/.config/kitty/kitty.conf rename to common/.config/kitty/kitty.conf diff --git a/home/.config/manjaro-hello.json b/common/.config/manjaro-hello.json similarity index 100% rename from home/.config/manjaro-hello.json rename to common/.config/manjaro-hello.json diff --git a/home/.config/manjaro/manjaro-settings-manager.conf b/common/.config/manjaro/manjaro-settings-manager.conf similarity index 100% rename from home/.config/manjaro/manjaro-settings-manager.conf rename to common/.config/manjaro/manjaro-settings-manager.conf diff --git a/home/.config/mimeapps.list b/common/.config/mimeapps.list similarity index 100% rename from home/.config/mimeapps.list rename to common/.config/mimeapps.list diff --git a/home/.config/nvim/assets/nvim-screenshot.png b/common/.config/nvim/assets/nvim-screenshot.png similarity index 100% rename from home/.config/nvim/assets/nvim-screenshot.png rename to common/.config/nvim/assets/nvim-screenshot.png diff --git a/home/.config/nvim/init.lua b/common/.config/nvim/init.lua similarity index 100% rename from home/.config/nvim/init.lua rename to common/.config/nvim/init.lua diff --git a/home/.config/nvim/lua/basics.lua b/common/.config/nvim/lua/basics.lua similarity index 100% rename from home/.config/nvim/lua/basics.lua rename to common/.config/nvim/lua/basics.lua diff --git a/home/.config/nvim/lua/globals.lua b/common/.config/nvim/lua/globals.lua similarity index 100% rename from home/.config/nvim/lua/globals.lua rename to common/.config/nvim/lua/globals.lua diff --git a/home/.config/nvim/lua/keymappings.lua b/common/.config/nvim/lua/keymappings.lua similarity index 100% rename from home/.config/nvim/lua/keymappings.lua rename to common/.config/nvim/lua/keymappings.lua diff --git a/home/.config/nvim/lua/lsp-general.lua b/common/.config/nvim/lua/lsp-general.lua similarity index 100% rename from home/.config/nvim/lua/lsp-general.lua rename to common/.config/nvim/lua/lsp-general.lua diff --git a/home/.config/nvim/lua/lsp-server-config/lua.lua b/common/.config/nvim/lua/lsp-server-config/lua.lua similarity index 100% rename from home/.config/nvim/lua/lsp-server-config/lua.lua rename to common/.config/nvim/lua/lsp-server-config/lua.lua diff --git a/home/.config/nvim/lua/plugin-config/dressing.lua b/common/.config/nvim/lua/plugin-config/dressing.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/dressing.lua rename to common/.config/nvim/lua/plugin-config/dressing.lua diff --git a/home/.config/nvim/lua/plugin-config/galaxyline.lua b/common/.config/nvim/lua/plugin-config/galaxyline.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/galaxyline.lua rename to common/.config/nvim/lua/plugin-config/galaxyline.lua diff --git a/home/.config/nvim/lua/plugin-config/gitsigns.lua b/common/.config/nvim/lua/plugin-config/gitsigns.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/gitsigns.lua rename to common/.config/nvim/lua/plugin-config/gitsigns.lua diff --git a/home/.config/nvim/lua/plugin-config/indent-guide-lines.lua b/common/.config/nvim/lua/plugin-config/indent-guide-lines.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/indent-guide-lines.lua rename to common/.config/nvim/lua/plugin-config/indent-guide-lines.lua diff --git a/home/.config/nvim/lua/plugin-config/lsp-colors.lua b/common/.config/nvim/lua/plugin-config/lsp-colors.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/lsp-colors.lua rename to common/.config/nvim/lua/plugin-config/lsp-colors.lua diff --git a/home/.config/nvim/lua/plugin-config/lsp-trouble.lua b/common/.config/nvim/lua/plugin-config/lsp-trouble.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/lsp-trouble.lua rename to common/.config/nvim/lua/plugin-config/lsp-trouble.lua diff --git a/home/.config/nvim/lua/plugin-config/lspsaga.lua b/common/.config/nvim/lua/plugin-config/lspsaga.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/lspsaga.lua rename to common/.config/nvim/lua/plugin-config/lspsaga.lua diff --git a/home/.config/nvim/lua/plugin-config/ministarter.lua b/common/.config/nvim/lua/plugin-config/ministarter.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/ministarter.lua rename to common/.config/nvim/lua/plugin-config/ministarter.lua diff --git a/home/.config/nvim/lua/plugin-config/noice.lua b/common/.config/nvim/lua/plugin-config/noice.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/noice.lua rename to common/.config/nvim/lua/plugin-config/noice.lua diff --git a/home/.config/nvim/lua/plugin-config/nvim-cmp.lua b/common/.config/nvim/lua/plugin-config/nvim-cmp.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/nvim-cmp.lua rename to common/.config/nvim/lua/plugin-config/nvim-cmp.lua diff --git a/home/.config/nvim/lua/plugin-config/nvim-tree.lua b/common/.config/nvim/lua/plugin-config/nvim-tree.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/nvim-tree.lua rename to common/.config/nvim/lua/plugin-config/nvim-tree.lua diff --git a/home/.config/nvim/lua/plugin-config/nvim-treesitter.lua b/common/.config/nvim/lua/plugin-config/nvim-treesitter.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/nvim-treesitter.lua rename to common/.config/nvim/lua/plugin-config/nvim-treesitter.lua diff --git a/home/.config/nvim/lua/plugin-config/smart-splits.lua b/common/.config/nvim/lua/plugin-config/smart-splits.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/smart-splits.lua rename to common/.config/nvim/lua/plugin-config/smart-splits.lua diff --git a/home/.config/nvim/lua/plugin-config/telescope.lua b/common/.config/nvim/lua/plugin-config/telescope.lua similarity index 100% rename from home/.config/nvim/lua/plugin-config/telescope.lua rename to common/.config/nvim/lua/plugin-config/telescope.lua diff --git a/home/.config/nvim/lua/plugins.lua b/common/.config/nvim/lua/plugins.lua similarity index 100% rename from home/.config/nvim/lua/plugins.lua rename to common/.config/nvim/lua/plugins.lua diff --git a/home/.config/nvim/lua/post-plugin-basics.lua b/common/.config/nvim/lua/post-plugin-basics.lua similarity index 100% rename from home/.config/nvim/lua/post-plugin-basics.lua rename to common/.config/nvim/lua/post-plugin-basics.lua diff --git a/home/.config/nvim/plugin/packer_compiled.lua b/common/.config/nvim/plugin/packer_compiled.lua similarity index 100% rename from home/.config/nvim/plugin/packer_compiled.lua rename to common/.config/nvim/plugin/packer_compiled.lua diff --git a/home/.config/pavucontrol.ini b/common/.config/pavucontrol.ini similarity index 100% rename from home/.config/pavucontrol.ini rename to common/.config/pavucontrol.ini diff --git a/home/.config/rofi/README.md b/common/.config/rofi/README.md similarity index 100% rename from home/.config/rofi/README.md rename to common/.config/rofi/README.md diff --git a/home/.config/rofi/bin/launcher b/common/.config/rofi/bin/launcher similarity index 100% rename from home/.config/rofi/bin/launcher rename to common/.config/rofi/bin/launcher diff --git a/home/.config/rofi/bin/powermenu b/common/.config/rofi/bin/powermenu similarity index 100% rename from home/.config/rofi/bin/powermenu rename to common/.config/rofi/bin/powermenu diff --git a/home/.config/rofi/bin/runner b/common/.config/rofi/bin/runner similarity index 100% rename from home/.config/rofi/bin/runner rename to common/.config/rofi/bin/runner diff --git a/home/.config/rofi/bin/screenshot b/common/.config/rofi/bin/screenshot similarity index 100% rename from home/.config/rofi/bin/screenshot rename to common/.config/rofi/bin/screenshot diff --git a/home/.config/rofi/config.rasi b/common/.config/rofi/config.rasi similarity index 100% rename from home/.config/rofi/config.rasi rename to common/.config/rofi/config.rasi diff --git a/home/.config/rofi/config/askpass.rasi b/common/.config/rofi/config/askpass.rasi similarity index 100% rename from home/.config/rofi/config/askpass.rasi rename to common/.config/rofi/config/askpass.rasi diff --git a/home/.config/rofi/config/bluetooth.rasi b/common/.config/rofi/config/bluetooth.rasi similarity index 100% rename from home/.config/rofi/config/bluetooth.rasi rename to common/.config/rofi/config/bluetooth.rasi diff --git a/home/.config/rofi/config/colors.rasi b/common/.config/rofi/config/colors.rasi similarity index 100% rename from home/.config/rofi/config/colors.rasi rename to common/.config/rofi/config/colors.rasi diff --git a/home/.config/rofi/config/confirm.rasi b/common/.config/rofi/config/confirm.rasi similarity index 100% rename from home/.config/rofi/config/confirm.rasi rename to common/.config/rofi/config/confirm.rasi diff --git a/home/.config/rofi/config/font.rasi b/common/.config/rofi/config/font.rasi similarity index 100% rename from home/.config/rofi/config/font.rasi rename to common/.config/rofi/config/font.rasi diff --git a/home/.config/rofi/config/launcher.rasi b/common/.config/rofi/config/launcher.rasi similarity index 100% rename from home/.config/rofi/config/launcher.rasi rename to common/.config/rofi/config/launcher.rasi diff --git a/home/.config/rofi/config/mpd.rasi b/common/.config/rofi/config/mpd.rasi similarity index 100% rename from home/.config/rofi/config/mpd.rasi rename to common/.config/rofi/config/mpd.rasi diff --git a/home/.config/rofi/config/network.rasi b/common/.config/rofi/config/network.rasi similarity index 100% rename from home/.config/rofi/config/network.rasi rename to common/.config/rofi/config/network.rasi diff --git a/home/.config/rofi/config/networkmenu.rasi b/common/.config/rofi/config/networkmenu.rasi similarity index 100% rename from home/.config/rofi/config/networkmenu.rasi rename to common/.config/rofi/config/networkmenu.rasi diff --git a/home/.config/rofi/config/powermenu.rasi b/common/.config/rofi/config/powermenu.rasi similarity index 100% rename from home/.config/rofi/config/powermenu.rasi rename to common/.config/rofi/config/powermenu.rasi diff --git a/home/.config/rofi/config/runner.rasi b/common/.config/rofi/config/runner.rasi similarity index 100% rename from home/.config/rofi/config/runner.rasi rename to common/.config/rofi/config/runner.rasi diff --git a/home/.config/rofi/config/screenshot.rasi b/common/.config/rofi/config/screenshot.rasi similarity index 100% rename from home/.config/rofi/config/screenshot.rasi rename to common/.config/rofi/config/screenshot.rasi diff --git a/home/.i3/config b/common/.i3/config similarity index 100% rename from home/.i3/config rename to common/.i3/config diff --git a/home/.i3/.i3/i3-chrome-tab-dragging.py b/common/.i3/i3-chrome-tab-dragging.py similarity index 100% rename from home/.i3/.i3/i3-chrome-tab-dragging.py rename to common/.i3/i3-chrome-tab-dragging.py diff --git a/home/.local/share/rofi/themes/catppuccin-frappe.rasi b/common/.local/share/rofi/themes/catppuccin-frappe.rasi similarity index 100% rename from home/.local/share/rofi/themes/catppuccin-frappe.rasi rename to common/.local/share/rofi/themes/catppuccin-frappe.rasi diff --git a/home/.local/share/rofi/themes/catppuccin-latte.rasi b/common/.local/share/rofi/themes/catppuccin-latte.rasi similarity index 100% rename from home/.local/share/rofi/themes/catppuccin-latte.rasi rename to common/.local/share/rofi/themes/catppuccin-latte.rasi diff --git a/home/.local/share/rofi/themes/catppuccin-macchiato.rasi b/common/.local/share/rofi/themes/catppuccin-macchiato.rasi similarity index 100% rename from home/.local/share/rofi/themes/catppuccin-macchiato.rasi rename to common/.local/share/rofi/themes/catppuccin-macchiato.rasi diff --git a/home/.local/share/rofi/themes/catppuccin-mocha.rasi b/common/.local/share/rofi/themes/catppuccin-mocha.rasi similarity index 100% rename from home/.local/share/rofi/themes/catppuccin-mocha.rasi rename to common/.local/share/rofi/themes/catppuccin-mocha.rasi diff --git a/home/.ssh/config b/common/.ssh/config similarity index 100% rename from home/.ssh/config rename to common/.ssh/config diff --git a/home/.tmux.conf b/common/.tmux.conf similarity index 100% rename from home/.tmux.conf rename to common/.tmux.conf diff --git a/home/.zshrc b/common/.zshrc similarity index 100% rename from home/.zshrc rename to common/.zshrc diff --git a/home/i3blocks/battery/battery_info.sh b/common/i3blocks/battery/battery_info.sh similarity index 100% rename from home/i3blocks/battery/battery_info.sh rename to common/i3blocks/battery/battery_info.sh diff --git a/home/i3blocks/config b/common/i3blocks/config similarity index 100% rename from home/i3blocks/config rename to common/i3blocks/config diff --git a/home/i3blocks/cpu/cpu_info.sh b/common/i3blocks/cpu/cpu_info.sh similarity index 100% rename from home/i3blocks/cpu/cpu_info.sh rename to common/i3blocks/cpu/cpu_info.sh diff --git a/home/i3blocks/gpu/gpu_info.sh b/common/i3blocks/gpu/gpu_info.sh similarity index 100% rename from home/i3blocks/gpu/gpu_info.sh rename to common/i3blocks/gpu/gpu_info.sh diff --git a/home/i3blocks/sound/sound_burst.sh b/common/i3blocks/sound/sound_burst.sh similarity index 100% rename from home/i3blocks/sound/sound_burst.sh rename to common/i3blocks/sound/sound_burst.sh diff --git a/home/i3blocks/sound/sound_info.sh b/common/i3blocks/sound/sound_info.sh similarity index 100% rename from home/i3blocks/sound/sound_info.sh rename to common/i3blocks/sound/sound_info.sh diff --git a/home/.i3/.i3/config b/home/.i3/.i3/config deleted file mode 100644 index 3b5af4b..0000000 --- a/home/.i3/.i3/config +++ /dev/null @@ -1,441 +0,0 @@ -# i3 config file (v4) -# Please see http://i3wm.org/docs/userguide.html for a complete reference! - -# Set mod key (Mod1=, Mod4=) -set $mod Mod4 - -# set default desktop layout (default is tiling) -# workspace_layout tabbed - -# Configure border style -default_border none -default_floating_border normal - -# Hide borders -hide_edge_borders none - -# change borders -#bindsym $mod+u border none -#bindsym $mod+y border pixel 1 -#bindsym $mod+n border normal - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font xft:DejaVu Sans Mono 12 - -# Hide title bar -default_border pixel 1 -default_floating_border pixel 1 -for_window [class="^.*"] border pixel 1 - -# Use Mouse+$mod to drag floating windows -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start program launcher -bindsym $mod+d exec --no-startup-id rofi -show drun - -# launch categorized menu -bindsym $mod+z exec --no-startup-id morc_menu - -################################################################################################ -## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## -################################################################################################ - -exec --no-startup-id volumeicon -##bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' -exec mpris-proxy -exec --no-startup-id start-pulseaudio-x11 -exec --no-startup-id pa-applet -bindsym $mod+Ctrl+m exec pavucontrol - -################################################################################################ - -# Screen brightness controls -#bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" -#bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" - -# Start Applications -bindsym $mod+Ctrl+b exec terminal -e 'bmenu' -bindsym $mod+F2 exec palemoon -bindsym $mod+F3 exec pcmanfm -# bindsym $mod+F3 exec ranger -bindsym $mod+Shift+F3 exec pcmanfm_pkexec -bindsym $mod+F5 exec terminal -e 'mocp' -bindsym $mod+t exec --no-startup-id pkill picom -bindsym $mod+Ctrl+t exec --no-startup-id picom -b -bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" -#bindsym Print exec maim -s --format=png /dev/stdout | xclip -selection clipboard -t image/png -i -bindsym Print exec flameshot gui -bindsym $mod+Print --release exec --no-startup-id i3-scrot -w -bindsym $mod+Shift+Print --release exec flameshot --gui -bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf -bindsym $mod+Ctrl+x --release exec --no-startup-id xkill -exec_always --no-startup-id ~/.i3/i3-chrome-tab-dragging.py - - -# Audio Controls -bindsym XF86AudioPlay exec "mpris-ctl pp && mpris-ctl --player inactive pp" -bindsym XF86AudioNext exec "mpris-ctl --player active next" -bindsym XF86AudioPrev exec "mpris-ctl --player active prev" - -# focus_follows_mouse no - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+semicolon focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+semicolon move right - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# workspace back and forth (with/without active container) -workspace_auto_back_and_forth yes -bindsym $mod+b workspace back_and_forth -bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth - -# split orientation -bindsym $mod+h split h;exec notify-send 'tile horizontally' -bindsym $mod+v split v;exec notify-send 'tile vertically' -bindsym $mod+q split toggle - -# toggle fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# toggle sticky -bindsym $mod+Shift+s sticky toggle - -# focus the parent container -bindsym $mod+a focus parent - -# move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show - -#navigate workspaces next / previous -bindsym $mod+Ctrl+Right workspace next -bindsym $mod+Ctrl+Left workspace prev - -# Workspace names -# to display names or symbols instead of plain workspace numbers you can use -# something like: set $ws1 1:mail -# set $ws2 2: -set $ws1 1 -set $ws2 2 -set $ws3 3 -set $ws4 4 -set $ws5 5 -set $ws6 6 -set $ws7 7 -set $ws8 8 - -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 - -# Move focused container to workspace -bindsym $mod+Ctrl+1 move container to workspace $ws1 -bindsym $mod+Ctrl+2 move container to workspace $ws2 -bindsym $mod+Ctrl+3 move container to workspace $ws3 -bindsym $mod+Ctrl+4 move container to workspace $ws4 -bindsym $mod+Ctrl+5 move container to workspace $ws5 -bindsym $mod+Ctrl+6 move container to workspace $ws6 -bindsym $mod+Ctrl+7 move container to workspace $ws7 -bindsym $mod+Ctrl+8 move container to workspace $ws8 - -# Move to workspace with focused container -bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 - -# Open applications on specific workspaces -# assign [class="Thunderbird"] $ws1 -# assign [class="Pale moon"] $ws2 -# assign [class="Pcmanfm"] $ws3 -# assign [class="Skype"] $ws5 - -# Open specific applications in floating mode -for_window [title="alsamixer"] floating enable border pixel 1 -for_window [class="calamares"] floating enable border normal -for_window [class="Clipgrab"] floating enable -for_window [title="File Transfer*"] floating enable -for_window [class="fpakman"] floating enable -for_window [class="Galculator"] floating enable border pixel 1 -for_window [class="GParted"] floating enable border normal -for_window [title="i3_help"] floating enable sticky enable border normal -for_window [class="Lightdm-settings"] floating enable -for_window [class="Lxappearance"] floating enable sticky enable border normal -for_window [class="Manjaro-hello"] floating enable -for_window [class="Manjaro Settings Manager"] floating enable border normal -for_window [title="MuseScore: Play Panel"] floating enable -for_window [class="Nitrogen"] floating enable sticky enable border normal -for_window [class="Oblogout"] fullscreen enable -for_window [class="octopi"] floating enable -for_window [title="About Pale Moon"] floating enable -for_window [class="Pamac-manager"] floating enable -for_window [class="Pavucontrol"] floating enable -for_window [class="qt5ct"] floating enable sticky enable border normal -for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal -for_window [class="Simple-scan"] floating enable border normal -for_window [class="(?i)System-config-printer.py"] floating enable border normal -for_window [class="Skype"] floating enable border normal -for_window [class="Timeset-gui"] floating enable border normal -for_window [class="(?i)virtualbox"] floating enable border normal -for_window [class="Xfburn"] floating enable - -# switch to workspace with urgent window automatically -for_window [urgent=latest] focus - -# reload the configuration file -bindsym $mod+Shift+c reload - -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart - -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" - -# Set shut down, restart and locking features -bindsym $mod+0 mode "$mode_system" -set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown -mode "$mode_system" { - bindsym l exec --no-startup-id i3exit lock, mode "default" - bindsym s exec --no-startup-id i3exit suspend, mode "default" - bindsym u exec --no-startup-id i3exit switch_user, mode "default" - bindsym e exec --no-startup-id i3exit logout, mode "default" - bindsym h exec --no-startup-id i3exit hibernate, mode "default" - bindsym r exec --no-startup-id i3exit reboot, mode "default" - bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" - - # exit system mode: "Enter" or "Escape" - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Resize window (you can also use the mouse for that) -bindsym $mod+r mode "resize" -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 5 px or 5 ppt - bindsym k resize grow height 5 px or 5 ppt - bindsym l resize shrink height 5 px or 5 ppt - bindsym semicolon resize grow width 5 px or 5 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 5 px or 5 ppt - bindsym Down resize grow height 5 px or 5 ppt - bindsym Up resize shrink height 5 px or 5 ppt - bindsym Right resize grow width 5 px or 5 ppt - - # exit resize mode: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Lock screen -bindsym $mod+9 exec --no-startup-id blurlock - -# Autostart applications -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec --no-startup-id nitrogen --restore; sleep 1; picom -b -#exec --no-startup-id manjaro-hello -exec --no-startup-id nm-applet -exec --no-startup-id xfce4-power-manager -exec --no-startup-id pamac-tray -exec --no-startup-id clipit -# exec --no-startup-id blueman-applet -# exec_always --no-startup-id sbxkb -# exec --no-startup-id start_conky_maia -# exec --no-startup-id start_conky_green -exec --no-startup-id xidlehook --not-when-fullscreen --not-when-audio --timer 600 'blurlock' '' -exec_always --no-startup-id ff-theme-util -exec_always --no-startup-id fix_xcursor - -# Color palette used for the terminal ( ~/.Xresources file ) -# Colors are gathered based on the documentation: -# https://i3wm.org/docs/userguide.html#xresources -# Change the variable name at the place you want to match the color -# of your terminal like this: -# [example] -# If you want your bar to have the same background color as your -# terminal background change the line 362 from: -# background #14191D -# to: -# background $term_background -# Same logic applied to everything else. -set_from_resource $term_background background -set_from_resource $term_foreground foreground -set_from_resource $term_color0 color0 -set_from_resource $term_color1 color1 -set_from_resource $term_color2 color2 -set_from_resource $term_color3 color3 -set_from_resource $term_color4 color4 -set_from_resource $term_color5 color5 -set_from_resource $term_color6 color6 -set_from_resource $term_color7 color7 -set_from_resource $term_color8 color8 -set_from_resource $term_color9 color9 -set_from_resource $term_color10 color10 -set_from_resource $term_color11 color11 -set_from_resource $term_color12 color12 -set_from_resource $term_color13 color13 -set_from_resource $term_color14 color14 -set_from_resource $term_color15 color15 - -# Start i3bar to display a workspace bar (plus the system information i3status if available) -bar { - i3bar_command i3bar - status_command i3blocks - position bottom - - font xft:DejaVu Sans Mono 12.5 - -## please set your primary output first. Example: 'xrandr --output eDP1 --primary' -# tray_output primary -# tray_output eDP1 - - bindsym button4 nop - bindsym button5 nop -# font xft:URWGothic-Book 11 - strip_workspace_numbers yes - - colors { - background #282A36 - statusline #F8F8F2 - separator #44475A - - focused_workspace #44475A #44475A #F8F8F2 - active_workspace #282A36 #44475A #F8F8F2 - inactive_workspace #282A36 #282A36 #BFBFBF - urgent_workspace #FF5555 #FF5555 #F8F8F2 - binding_mode #FF5555 #FF5555 #F8F8F2 - } -} - -# hide/unhide i3status bar -bindsym $mod+m bar mode toggle - -# Theme colors -# class border backgr. text indic. child_border -client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4 -client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A -client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36 -client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555 -client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36 - -client.background #F8F8F2 - -############################# -### settings for i3-gaps: ### -############################# - -# Set inner/outer gaps -gaps inner 7 -gaps outer -1 - -# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size. -# gaps inner|outer current|all set|plus|minus -# gaps inner all set 10 -# gaps outer all plus 5 - -# Smart gaps (gaps used if only more than one container on the workspace) -smart_gaps on - -# Smart borders (draw borders around container only if it is not the only container on this workspace) -# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) -smart_borders on - -# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. -set $mode_gaps Gaps: (o) outer, (i) inner -set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) -set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) -bindsym $mod+Shift+g mode "$mode_gaps" - -mode "$mode_gaps" { - bindsym o mode "$mode_gaps_outer" - bindsym i mode "$mode_gaps_inner" - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_inner" { - bindsym plus gaps inner current plus 5 - bindsym minus gaps inner current minus 5 - bindsym 0 gaps inner current set 0 - - bindsym Shift+plus gaps inner all plus 5 - bindsym Shift+minus gaps inner all minus 5 - bindsym Shift+0 gaps inner all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_outer" { - bindsym plus gaps outer current plus 5 - bindsym minus gaps outer current minus 5 - bindsym 0 gaps outer current set 0 - - bindsym Shift+plus gaps outer all plus 5 - bindsym Shift+minus gaps outer all minus 5 - bindsym Shift+0 gaps outer all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Enable and disable gaps -bindsym $mod+Shift+n gaps inner all set 0; gaps outer all set 0 -bindsym $mod+n gaps inner all set 7; gaps outer all set -1 - -# Deva apps i want to always float -for_window [class="Aeon"] floating enable, sticky enable -for_window [class="Inferno v3.0.1_alpha"] floating enable, sticky enable diff --git a/home/.i3/.i3/config.save b/home/.i3/.i3/config.save deleted file mode 100644 index 65c17a5..0000000 --- a/home/.i3/.i3/config.save +++ /dev/null @@ -1,430 +0,0 @@ -# i3 config file (v4) -# Please see http://i3wm.org/docs/userguide.html for a complete reference! - -# Set mod key (Mod1=, Mod4=) -set $mod Mod4 - -# set default desktop layout (default is tiling) -# workspace_layout tabbed - -# Configure border style -default_border pixel 1 -default_floating_border normal - -# Hide borders -hide_edge_borders none - -# change borders -bindsym $mod+u border none -bindsym $mod+y border pixel 1 -bindsym $mod+n border normal - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font xft:URWGothic-Book 11 - -# Use Mouse+$mod to drag floating windows -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start program launcher -bindsym $mod+d exec --no-startup-id dmenu_recency - -# launch categorized menu -bindsym $mod+z exec --no-startup-id morc_menu - -################################################################################################ -## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## -################################################################################################ - -##exec --no-startup-id volumeicon -##bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' -exec --no-startup-id start-pulseaudio-x11 -exec --no-startup-id pa-applet -bindsym $mod+Ctrl+m exec pavucontrol - -################################################################################################ - -# Screen brightness controls -# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" -# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" - -# Start Applications -bindsym $mod+Ctrl+b exec terminal -e 'bmenu' -bindsym $mod+F2 exec palemoon -bindsym $mod+F3 exec pcmanfm -# bindsym $mod+F3 exec ranger -bindsym $mod+Shift+F3 exec pcmanfm_pkexec -bindsym $mod+F5 exec terminal -e 'mocp' -bindsym $mod+t exec --no-startup-id pkill picom -bindsym $mod+Ctrl+t exec --no-startup-id picom -b -bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" -bindsym Print exec maim -s --format=png /dev/stdout | xclip -selection clipboard -t image/png -i -bindsym $mod+Print --release exec --no-startup-id i3-scrot -w -bindsym $mod+Shift+Print --release exec flameshot --gui -bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf -bindsym $mod+Ctrl+x --release exec --no-startup-id xkill - -# focus_follows_mouse no - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+semicolon focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+semicolon move right - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# workspace back and forth (with/without active container) -workspace_auto_back_and_forth yes -bindsym $mod+b workspace back_and_forth -bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth - -# split orientation -bindsym $mod+h split h;exec notify-send 'tile horizontally' -bindsym $mod+v split v;exec notify-send 'tile vertically' -bindsym $mod+q split toggle - -# toggle fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# toggle sticky -bindsym $mod+Shift+s sticky toggle - -# focus the parent container -bindsym $mod+a focus parent - -# move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show - -#navigate workspaces next / previous -bindsym $mod+Ctrl+Right workspace next -bindsym $mod+Ctrl+Left workspace prev - -# Workspace names -# to display names or symbols instead of plain workspace numbers you can use -# something like: set $ws1 1:mail -# set $ws2 2: -set $ws1 1 -set $ws2 2 -set $ws3 3 -set $ws4 4 -set $ws5 5 -set $ws6 6 -set $ws7 7 -set $ws8 8 - -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 - -# Move focused container to workspace -bindsym $mod+Ctrl+1 move container to workspace $ws1 -bindsym $mod+Ctrl+2 move container to workspace $ws2 -bindsym $mod+Ctrl+3 move container to workspace $ws3 -bindsym $mod+Ctrl+4 move container to workspace $ws4 -bindsym $mod+Ctrl+5 move container to workspace $ws5 -bindsym $mod+Ctrl+6 move container to workspace $ws6 -bindsym $mod+Ctrl+7 move container to workspace $ws7 -bindsym $mod+Ctrl+8 move container to workspace $ws8 - -# Move to workspace with focused container -bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 - -# Open applications on specific workspaces -# assign [class="Thunderbird"] $ws1 -# assign [class="Pale moon"] $ws2 -# assign [class="Pcmanfm"] $ws3 -# assign [class="Skype"] $ws5 - -# Open specific applications in floating mode -for_window [title="alsamixer"] floating enable border pixel 1 -for_window [class="calamares"] floating enable border normal -for_window [class="Clipgrab"] floating enable -for_window [title="File Transfer*"] floating enable -for_window [class="fpakman"] floating enable -for_window [class="Galculator"] floating enable border pixel 1 -for_window [class="GParted"] floating enable border normal -for_window [title="i3_help"] floating enable sticky enable border normal -for_window [class="Lightdm-settings"] floating enable -for_window [class="Lxappearance"] floating enable sticky enable border normal -for_window [class="Manjaro-hello"] floating enable -for_window [class="Manjaro Settings Manager"] floating enable border normal -for_window [title="MuseScore: Play Panel"] floating enable -for_window [class="Nitrogen"] floating enable sticky enable border normal -for_window [class="Oblogout"] fullscreen enable -for_window [class="octopi"] floating enable -for_window [title="About Pale Moon"] floating enable -for_window [class="Pamac-manager"] floating enable -for_window [class="Pavucontrol"] floating enable -for_window [class="qt5ct"] floating enable sticky enable border normal -for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal -for_window [class="Simple-scan"] floating enable border normal -for_window [class="(?i)System-config-printer.py"] floating enable border normal -for_window [class="Skype"] floating enable border normal -for_window [class="Timeset-gui"] floating enable border normal -for_window [class="(?i)virtualbox"] floating enable border normal -for_window [class="Xfburn"] floating enable - -# switch to workspace with urgent window automatically -for_window [urgent=latest] focus - -# reload the configuration file -bindsym $mod+Shift+c reload - -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart - -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" - -# Set shut down, restart and locking features -bindsym $mod+0 mode "$mode_system" -set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown -mode "$mode_system" { - bindsym l exec --no-startup-id i3exit lock, mode "default" - bindsym s exec --no-startup-id i3exit suspend, mode "default" - bindsym u exec --no-startup-id i3exit switch_user, mode "default" - bindsym e exec --no-startup-id i3exit logout, mode "default" - bindsym h exec --no-startup-id i3exit hibernate, mode "default" - bindsym r exec --no-startup-id i3exit reboot, mode "default" - bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" - - # exit system mode: "Enter" or "Escape" - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Resize window (you can also use the mouse for that) -bindsym $mod+r mode "resize" -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 5 px or 5 ppt - bindsym k resize grow height 5 px or 5 ppt - bindsym l resize shrink height 5 px or 5 ppt - bindsym semicolon resize grow width 5 px or 5 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 5 px or 5 ppt - bindsym Down resize grow height 5 px or 5 ppt - bindsym Up resize shrink height 5 px or 5 ppt - bindsym Right resize grow width 5 px or 5 ppt - - # exit resize mode: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Lock screen -bindsym $mod+9 exec --no-startup-id blurlock - -# Autostart applications -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec --no-startup-id nitrogen --restore; sleep 1; picom -b -#exec --no-startup-id manjaro-hello -exec --no-startup-id nm-applet -exec --no-startup-id xfce4-power-manager -exec --no-startup-id pamac-tray -exec --no-startup-id clipit -# exec --no-startup-id blueman-applet -# exec_always --no-startup-id sbxkb -exec --no-startup-id start_conky_maia -# exec --no-startup-id start_conky_green -exec --no-startup-id xautolock -time 10 -locker blurlock -exec_always --no-startup-id ff-theme-util -exec_always --no-startup-id fix_xcursor - -# Color palette used for the terminal ( ~/.Xresources file ) -# Colors are gathered based on the documentation: -# https://i3wm.org/docs/userguide.html#xresources -# Change the variable name at the place you want to match the color -# of your terminal like this: -# [example] -# If you want your bar to have the same background color as your -# terminal background change the line 362 from: -# background #14191D -# to: -# background $term_background -# Same logic applied to everything else. -set_from_resource $term_background background -set_from_resource $term_foreground foreground -set_from_resource $term_color0 color0 -set_from_resource $term_color1 color1 -set_from_resource $term_color2 color2 -set_from_resource $term_color3 color3 -set_from_resource $term_color4 color4 -set_from_resource $term_color5 color5 -set_from_resource $term_color6 color6 -set_from_resource $term_color7 color7 -set_from_resource $term_color8 color8 -set_from_resource $term_color9 color9 -set_from_resource $term_color10 color10 -set_from_resource $term_color11 color11 -set_from_resource $term_color12 color12 -set_from_resource $term_color13 color13 -set_from_resource $term_color14 color14 -set_from_resource $term_color15 color15 - -# Start i3bar to display a workspace bar (plus the system information i3status if available) -bar { - i3bar_command i3bar - status_command i3status - position bottom - -## please set your primary output first. Example: 'xrandr --output eDP1 --primary' -# tray_output primary -# tray_output eDP1 - - bindsym button4 nop - bindsym button5 nop -# font xft:URWGothic-Book 11 - strip_workspace_numbers yes - - colors { - background #222D31 - statusline #F9FAF9 - separator #454947 - -# border backgr. text - focused_workspace #F9FAF9 #16a085 #292F34 - active_workspace #595B5B #353836 #FDF6E3 - inactive_workspace #595B5B #222D31 #EEE8D5 - binding_mode #16a085 #2C2C2C #F9FAF9 - urgent_workspace #16a085 #FDF6E3 #E5201D - } -} - -# hide/unhide i3status bar -bindsym $mod+m bar mode toggle - -# Theme colors -# class border backgr. text indic. child_border - client.focused #556064 #556064 #80FFF9 #FDF6E3 - client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 - client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 - client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 - client.placeholder #000000 #0c0c0c #ffffff #000000 - - client.background #2B2C2B - -############################# -### settings for i3-gaps: ### -############################# - -# Set inner/outer gaps -gaps inner 7 -gaps outer -1 - -# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size. -# gaps inner|outer current|all set|plus|minus -# gaps inner all set 10 -# gaps outer all plus 5 - -# Smart gaps (gaps used if only more than one container on the workspace) -smart_gaps on - -# Smart borders (draw borders around container only if it is not the only container on this workspace) -# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) -smart_borders on - -# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. -set $mode_gaps Gaps: (o) outer, (i) inner -set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) -set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) -bindsym $mod+Shift+g mode "$mode_gaps" - -mode "$mode_gaps" { - bindsym o mode "$mode_gaps_outer" - bindsym i mode "$mode_gaps_inner" - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_inner" { - bindsym plus gaps inner current plus 5 - bindsym minus gaps inner current minus 5 - bindsym 0 gaps inner current set 0 - - bindsym Shift+plus gaps inner all plus 5 - bindsym Shift+minus gaps inner all minus 5 - bindsym Shift+0 gaps inner all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "$mode_gaps_outer" { - bindsym plus gaps outer current plus 5 - bindsym minus gaps outer current minus 5 - bindsym 0 gaps outer current set 0 - - bindsym Shift+plus gaps outer all plus 5 - bindsym Shift+minus gaps outer all minus 5 - bindsym Shift+0 gaps outer all set 0 - - bindsym Return mode "default" - bindsym Escape mode "default" -} - - -# Dev for Aeon I want it to always float -for_window [class="Aeon"] floating enable, sticky enable -for_window [ - -# For pip on vivaldi -#for_window [app_id="firefox" title="^Picture-in-Picture$"] floating enable, sticky enable - -# For chrome tab dragging -exec_always --no-startup-id ~/.i3/i3-chrome-tab-dragging.py - diff --git a/home/.i3/.i3/i3-chrome-tab-dragging b/home/.i3/.i3/i3-chrome-tab-dragging deleted file mode 160000 index 88d810c..0000000 --- a/home/.i3/.i3/i3-chrome-tab-dragging +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 88d810c1cb2994498914ad80a1b88a6e5871a255 diff --git a/home/.i3/i3-chrome-tab-dragging.py b/home/.i3/i3-chrome-tab-dragging.py deleted file mode 100755 index 7424ca2..0000000 --- a/home/.i3/i3-chrome-tab-dragging.py +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env python3 -# vi:expandtab tabstop=4 -# This is intended to be run when i3 starts it will exit on restart; make sure -# to use "exec_always --no-startup-id" to run this -from argparse import ArgumentParser -from pynput.mouse import Listener, Button -from i3ipc import Connection, Event - -# Constants -browser_classes = [ - "Google-chrome", - "Chromium", - "Brave-browser", -] - -# Global Variables -mouse_pressed = False -current_window = None - -# Called by mouse listener when the mouse is clicked -def on_click(x, y, button, pressed): - global mouse_pressed - global current_window - - # we want to store the status of the left mouse button - if button == Button.left: - mouse_pressed = pressed - - # if the button is released and we were currently dragging a window, unfloat it - if not pressed and current_window: - current_window.command('floating disable') - current_window = None - -# Called by i3 when a new window is created -def on_window_new(i3, e): - global current_window - - # we only care about chromium windows - if e.container.window_class in browser_classes: - # only switch to floating mode if the user is currently dragging (=mouse button pressed) - if mouse_pressed: - e.container.command('floating enable') - - # store the reference to the window, so we can unfloat it later - current_window = e.container - - -def main(args): - i3 = Connection() - i3.on(Event.WINDOW_NEW, on_window_new) - - with Listener(on_click=on_click) as listener: - i3.main() - - -if __name__ == "__main__": - parser = ArgumentParser() - - parser.add_argument("-v", "--verbose", action="count") - args = parser.parse_args() - - main(args) diff --git a/laptop/i3blocks/config b/laptop/i3blocks/config new file mode 100644 index 0000000..47479ad --- /dev/null +++ b/laptop/i3blocks/config @@ -0,0 +1,30 @@ +[NOW_PLAYING] +command=mpris-ctl info '🎶 %player_name: %track_name - %artist_name' +interval=1 +color=#1DB954 + +[DISK] +command=df -h / | awk '/\//{ printf(" 💾 %sB \n", $4) }' +interval=10 +color=#C9E3DB + +[CPU] +full_text= CPU: 0.00% @ +00.0°C +command=~/.config/i3blocks/cpu/cpu_info.sh +interval=2 +color=#0071C5 + +[GPU] +full_text= GPU: +command=~/.config/i3blocks/gpu/gpu_info.sh +interval=2 +color=#76B900 + +[MEM] +command=free -h | awk '/Mem:/ { printf(" %5s/%s \n", $3, $2) }' +interval=5 +color=#FEC925 + +[TIME_DATE] +command=date +" %a, %d %b - %H:%M:%S" +interval=1