commit 545e1f3589ba2f2ff7354885bfcbef5ca20a1e47 Author: Ensar Rahmanlar Date: Tue Jul 18 11:32:17 2023 +0300 first commit diff --git a/foot/foot.ini b/foot/foot.ini new file mode 100644 index 0000000..761a269 --- /dev/null +++ b/foot/foot.ini @@ -0,0 +1,215 @@ +# -*- conf -*- + +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +# app-id=foot +# title=foot +# locked-title=no + +font=JetBrainsMono Nerd Font:size=11 +# font-bold= +# font-italic= +# font-bold-italic= +# line-height=1.2 +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# box-drawings-uses-font-glyphs=no +# dpi-aware=auto + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +# pad=2x2 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format= + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +# style=block +# color= +# blink=no +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[colors] +alpha=0.94 +#foreground=e2e2d9 +background=162724 + +[colors] +#background=282828 +foreground=e8d9b5 +regular0=282828 +regular1=cc241d +regular2=98971a +regular3=d79921 +regular4=458588 +regular5=b16286 +regular6=689d6a +regular7=a89984 +bright0=928374 +bright1=fb4934 +bright2=b8bb26 +bright3=fabd2f +bright4=83a598 +bright5=d3869b +bright6=8ec07c +bright7=ebdbb2 + +## Normal/regular colors (color palette 0-7) +# regular0=222222 # black +# regular1=cc9393 # red +# regular2=7f9f7f # green +# regular3=d0bf8f # yellow +# regular4=6ca0a3 # blue +# regular5=dc8cc3 # magenta +# regular6=93e0e3 # cyan +# regular7=dcdccc # white + +## Bright colors (color palette 8-15) +# bright0=666666 # bright black +# bright1=dca3a3 # bright red +# bright2=bfebbf # bright green +# bright3=f0dfaf # bright yellow +# bright4=8cd0d3 # bright blue +# bright5=fcace3 # bright magenta +# bright6=b3ffff # bright cyan +# bright7=ffffff # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# hide-when-typing=no +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+u +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=none +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 + +# vim: ft=dosini diff --git a/gammastep/config.ini b/gammastep/config.ini new file mode 100644 index 0000000..0a3eb80 --- /dev/null +++ b/gammastep/config.ini @@ -0,0 +1,69 @@ +; Global settings +[general] +; Set the day and night screen temperatures +temp-day=5700 +temp-night=3500 + +; Disable the smooth fade between temperatures when Redshift starts and stops. +; 0 will cause an immediate change between screen temperatures. +; 1 will gradually apply the new screen temperature over a couple of seconds. +fade=1 + +; Solar elevation thresholds. +; By default, Redshift will use the current elevation of the sun to determine +; whether it is daytime, night or in transition (dawn/dusk). When the sun is +; above the degrees specified with elevation-high it is considered daytime and +; below elevation-low it is considered night. +;elevation-high=3 +;elevation-low=-6 + +; Custom dawn/dusk intervals. +; Instead of using the solar elevation, the time intervals of dawn and dusk +; can be specified manually. The times must be specified as HH:MM in 24-hour +; format. +;dawn-time=6:00-7:45 +;dusk-time=18:35-20:15 + +; Set the screen brightness. Default is 1.0. +;brightness=0.9 +; It is also possible to use different settings for day and night +; since version 1.8. +;brightness-day=0.7 +;brightness-night=0.4 +; Set the screen gamma (for all colors, or each color channel +; individually) +gamma=0.8 +;gamma=0.8:0.7:0.8 +; This can also be set individually for day and night since +; version 1.10. +;gamma-day=0.8:0.7:0.8 +;gamma-night=0.6 + +; Set the location-provider: 'geoclue2', 'manual'. +; The location provider settings are in a different section. +location-provider=manual + +; Set the adjustment-method: 'randr', 'vidmode', 'drm', 'wayland'. +; 'randr' is the preferred X11 method, 'vidmode' is an older API +; that works in some cases when 'randr' does not. +; The adjustment method settings are in a different section. +adjustment-method=randr + +; Configuration of the location-provider: +; type 'gammastep -l PROVIDER:help' to see the settings. +; ex: 'gammastep -l manual:help' +; Keep in mind that longitudes west of Greenwich (e.g. the Americas) +; are negative numbers. +[manual] +lat=39.9 +lon=32.8 + +; Configuration of the adjustment-method +; type 'gammastep -m METHOD:help' to see the settings. +; ex: 'gammastep -m randr:help' +; In this example, randr is configured to adjust only screen 0. +; Note that the numbering starts from 0, so this is actually the first screen. +; If this option is not specified, Redshift will try to adjust _all_ screens. +[randr] +screen=0 + diff --git a/i3status-rust/config.toml b/i3status-rust/config.toml new file mode 100644 index 0000000..cc65319 --- /dev/null +++ b/i3status-rust/config.toml @@ -0,0 +1,55 @@ +icons_format = "{icon}" + +[theme] +theme = "semi-native" +[theme.overrides] +idle_fg = "#a9a989" +info_fg = "#a9a989" +end_seperator = "#d3d3d3" + +[icons] +icons = "awesome4" + +[[block]] +block = "temperature" +format = " $icon $max " +format_alt = " $icon $min min, $max max, $average avg " +interval = 10 +chip = "*-isa-*" + +[[block]] +block = "memory" +format = " $icon $mem_used " +format_alt = " $icon_swap $swap_used " + +[[block]] +block = "battery" +format = " $icon $percentage " + +[[block]] +block = "net" +format = " $icon {$signal_strength|Wired} " + +[[block]] +block = "sound" +format = " $icon {$volume |}" +headphones_indicator = true +[[block.click]] +button = "left" +cmd = "pavucontrol" +[block.mappings] +"bluez_output.5C_EB_68_78_E0_0A.1" = "Headphones" +"alsa_output.pci-0000_00_1b.0.analog-stereo" = "Speakers" + +[[block]] +block = "sound" +format = " $icon {$volume |}" +device_kind = "source" +[[block.click]] +button = "left" +cmd = "pavucontrol" + +[[block]] +block = "time" +interval = 5 +format = " $timestamp.datetime(f:'%A %d, %R') " diff --git a/mako/config b/mako/config new file mode 100644 index 0000000..98177ba --- /dev/null +++ b/mako/config @@ -0,0 +1,17 @@ +max-visible=1 +font=JetBrainsMono Nerd Font + +actions=1 +icons=1 +markup=1 + +padding=8 + +background-color=#172c29 +text-color=#d3d3c5 + +border-color=#2b5a53 +border-size=3 +border-radius=3 + +default-timeout=4000 diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..3b1bde3 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,84 @@ +local use = require('packer').use +require('packer').startup(function() + use 'wbthomason/packer.nvim' + use 'scrooloose/nerdtree' + use 'tpope/vim-commentary' + use 'junegunn/fzf' + use 'morhetz/gruvbox' + use 'tpope/repeat.vim' + use 'echasnovski/mini.nvim' + use 'nvim-tree/nvim-web-devicons' + use 'neovim/nvim-lspconfig' -- Collection of configurations for built-in LSP client + use 'hrsh7th/nvim-cmp' -- Autocompletion plugin + use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp + use 'saadparwaiz1/cmp_luasnip' -- Snippets source for nvim-cmp + use 'L3MON4D3/LuaSnip' -- Snippets plugin +end) + +require('mini.pairs').setup() +require'lspconfig'.pyright.setup{} + +vim.wo.number = true +vim.cmd('autocmd VimEnter * hi Normal guibg=none ctermbg=none') +vim.cmd('colorscheme gruvbox') +vim.cmd('set mouse=a') +-- Add additional capabilities supported by nvim-cmp +local capabilities = require("cmp_nvim_lsp").default_capabilities() + +local lspconfig = require('lspconfig') + +-- Enable some language servers with the additional completion capabilities offered by nvim-cmp +local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver' } +for _, lsp in ipairs(servers) do + lspconfig[lsp].setup { + -- on_attach = my_custom_on_attach, + capabilities = capabilities, + } +end + +-- luasnip setup +local luasnip = require 'luasnip' + +-- nvim-cmp setup +local cmp = require 'cmp' +cmp.setup { + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), -- Up + [''] = cmp.mapping.scroll_docs(4), -- Down + -- C-b (back) C-f (forward) for snippet placeholder navigation. + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }, + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { 'i', 's' }), + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { 'i', 's' }), + }), + sources = { + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + }, +} + + diff --git a/nvim/init.vim.bak b/nvim/init.vim.bak new file mode 100644 index 0000000..5cce960 --- /dev/null +++ b/nvim/init.vim.bak @@ -0,0 +1,28 @@ +call plug#begin() +Plug 'scrooloose/nerdtree' +Plug 'tpope/vim-commentary' +Plug 'junegunn/fzf' +Plug 'morhetz/gruvbox' +Plug 'ggandor/leap.nvim' +Plug 'echasnovski/mini.nvim' +Plug 'nvim-tree/nvim-web-devicons' +Plug 'akinsho/bufferline.nvim', { 'tag': '*' } +Plug 'neovim/nvim-lspconfig' +Plug 'RRethy/vim-illuminate' +Plug 'hrsh7th/nvim-cmp' +Plug 'hrsh7th/cmp-nvim-lsp' +Plug 'L3MON4D3/LuaSnip' +Plug 'saadparwaiz1/cmp_luasnip' +call plug#end() + +lua << EOF +require("bufferline").setup{} +EOF + +lua require('leap').add_default_mappings() +lua require('mini.pairs').setup() +lua require'lspconfig'.pyright.setup{} + +set number +autocmd VimEnter * hi Normal guibg=none ctermbg=none +colorscheme gruvbox diff --git a/nvim/plugin/packer_compiled.lua b/nvim/plugin/packer_compiled.lua new file mode 100644 index 0000000..de36203 --- /dev/null +++ b/nvim/plugin/packer_compiled.lua @@ -0,0 +1,159 @@ +-- Automatically generated packer.nvim plugin loader code + +if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then + vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') + return +end + +vim.api.nvim_command('packadd packer.nvim') + +local no_errors, error_msg = pcall(function() + +_G._packer = _G._packer or {} +_G._packer.inside_compile = true + +local time +local profile_info +local should_profile = false +if should_profile then + local hrtime = vim.loop.hrtime + profile_info = {} + time = function(chunk, start) + if start then + profile_info[chunk] = hrtime() + else + profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 + end + end +else + time = function(chunk, start) end +end + +local function save_profiles(threshold) + local sorted_times = {} + for chunk_name, time_taken in pairs(profile_info) do + sorted_times[#sorted_times + 1] = {chunk_name, time_taken} + end + table.sort(sorted_times, function(a, b) return a[2] > b[2] end) + local results = {} + for i, elem in ipairs(sorted_times) do + if not threshold or threshold and elem[2] > threshold then + results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' + end + end + if threshold then + table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') + end + + _G._packer.profile_output = results +end + +time([[Luarocks path setup]], true) +local package_path_str = "/home/ensar/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/ensar/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/ensar/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/ensar/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/ensar/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" +if not string.find(package.path, package_path_str, 1, true) then + package.path = package.path .. ';' .. package_path_str +end + +if not string.find(package.cpath, install_cpath_pattern, 1, true) then + package.cpath = package.cpath .. ';' .. install_cpath_pattern +end + +time([[Luarocks path setup]], false) +time([[try_loadstring definition]], true) +local function try_loadstring(s, component, name) + local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) + if not success then + vim.schedule(function() + vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) + end) + end + return result +end + +time([[try_loadstring definition]], false) +time([[Defining packer_plugins]], true) +_G.packer_plugins = { + LuaSnip = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/LuaSnip", + url = "https://github.com/L3MON4D3/LuaSnip" + }, + ["cmp-nvim-lsp"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + url = "https://github.com/hrsh7th/cmp-nvim-lsp" + }, + cmp_luasnip = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/cmp_luasnip", + url = "https://github.com/saadparwaiz1/cmp_luasnip" + }, + fzf = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/fzf", + url = "https://github.com/junegunn/fzf" + }, + gruvbox = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/gruvbox", + url = "https://github.com/morhetz/gruvbox" + }, + ["leap.nvim"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/leap.nvim", + url = "https://github.com/ggandor/leap.nvim" + }, + ["mini.nvim"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/mini.nvim", + url = "https://github.com/echasnovski/mini.nvim" + }, + nerdtree = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/nerdtree", + url = "https://github.com/scrooloose/nerdtree" + }, + ["nvim-cmp"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/nvim-cmp", + url = "https://github.com/hrsh7th/nvim-cmp" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-web-devicons"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", + url = "https://github.com/nvim-tree/nvim-web-devicons" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + ["vim-commentary"] = { + loaded = true, + path = "/home/ensar/.local/share/nvim/site/pack/packer/start/vim-commentary", + url = "https://github.com/tpope/vim-commentary" + } +} + +time([[Defining packer_plugins]], false) + +_G._packer.inside_compile = false +if _G._packer.needs_bufread == true then + vim.cmd("doautocmd BufRead") +end +_G._packer.needs_bufread = false + +if should_profile then save_profiles() end + +end) + +if not no_errors then + error_msg = error_msg:gsub('"', '\\"') + vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') +end diff --git a/sway/config b/sway/config new file mode 100644 index 0000000..9d22551 --- /dev/null +++ b/sway/config @@ -0,0 +1,296 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l +# Your preferred terminal emulator +set $term foot +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu wofi --show run,drun | xargs swaymsg exec -- + +include /etc/sway/config-vars.d/* + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +output * bg /home/ensar/Pictures/wallpapers/qp6i72takoi91.png fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs + +### Idle configuration +# +# Example configuration: +# +exec swayidle -w \ + timeout 300 'swaylock -f -i /home/ensar/Pictures/wallpapers/qp6i72takoi91.png' \ + timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ + before-sleep 'swaylock -f -i /home/ensar/Pictures/wallpapers/qp6i72takoi91.png' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +input * { + xkb_layout "tr" + natural_scroll enabled +} +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Shift+q kill + + # Start your launcher + bindsym $mod+d exec $menu + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # Reload the configuration file + bindsym $mod+Shift+c reload + + # Exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # Ditto, with arrow 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 +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # Move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # 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 +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + position top + font JetBrainsMono Nerd Font 11 + + # When the status_command prints a new line to stdout, swaybar updates. + # The default just shows the current date and time. + status_command i3status-rs + + colors { + statusline #d4d4b9 + background #172c29 + focused_workspace #2a514b #2a514b #d4d4b9 + inactive_workspace #0e2020 #0e2020 #d4d4b9 + } +# swaybar_command waybar +} + + +# my configurations +gaps inner 10 +font JetBrainsMono Nerd Font 11 +exec wl-paste -t text --watch clipman store +bindsym $mod+g exec clipman pick +exec mako +exec gammastep +exec mpris-proxy +exec wlsunset -l 39.9 32.9 +set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock +exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob + +default_border pixel 3 +client.focused #2b5a53 #2b5a53 #d3d3c5 #2b5a53 +client.unfocused #0e2020 #0e2020 #d3d3c5 #0e2020 + + +for_window { + [app_id="mpv"] floating enable + [class="vlc"] floating enable + [app_id="imv"] floating enable + [app_id="vimiv"] floating enable + [app_id="ffplay"] floating enable + [app_id="wdisplays"] floating enable + [app_id="qpwgraph"] floating enable + [app_id="kvantummanager"] floating enable + # [title="webcam"] floating enable + + # for firefox pip mode + [title="Picture-in-Picture"] floating enable + + [app_id=".*blueberry.*"] floating enable + [app_id=".*pavucontrol.*"] floating enable + [app_id=$term title=".*pulsemixer.*"] floating enable + [app_id=".*nextcloud.*"] floating enable, move container to scratchpad +[app_id="firefox" title="Firefox — Sharing Indicator"] kill +} + +# +# Volume control +# +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1| awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1| awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ +bindsym $mod+0 exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + +# +# brightness +# +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK +bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK + + +# exit dialogue +set $mode_system System (e) xit, (s)leep, (r) eboot, (p) oweroff +mode "$mode_system" { + bindsym e exec swaymsg exit, mode "default" + bindsym r exec systemctl reboot, mode "default" + bindsym p exec systemctl poweroff, mode "default" + bindsym s exec systemctl suspend, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+Shift+x mode "$mode_system" + +# screenshot +bindsym $mod+Print exec grimshot save output ~/Pictures/screenshots/$(date -Ins).png +bindsym $mod+Shift+Print exec grimshot save area ~/Pictures/screenshots/$(date -Ins).png +include /etc/sway/config.d/* diff --git a/wob/wob.ini b/wob/wob.ini new file mode 100644 index 0000000..92e1abf --- /dev/null +++ b/wob/wob.ini @@ -0,0 +1,3 @@ +bar_color = D4D4B9FF +border_color = 2B5A53FF +background_color = 172C29EE diff --git a/wofi/style.css b/wofi/style.css new file mode 100644 index 0000000..3b78b97 --- /dev/null +++ b/wofi/style.css @@ -0,0 +1,39 @@ +window { + font-size: 24px; + font-family: "JetBrainsMono Nerd Font"; + background: #172c29; + color: #d3d3c5; +} + +#entry:selected { + background: #0e2020; +} + +#text:selected { + color: #b3aa80; +} + +#text { + margin: 3px; + border: none; +} +#input { + background: #0e2020; + color: #d4d4b9; + padding: 0.3em; + margin: 0.4em; +} + +#outer-box { + border: solid #274e48 2px; + border-radius: 4px; +} + +#inner-box { +} + +#scroll { +} + +#scroll label { +}