diff options
Diffstat (limited to 'archive')
-rwxr-xr-x | archive/XMonad/baraction | 58 | ||||
-rw-r--r-- | archive/XMonad/xmonad.hs | 243 | ||||
-rwxr-xr-x | archive/awesome/rc.lua | 569 | ||||
-rw-r--r-- | archive/awesome/theme.lua | 140 | ||||
-rw-r--r-- | archive/fish/config.fish | 20 | ||||
-rw-r--r-- | archive/fish/fish_variables | 33 | ||||
-rw-r--r-- | archive/fish/functions/fish_prompt.fish | 23 |
7 files changed, 1086 insertions, 0 deletions
diff --git a/archive/XMonad/baraction b/archive/XMonad/baraction new file mode 100755 index 00000000..70316740 --- /dev/null +++ b/archive/XMonad/baraction @@ -0,0 +1,58 @@ +#!/bin/zsh + +get_date_time() { + datetime=$(date +"%d %b(%A) %H:%M") + echo $datetime +} + +get_dnd_status() { + dnd_status=$(</tmp/dnd_status) + if [ $dnd_status = "on" ]; then + echo "%{F#232627}%{B#f70258}" "サイレント" "%{F-}%{B-}" + fi +} + +get_cpu_load() { + read cpu a b c previdle rest < /proc/stat + prevtotal=$((a+b+c+previdle)) + sleep 0.5 + read cpu a b c idle rest < /proc/stat + total=$((a+b+c+idle)) + cpu=$((100*( (total-prevtotal) - (idle-previdle) ) / (total-prevtotal) )) + echo -e "CPU: $cpu%" +} + +get_cpu_temp() { + CEL=$'\xc2\xb0C' + temp=$( cat /sys/devices/virtual/thermal/thermal_zone0/temp ) + temp=`expr $temp / 1000` + echo "TEMP: " $temp$CEL +} + +get_disk_usage() { + root=$(df -h / | awk 'NR==2 {print $4 "/" $2}') + home=$(df -h /home | awk 'NR==2 {print $4 "/" $2}') + echo "ROOT:" $root " %{B-} " "%{B#E6739F} HOME:" $home " " +} + +get_mem_usage() { + mem=$(free -m | grep Mem: | awk '{print$3 / $2 * 100}') + printf "MEM: %.0f %%" $mem +} + +get_mute_status() { + vol=$(pamixer --get-volume-human) + if [ $vol = "muted" ] + then + echo "%{B#F15BB5}%{F#232627} ミュート" + fi +} + +get_weather() { + echo $(</tmp/weather_stat) +} + +while :; do + echo "%{B#FD3A69}%{F#232627} " $(get_disk_usage) "%{B-} %{B#FECD1A} " $(get_cpu_load) "%{B-} %{B#03C4A1}" $(get_cpu_temp) "%{B-} %{B#00BBF9}" $(get_mem_usage) "%{c}%{F-}%{B-}%{r}" $(get_dnd_status) $(get_mute_status) "%{B-}%{F-} %{B#9B5DE5}%{F#FCFCFC}" $(get_weather) "%{B-} %{B#892CDC}%{F#FCFCFC} " $(get_date_time) " %{F-}%{B-}" + sleep 3 +done diff --git a/archive/XMonad/xmonad.hs b/archive/XMonad/xmonad.hs new file mode 100644 index 00000000..f6661106 --- /dev/null +++ b/archive/XMonad/xmonad.hs @@ -0,0 +1,243 @@ +import XMonad +import qualified XMonad.StackSet as W +import XMonad.ManageHook + +-- actions +import XMonad.Actions.CycleWS (moveTo, shiftTo, WSType(..), nextScreen, prevScreen) +import XMonad.Actions.CopyWindow +import XMonad.Actions.CycleWS +import XMonad.Actions.GridSelect +import XMonad.Actions.SwapWorkspaces +import XMonad.Actions.WindowBringer +import XMonad.Actions.MouseResize + +-- layouts modifiers +import XMonad.Layout.Spacing +import XMonad.Layout.LayoutModifier +import XMonad.Layout.WindowNavigation as WN + +-- Layouts +import XMonad.Layout.AvoidFloats +import XMonad.Layout.BinarySpacePartition as BSP +import XMonad.Layout.CenteredMaster +import XMonad.Layout.Grid +import XMonad.Layout.ThreeColumns +import XMonad.Layout.TwoPane +import XMonad.Layout.Spiral +import XMonad.Layout.ResizableTile +import XMonad.Layout.Tabbed + +-- hooks +import XMonad.Hooks.SetWMName +import XMonad.Hooks.ManageDocks +import XMonad.Hooks.DynamicLog +-- import XMonad.Hooks.FadeInactive + +-- utilities +import XMonad.Util.SpawnOnce +import XMonad.Util.EZConfig (additionalKeys) +import XMonad.Util.Cursor +import XMonad.Util.Paste +import XMonad.Util.Run +import XMonad.Util.NamedScratchpad + +myStartupHook :: X () +myStartupHook = do + spawnOnce "/home/zt/.xmonad/baraction | lemonbar -g 1366x21+0+0 -B '#171520' -F '#ffffff' -f 'Source Han Sans JP:size=10' -n 'XMobar'" + spawnOnce "/home/zt/.config/scripts/weather" + spawnOnce "nitrogen --restore &" + spawnOnce "picom &" + spawnOnce "deadd-notification-center &" + spawnOnce "firefox &" + spawnOnce "vivaldi &" + spawnOnce "sxhkd &" + spawnOnce "weather" + -- spawnOnce "betterlockscreen -l -t 'Welcome, Vidhu Kant!'" + spawnOnce "sleep 3; trayer --align center --edge top --width 20 --height 21 --expand true --distance 90 --distancefrom right --tint 0x171520 --transparent true --alpha 0 --iconspacing 8" + setWMName "Oppai" + setDefaultCursor xC_left_ptr + + +windowCount :: X (Maybe String) +windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset + + +-- defaults + +-- myFont :: String +-- myFont = "Roboto" + +myModMask :: KeyMask +myModMask = mod4Mask + +myTerminal :: String +myTerminal = "st" + +myDmenu :: String +myDmenu = "run_dmenu" + +myBrowser :: String +myBrowser = "firefox" + +-- myEditor :: String +-- myEditor = "vim" + +-- wm variables + +nBorder = "#000000" -- "#3804f4" -- "#bf00ff" +fBorder = "#6e02fc" + +myBorderWidth = 1 + +sGap = 0 -- screen gap +wGap = 1 -- window gap + +myExtraWorkspaces = [(xK_0, " 十 ")] +myWorkspaces = [" 一 "," 二 "," 三 "," 四 "," 五 "," 六 "," 七 "," 八 ", " 九 "] ++ (map snd myExtraWorkspaces) + + + +-- scratchpad config +myScratchpads = [ +-- NS "Vysor" "Vysor.AppImage" (title =? "Vysor") defaultFloating + NS "Phone" "scrcpy" (title =? "Motorola One Power") defaultFloating, + NS "T1" "st -t 'T1'" (title =? "T1") defaultFloating, + NS "T2" "st -t 'T2'" (title =? "T2") defaultFloating, + NS "Nitrogen" "nitrogen" (title =? "Nitrogen") defaultFloating + ] where role = stringProperty "WM_WINDOW_ROLE" + + +-- keybindings +myKeys = [ + ((mod4Mask, xK_Return), spawn (myTerminal)) + , ((mod1Mask, xK_p), spawn "/home/zt/.config/scripts/run_dmenu") + , ((mod1Mask, xK_w), kill1) + , ((mod1Mask .|. shiftMask, xK_k), kill1) + , ((mod1Mask, xK_o), withFocused $ windows . W.sink) -- unfloat windows + + -- scratchpad keybindings + , ((mod4Mask, xK_p), namedScratchpadAction myScratchpads "Phone") + , ((mod4Mask, xK_o), namedScratchpadAction myScratchpads "T1") + , ((mod4Mask, xK_i), namedScratchpadAction myScratchpads "T2") + , ((mod4Mask, xK_w), namedScratchpadAction myScratchpads "Nitrogen") + + -- view prev/next workspaces + , ((mod1Mask, xK_h), prevWS) + , ((mod1Mask, xK_l), nextWS) + + -- move to prev/next workspaces + , ((mod1Mask .|. shiftMask, xK_h), shiftToPrev >> prevWS) + , ((mod1Mask .|. shiftMask, xK_l), shiftToNext >> nextWS) + + -- modify gaps on runtime + , ((mod1Mask, xK_equal), incWindowSpacing 1) + , ((mod1Mask, xK_minus), decWindowSpacing 1) + , ((mod1Mask .|. shiftMask, xK_equal), incScreenSpacing 1) + , ((mod1Mask .|. shiftMask, xK_minus), decScreenSpacing 1) + + , ((mod4Mask .|. shiftMask, xK_Return), windows W.swapMaster) -- Swap the focused window and the master window + + -- these keybindings are for WindowNavigation + -- and they conflict with BSP layout + + -- directional navigation of windows + , ((mod4Mask, xK_l), sendMessage $ Go R) + , ((mod4Mask, xK_h), sendMessage $ Go L) + , ((mod4Mask, xK_k), sendMessage $ Go U) + , ((mod4Mask, xK_j), sendMessage $ Go D) + + -- swap windows + , ((mod4Mask .|. shiftMask, xK_l), sendMessage $ WN.Swap R) + , ((mod4Mask .|. shiftMask, xK_h), sendMessage $ WN.Swap L) + , ((mod4Mask .|. shiftMask, xK_k), sendMessage $ WN.Swap U) + , ((mod4Mask .|. shiftMask, xK_j), sendMessage $ WN.Swap D) + + -- cycle through windows + , ((mod1Mask, xK_j), windows W.focusDown) + , ((mod1Mask, xK_k), windows W.focusUp) + + -- grid select + , ((mod1Mask, xK_n), goToSelected defaultGSConfig) + + -- windowbringer + , ((mod1Mask, xK_b), bringMenu) + , ((mod1Mask, xK_g), gotoMenu) + + -- paste x selection + , ((0, xK_Insert), pasteSelection) + + -- toggle bars + , ((mod1Mask, xK_backslash), sendMessage ToggleStruts) -- toggle both bars + , ((mod1Mask, xK_bracketleft), sendMessage $ ToggleStrut D) -- toggle bottom bar + , ((mod1Mask, xK_bracketright), sendMessage $ ToggleStrut U) -- toggle top bar + + -- BSP layout keybindings + -- resize + , ((mod4Mask .|. mod1Mask, xK_l ), sendMessage $ ExpandTowards R) + , ((mod4Mask .|. mod1Mask, xK_h ), sendMessage $ ExpandTowards L) + , ((mod4Mask .|. mod1Mask, xK_j ), sendMessage $ ExpandTowards D) + , ((mod4Mask .|. mod1Mask, xK_k ), sendMessage $ ExpandTowards U) + , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_l ), sendMessage $ ShrinkFrom R) + , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_h ), sendMessage $ ShrinkFrom L) + , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_j ), sendMessage $ ShrinkFrom D) + , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_k ), sendMessage $ ShrinkFrom U) + -- other + , ((mod1Mask, xK_r ), sendMessage Rotate) + , ((mod1Mask, xK_s ), sendMessage BSP.Swap) +-- , ((mod4Mask .|. shiftMask .|. controlMask , xK_j ), sendMessage $ SplitShift Prev) +-- , ((mod4Mask .|. shiftMask .|. controlMask , xK_k ), sendMessage $ SplitShift Next) + + + + ] ++ [ -- for extra workspace(s) + ((myModMask, key), (windows $ W.greedyView ws)) + | (key,ws) <- myExtraWorkspaces + ] ++ [ -- also for extra workspaces + ((myModMask .|. shiftMask, key), (windows $ W.shift ws)) + | (key,ws) <- myExtraWorkspaces + ] ++ [ -- to swap workspaces + ((mod4Mask .|. controlMask, k), windows $ swapWithCurrent i) + | (i, k) <- zip myWorkspaces [xK_1 ..] + ] + + + +-- layouts +myGap = spacingRaw False (Border sGap sGap sGap sGap) True (Border wGap wGap wGap wGap) True + +myLayouts = avoidStruts $ mouseResize $ windowNavigation $ myGap $ emptyBSP ||| ThreeColMid 1 (3/100) (1/2) ||| Grid ||| TwoPane (3/100) (1/2) ||| ThreeCol 1 (3/100) (1/2) ||| ThreeCol 2 (3/100) (1/2) ||| topRightMaster emptyBSP + +myLayoutHook = myLayouts + + +myLemonbarPP = def {ppCurrent = wrap "%{F#6c71c4}%{B#d33682}%{F-}" "%{F#d33682}%{B-}%{F-}" + , ppWsSep = " " + , ppHidden = wrap "%{B#268bd2}" "%{B-}" + , ppHiddenNoWindows = wrap "%{F#02fc45}" "%{F-}" + , ppTitle = wrap " %{B#6c71c4}%{F#f0f0f0} " " %{B-}" . shorten 75 + , ppUrgent = wrap "%{B#9cfc02} " " %{B-}%{F-}" + , ppLayout = wrap "%{r}%{B#99B1D5}%{F#232627} " " %{B-} " + , ppSep = " " + , ppExtras = [windowCount] + , ppOrder = \(ws:l:t:ex) -> [ws]++[t]++[l]++["%{B#50FA7B}%{F#232627} WIN:"]++ex++["%{B-}%{F-} "] + } + +main = do + notXMobar <- spawnPipe "lemonbar -b -g 1366x21+0+0 -B '#171520' -F '#ffffff' -f 'Source Han Sans JP:size=10' -o -3 -f 'RobotoMono Nerd Font:style=Regular:size=15' -f -n 'notXMobar' -o 0" + xmonad $ docks def + { + terminal = myTerminal, + focusFollowsMouse = True, + borderWidth = myBorderWidth, + modMask = myModMask, + workspaces = myWorkspaces, + normalBorderColor = nBorder, + focusedBorderColor = fBorder, + -- mouseBindings = myMouseBindings, + layoutHook = myLayoutHook, + manageHook = namedScratchpadManageHook myScratchpads, + -- handleEventHook = myEventHook, + logHook = dynamicLogWithPP myLemonbarPP { ppOutput = \x -> hPutStrLn notXMobar x}, + startupHook = myStartupHook +} `additionalKeys` myKeys + diff --git a/archive/awesome/rc.lua b/archive/awesome/rc.lua new file mode 100755 index 00000000..3436c68a --- /dev/null +++ b/archive/awesome/rc.lua @@ -0,0 +1,569 @@ +pcall(require, "luarocks.loader") +local gears = require("gears") +local awful = require("awful") +require("awful.autofocus") +local wibox = require("wibox") +local beautiful = require("beautiful") +local naughty = require("naughty") +-- local menubar = require("menubar") + +-- {{{ Error handling +-- Check if awesome encountered an error during startup and fell back to +-- another config (This code will only ever execute for the fallback config) +if awesome.startup_errors then + naughty.notify({ preset = naughty.config.presets.critical, + title = "WHO FUCKED UP rc.lua", + text = awesome.startup_errors }) +end + +-- Handle runtime errors after startup +do + local in_error = false + awesome.connect_signal("debug::error", function (err) + -- Make sure we don't go into an endless error loop + if in_error then return end + in_error = true + + naughty.notify({ preset = naughty.config.presets.critical, + title = "Shit's fucked dude", + text = tostring(err) }) + in_error = false + end) +end +-- }}} + +-- actual config starts here +-- Themes define colours, icons, font and wallpapers. +beautiful.init(gears.filesystem.get_configuration_dir() .. "theme.lua") + +-- variable declarations +modkey = "Mod4" + +-- app defaults +terminal = "st" +launcher = "run_dmenu" + +-- terminal apps +editor = "nvim" +termFileManager = "ranger" +sysMonitor = "bashtop" +-- terminal app commands +editor_cmd = terminal .. " -e " .. editor +termFileManager_cmd = terminal .. " -e " .. termFileManager +sysMonitor_cmd = terminal .. " -e " .. sysMonitor + +-- gui apps +fileManager = "pcmanfm" +browser = "firefox" +emailClient = "thunderbird" + +-- system commands +screenshot = "scrot /zt/Screenshots/Screenshot-%Y-%d-%m--%T.png" +screenLock = "betterlockscreen -l -t 'pee pee poo poo'" + +-- volume commands +volumeUp = "pulseaudio-ctl up" +volumeDown = "pulseaudio-ctl down" +toggleMute = "pulseaudio-ctl mute" + +-- Table of layouts to cover with awful.layout.inc, order matters. +awful.layout.layouts = { + awful.layout.suit.fair, + awful.layout.suit.spiral.dwindle, + awful.layout.suit.max, + awful.layout.suit.magnifier, + awful.layout.suit.floating, + awful.layout.suit.tile.left, + awful.layout.suit.fair.horizontal, +-- awful.layout.suit.max.fullscreen, +-- awful.layout.suit.corner.nw, +-- awful.layout.suit.tile, +-- awful.layout.suit.tile.bottom, +-- awful.layout.suit.tile.top, +-- awful.layout.suit.spiral, +-- awful.layout.suit.corner.ne, +-- awful.layout.suit.corner.sw, +-- awful.layout.suit.corner.se, +} + +-- Keyboard map indicator and switcher +mykeyboardlayout = awful.widget.keyboardlayout() + +-- {{{ Wibar +-- Create a textclock widget +mytextclock = wibox.widget.textclock() + +-- Create a wibox for each screen and add it +local taglist_buttons = gears.table.join( + awful.button({ }, 1, function(t) t:view_only() end), + awful.button({ modkey }, 1, function(t) + if client.focus then + client.focus:move_to_tag(t) + end + end), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, function(t) + if client.focus then + client.focus:toggle_tag(t) + end + end), + awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) + ) + +local tasklist_buttons = gears.table.join( + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + c:emit_signal( + "request::activate", + "tasklist", + {raise = true} + ) + end + end), + awful.button({ }, 3, function() + awful.menu.client_list({ theme = { width = 250 } }) + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + end)) + +local function set_wallpaper(s) + -- Wallpaper + if beautiful.wallpaper then + local wallpaper = beautiful.wallpaper + -- If wallpaper is a function, call it with the screen + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + end +end + +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", set_wallpaper) + +awful.screen.connect_for_each_screen(function(s) + -- Wallpaper +-- set_wallpaper(s) + + -- Each screen has its own tag table. + awful.tag({ "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" }, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + -- s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contain an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(gears.table.join( + awful.button({ }, 1, function () awful.layout.inc( 1) end), + awful.button({ }, 3, function () awful.layout.inc(-1) end), + awful.button({ }, 4, function () awful.layout.inc( 1) end), + awful.button({ }, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist { + screen = s, + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons + } + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.minimizedcurrenttags, + buttons = tasklist_buttons + } + + s.showcurrenttag = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.focused, + buttons = tasklist_buttons + } + + -- Create the wibox + s.mywibox = awful.wibar({ position = "bottom", screen = s }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + mylauncher, + wibox.widget.systray(), + s.mytaglist, + s.mypromptbox, + }, + { -- Middle widgets + layout = wibox.layout.flex.horizontal, + s.showcurrenttag, + }, +-- { -- minimized tasks +-- layout = wibox.layout.fixed.horizontal, +-- s.mytasklist, +-- }, + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + s.mytasklist, + mykeyboardlayout, + mytextclock, + s.mylayoutbox, + }, + } +end) +-- }}} + +-- {{{ Mouse bindings +root.buttons(gears.table.join( + awful.button({ }, 3, function() sh("nitrogen") end), + awful.button({ }, 5, awful.tag.viewnext), + awful.button({ }, 4, awful.tag.viewprev) +)) +-- }}} + +-- my custom keybindings to spawn +-- apps or execute scripts and shit +myKeys = gears.table.join( + awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end), + awful.key({ modkey, }, "p", function () awful.spawn(launcher) end), + awful.key({ modkey, }, "q", function () awful.spawn(screenLock) end), + awful.key({ modkey, "Shift" }, "Return", function () awful.spawn(screenshot) end), + + -- gui apps + awful.key({ modkey, }, "i", function () awful.spawn(browser) end), + awful.key({ modkey, }, "s", function () awful.spawn(fileManager) end), + awful.key({ modkey, }, "w", function () awful.spawn("nitrogen") end), + awful.key({ modkey, }, "y", function () awful.spawn("gimp") end), + awful.key({ modkey, }, "e", function () awful.spawn(emailClient) end), + + -- terminal apps + awful.key({ modkey, }, "r", function () awful.spawn(termFileManager_cmd) end), + awful.key({ modkey, }, "a", function () awful.spawn(sysMonitor_cmd) end), + awful.key({ modkey, "Shift", }, "w", function () awful.spawn("nitrogen --restore") end), + + -- volume controls + awful.key({ "Mod1", }, "j", function () awful.spawn(volumeDown) end), + awful.key({ "Mod1", }, "k", function () awful.spawn(volumeUp) end), + awful.key({ "Mod1", }, "m", function () awful.spawn(toggleMute) end), + awful.key({ "Mod1", }, "n", function () awful.spawn("pavucontrol") end) +) + +-- for window navigation with hjkl +-- i.e vim movement keys +vimNavKeys = gears.table.join( + awful.key({ modkey, }, "j", function () awful.client.focus.bydirection("down") + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "k", function () awful.client.focus.bydirection("up") + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "h", function () awful.client.focus.bydirection("left") + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "l", function () awful.client.focus.bydirection("right") + if client.focus then client.focus:raise() end + end) +) + +-- for manipulating layout with hjkl +-- i.e move windows with vim movement keys +vimLayoutKeys = gears.table.join( + awful.key({ modkey, "Shift", }, "h", function () awful.client.swap.bydirection("left") end), + awful.key({ modkey, "Shift", }, "j", function () awful.client.swap.bydirection("down") end), + awful.key({ modkey, "Shift", }, "k", function () awful.client.swap.bydirection("up") end), + awful.key({ modkey, "Shift", }, "l", function () awful.client.swap.bydirection("right") end) +) + +layoutKeys = gears.table.join( + -- cycle through layouts + awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end), + + -- I need these to resize window in magnifier layout + -- increase master width factor + awful.key({ modkey, }, "[", function () awful.tag.incmwfact( 0.05) end), + -- decrease master width factor + awful.key({ modkey, }, "]", function () awful.tag.incmwfact(-0.05) end) +) + +-- keybindings to navigate b/w monitors +-- I don't use them +multiMonitorNavKeys = gears.table.join( + -- focus next screen + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end), + -- focus preious screen + awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end) +) + +tagKeys = gears.table.join( + -- cycle tabs using h and l + awful.key({ "Mod1", }, "h", awful.tag.viewprev), + awful.key({ "Mod1", }, "l", awful.tag.viewnext), + -- go back to last tag + awful.key({ "Mod1", }, "Tab", awful.tag.history.restore), + + -- view scrcpy tag + awful.key({ modkey, }, "o", function() awful.tag.viewtoggle(phoneTag) end), + + -- switch to extra tags + awful.key({ modkey, }, "-", function() awful.tag.viewonly(tag11) end), + awful.key({ modkey, }, "=", function() awful.tag.viewonly(tag12) end), + + -- view (copy) extra tags + awful.key({ "Mod1", }, "-", function() awful.tag.viewtoggle(tag11) end), + awful.key({ "Mod1", }, "=", function() awful.tag.viewtoggle(tag12) end), + + -- move client to extra tags + awful.key({ modkey, "Shift", }, "-", function() + if client.focus then + client.focus:move_to_tag(tag11) + end + end), + awful.key({ modkey, "Shift", }, "=", function() + if client.focus then + client.focus:move_to_tag(tag12) + end + end), + + -- toggle extra tags on client + awful.key({ "Mod1", "Shift", }, "-", function() + if client.focus then + client.focus:toggle_tag(tag11) + end + end), + awful.key({ "Mod1", "Shift", }, "=", function() + if client.focus then + client.focus:toggle_tag(tag12) + end + end), + + -- modify gaps + awful.key({ "Mod1", "Shift", }, "j", function() + beautiful.useless_gap = beautiful.useless_gap - 1 + end), + awful.key({ "Mod1", "Shift", }, "k", function() + beautiful.useless_gap = beautiful.useless_gap + 1 + end) +) + +-- keybindings to handle clients +-- i.e minimizing, maximizing, hiding, closing windows +clientkeys = gears.table.join( + -- kill client + awful.key({ "Mod1", }, "w", function (c) c:kill() end), + + -- toggle fulscreen + awful.key({ modkey, }, "f", function (c) + c.fullscreen = not c.fullscreen + c:raise() end), + + -- minimize focused client + awful.key({ modkey, }, "m", + function (c) c.minimized = true end), + -- unminimize clients + -- somehow this doesn't work if every + -- client on current tag is minimized + awful.key({ modkey, }, "g", + function () + local c = awful.client.restore() + -- Focus restored client + if c then + c:emit_signal( + "request::activate", "key.unminimize", {raise = true} + ) + end + end), + + -- float/unfloat window + awful.key({ modkey, }, "d", awful.client.floating.toggle), + -- keep window on top + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end), + + -- (un)maximize client + awful.key({ modkey, }, "n", function (c) + c.maximized = not c.maximized + c:raise() end), + -- (un)maximize client vertically + awful.key({ modkey, }, "v", function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() end), + -- (un)maximize client horizontally + awful.key({ modkey, }, "b", function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() end), + + -- jump to urgent client + awful.key({ modkey, }, "u", awful.client.urgent.jumpto), + + -- focus previous client + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end), + + -- move client to master + awful.key({ "Mod1", }, "Return", function (c) c:swap(awful.client.getmaster()) end) +) + +awesomeKeys = gears.table.join( + awful.key({ modkey, "Control" }, "r", awesome.restart), + awful.key({ modkey, "Control" }, "q", awesome.quit) +) + +globalkeys = gears.table.join( + awesomeKeys, + vimNavKeys, + multiMonitorNavKeys, + vimLayoutKeys, + layoutKeys, + tagKeys, + myKeys +) + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it work on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 10 do + globalkeys = gears.table.join(globalkeys, + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end), + -- Toggle tag display. + awful.key({ "Mod1" }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end), + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end), + -- Toggle tag on focused client. + awful.key({ "Mod1", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end) + ) +end + +-- extra tag functionality +-- not packed inside a function +-- because I'm bad at lua +-- these variables need to be global + +tag11 = awful.tag.add("十一", { + screen = awful.screen.focused(), + layout = awful.layout.suit.floating, +}) +tag12 = awful.tag.add("十二", { + screen = awful.screen.focused(), + layout = awful.layout.suit.floating, +}) + +-- this tag contains scrcpy +phoneTag = awful.tag.add("携帯", { + screen = awful.screen.focused(), + layout = awful.layout.suit.floating +}) + + + +clientbuttons = gears.table.join( + awful.button({ modkey }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ modkey }, 3, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.resize(c) + end) +) + +-- Set keys +root.keys(globalkeys) + +-- {{{ Rules +-- Rules to apply to new clients (through the "manage" signal). +awful.rules.rules = { + -- All clients will match this rule. + { rule = { }, + properties = { border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = awful.client.focus.filter, + raise = true, + titlebars_enabled = false, + keys = clientkeys, + buttons = clientbuttons, + screen = awful.screen.preferred, + placement = awful.placement.no_overlap+awful.placement.no_offscreen + } + }, + + -- scrcpy properties + { rule = { name = "Motorola One Power" }, + properties = { + floating = true, + ontop = true, + screen = 1, + tag = phoneTag + },}, + + -- Set Firefox to always map on the tag named "2" on screen 1. + { rule = { class = "Firefox" }, + properties = { screen = 1, tag = "2" }, + }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function (c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup + and not c.size_hints.user_position + and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +end) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", {raise = false}) +end) + +client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) +client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) +-- }}} + +-- autostarts +awful.spawn.with_shell("autostart") diff --git a/archive/awesome/theme.lua b/archive/awesome/theme.lua new file mode 100644 index 00000000..62dd08e5 --- /dev/null +++ b/archive/awesome/theme.lua @@ -0,0 +1,140 @@ +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +local theme = {} + +theme.font = "Source Han Sans JP 9"--:style=Regular" -- "Ubuntu:style=Light 10" -- "sans 8" + +theme.bg_normal = "#171520" -- 6c7164 +theme.bg_focus = "#d33682" +theme.bg_urgent = "#dc322f" +theme.bg_minimize = "#6c71ff" -- 444444 +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#ffffff" +theme.fg_focus = "#000000" +theme.fg_urgent = "#ffffff" +theme.fg_minimize = "#ffffff" + +theme.useless_gap = dpi(3) +theme.border_width = dpi(2) +theme.border_normal = "#EFE805" +theme.border_focus = "#FB027F" +theme.border_marked = "#000000" + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg]_[focus|urgent] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] +-- prompt_[fg|bg|fg_cursor|bg_cursor|font] +-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] +-- Example: +--theme.taglist_bg_focus = "#ff0000" + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Variables set for theming notifications: +-- notification_font +-- notification_[bg|fg] +-- notification_[width|height|margin] +-- notification_[border_color|border_width|shape|opacity] + +theme.notification_font = "Roboto 12" + +theme.notification_bg = "#171520" +theme.notification_fg = "#FFFFFF" +theme.notification_opacity = 0.8 + + +-- theme.notification_width = 280 +-- theme.notification_height = 65 +-- theme.notification_margin = 30 -- doesn't work for some reason + + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path.."default/submenu.png" +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Define the image to load +theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +theme.wallpaper = themes_path.."default/background.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 + diff --git a/archive/fish/config.fish b/archive/fish/config.fish new file mode 100644 index 00000000..1b61180c --- /dev/null +++ b/archive/fish/config.fish @@ -0,0 +1,20 @@ +set fish_greeting # disable welcome message +fish_vi_key_bindings +neofetch + + +# aliases +alias waifu='cd /zt/waifu' +alias docs='cd /zt/Docs' +alias zt='/zt/' +alias progs='/zt/Programs/' +alias scripts='~/.config/scripts/' +alias goproj='/zt/Docs/Go/src/github.com/MikunoNaka' + +alias pf='clear && pfetch' +alias rm='rm -i' +alias ls='exa -l' +alias la='exa -a' +alias lsa='exa -al' +alias nf='neofetch' +alias vim='nvim' diff --git a/archive/fish/fish_variables b/archive/fish/fish_variables new file mode 100644 index 00000000..bff725f5 --- /dev/null +++ b/archive/fish/fish_variables @@ -0,0 +1,33 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_initialized:3100 +SETUVAR fish_color_autosuggestion:555\x1ebrblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:005fd7 +SETUVAR fish_color_comment:990000 +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:009900 +SETUVAR fish_color_error:ff0000 +SETUVAR fish_color_escape:00a6b2 +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:00a6b2 +SETUVAR fish_color_param:00afff +SETUVAR fish_color_quote:999900 +SETUVAR fish_color_redirection:00afff +SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_greeting:\x1d +SETUVAR fish_key_bindings:fish_vi_key_bindings +SETUVAR fish_pager_color_completion:\x1d +SETUVAR fish_pager_color_description:B3A06D\x1eyellow +SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan +SETUVAR fish_user_paths:/home/zt/\x2elocal/bin\x1e/zt/Programs\x1e/home/zt/\x2econfig/scripts diff --git a/archive/fish/functions/fish_prompt.fish b/archive/fish/functions/fish_prompt.fish new file mode 100644 index 00000000..b8371e5c --- /dev/null +++ b/archive/fish/functions/fish_prompt.fish @@ -0,0 +1,23 @@ +set __fish_git_prompt_showcolorhints + +set __fish_git_prompt_color_branch 0a4efc --bold +set __fish_git_prompt_color_dirtystate white +set __fish_git_prompt_color_invalidstate red +set __fish_git_prompt_color_merging yellow +set __fish_git_prompt_color_stagedstate yellow +set __fish_git_prompt_color_upstream_ahead green +set __fish_git_prompt_color_upstream_behind red + +function fish_prompt + set last_status $status + + set_color fc0a4a --bold + printf '%s' (prompt_pwd) + + set_color normal + printf '%s ' (__fish_git_prompt) + set_color 5c64db + + echo -n " " + set_color normal +end |