commit 8437d42a811d1de3c99e49ceb4b78064433cf796 Author: bvn13 Date: Wed Jan 8 02:35:17 2020 +0300 sway, waybar, scripts diff --git a/.config/fish/conf.d/omf.fish b/.config/fish/conf.d/omf.fish new file mode 100644 index 0000000..3e0f6d6 --- /dev/null +++ b/.config/fish/conf.d/omf.fish @@ -0,0 +1,7 @@ +# Path to Oh My Fish install. +set -q XDG_DATA_HOME + and set -gx OMF_PATH "$XDG_DATA_HOME/omf" + or set -gx OMF_PATH "$HOME/.local/share/omf" + +# Load Oh My Fish configuration. +source $OMF_PATH/init.fish diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 0000000..127250b --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,4 @@ +set -x -g PATH $PATH /home/bvn13/.local/bin/ +set -x -g PATH $PATH /opt/gradle-6.0.1/bin/ + +set -x -g EDITOR emacsedit diff --git a/.config/fish/config.fish~ b/.config/fish/config.fish~ new file mode 100644 index 0000000..1da29e8 --- /dev/null +++ b/.config/fish/config.fish~ @@ -0,0 +1,2 @@ +set -x -g PATH $PATH /home/bvn13/.local/bin/ +set -x -g EDITOR emacsedit diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables new file mode 100644 index 0000000..e423a0b --- /dev/null +++ b/.config/fish/fish_variables @@ -0,0 +1,35 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR EDITOR:emacsedit +SETUVAR __fish_init_2_39_8:\x1d +SETUVAR __fish_init_2_3_0:\x1d +SETUVAR __fish_init_3_x:\x1d +SETUVAR _fish_abbr_getclip:xclip\x20\x2dselection\x20c\x20\x2do +SETUVAR _fish_abbr_setclip:xclip\x20\x2dselection\x20c +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_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_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell +SETUVAR fish_key_bindings:fish_default_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 diff --git a/.config/fish/fish_variables~ b/.config/fish/fish_variables~ new file mode 100644 index 0000000..aff1303 --- /dev/null +++ b/.config/fish/fish_variables~ @@ -0,0 +1,33 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR EDITOR:emacsedit +SETUVAR __fish_init_2_39_8:\x1d +SETUVAR __fish_init_2_3_0:\x1d +SETUVAR __fish_init_3_x:\x1d +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_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_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell +SETUVAR fish_key_bindings:fish_default_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 diff --git a/.config/fish/functions/fish_prompt.fish b/.config/fish/functions/fish_prompt.fish new file mode 120000 index 0000000..f8104f5 --- /dev/null +++ b/.config/fish/functions/fish_prompt.fish @@ -0,0 +1 @@ +/home/bvn13/.local/share/omf/themes/shellder/fish_prompt.fish \ No newline at end of file diff --git a/.config/fish/functions/idea.fidh~ b/.config/fish/functions/idea.fidh~ new file mode 100644 index 0000000..e69de29 diff --git a/.config/fish/functions/idea.fish b/.config/fish/functions/idea.fish new file mode 100644 index 0000000..c227c1f --- /dev/null +++ b/.config/fish/functions/idea.fish @@ -0,0 +1,3 @@ +function idea + cd /home/bvn13/soft/idea-IU/bin && bash idea.sh +end diff --git a/.config/fish/functions/idea.fish~ b/.config/fish/functions/idea.fish~ new file mode 100644 index 0000000..4775a29 --- /dev/null +++ b/.config/fish/functions/idea.fish~ @@ -0,0 +1,3 @@ +function idea + cd /home/bvn13/soft/idea-IU/bin && . idea.sh +end diff --git a/.config/fish/functions/mc.fish b/.config/fish/functions/mc.fish new file mode 100644 index 0000000..8e284eb --- /dev/null +++ b/.config/fish/functions/mc.fish @@ -0,0 +1,3 @@ +function mc + export EDITOR=emacsedit && /usr/bin/mc +end diff --git a/.config/fish/functions/mc.fish~ b/.config/fish/functions/mc.fish~ new file mode 100644 index 0000000..9be8799 --- /dev/null +++ b/.config/fish/functions/mc.fish~ @@ -0,0 +1,3 @@ +function mc + export EDITOR=emacs && /usr/bin/mc +end diff --git a/.config/fish/functions/variables.fish b/.config/fish/functions/variables.fish new file mode 100644 index 0000000..b901112 --- /dev/null +++ b/.config/fish/functions/variables.fish @@ -0,0 +1,5 @@ +#export EDITOR="emacsclient -t" +#export VISUAL="emacsclient -c -a emacs" + +set -U EDITOR emacsedit +#set -U VISUAL emacsclient -c -a emacs diff --git a/.config/fish/functions/xclip.fish b/.config/fish/functions/xclip.fish new file mode 100644 index 0000000..a78ae7b --- /dev/null +++ b/.config/fish/functions/xclip.fish @@ -0,0 +1,2 @@ +abbr setclip "xclip -selection c" +abbr getclip "xclip -selection c -o" diff --git a/.config/rofi/config b/.config/rofi/config new file mode 100644 index 0000000..ea12e69 --- /dev/null +++ b/.config/rofi/config @@ -0,0 +1,2 @@ +rofi.modi: run,drun,window,ssh +rofi.theme: ~/.local/share/rofi/themes/android_notification.rasi diff --git a/.config/rofi/config~ b/.config/rofi/config~ new file mode 100644 index 0000000..e69de29 diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..9981ccc --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,311 @@ +# 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 terminator +# Your preferred application launcher +#set $menu dmenu_run +set $menu rofi -show drun + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +#output * bg /usr/share/backgrounds/f30/default/normalish/f30.png fill +output * bg ~/Pictures/wallpapers/639790.jpg 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 + +### 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. + +#KEYBOARD +input "1:1:AT_Translated_Set_2_keyboard" { + xkb_layout us,ru + xkb_variant nodeadkeys + xkb_options grp:caps_toggle,grp_led:caps + repeat_delay 250 + repeat_rate 25 +} + +#TOUCHPAD +input "2:14:ETPS/2_Elantech_Touchpad" { + tap enabled + natural_scroll enabled + pointer_accel 0.3 + accel_profile adaptive + dwt enabled +} + +# Font +font Iosevka:Medium 8 + +# Window borders +default_border pixel 1 +default_floating_border normal +hide_edge_borders smart + +# WorkSpaces + +set $ws1 1 +set $ws2 2 +set $ws3 3 +set $ws4 4 +set $ws5 5 +set $ws6 6 +set $ws7 7 +set $ws8 8 +set $ws9 9 +set $ws10 10 + + +### 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+r reload + + # exit sway (logs you out of your wayland session) + bindsym $mod+Ctrl+Shift+e 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 $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 + bindsym $mod+9 workspace $ws9 + bindsym $mod+0 workspace $ws10 + # move focused container to workspace + bindsym $mod+Shift+1 move container to workspace $ws1 + bindsym $mod+Shift+2 move container to workspace $ws2 + bindsym $mod+Shift+3 move container to workspace $ws3 + bindsym $mod+Shift+4 move container to workspace $ws4 + bindsym $mod+Shift+5 move container to workspace $ws5 + bindsym $mod+Shift+6 move container to workspace $ws6 + bindsym $mod+Shift+7 move container to workspace $ws7 + bindsym $mod+Shift+8 move container to workspace $ws8 + bindsym $mod+Shift+9 move container to workspace $ws9 + bindsym $mod+Shift+0 move container to workspace $ws10 + # 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 10 px or 10 ppt + bindsym $down resize grow height 10 px or 10 ppt + bindsym $up resize shrink height 10 px or 10 ppt + bindsym $right resize grow width 10 px or 10 ppt + + # ditto, with arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # 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 +# separator-symbol '#' +# font Iosevka:Medium 8 +# colors { +# statusline #ffffff +# background #323232 +# inactive_workspace #32323200 #32323200 #5c5c5c +# } +#} +bar { + swaybar_command waybar +} + + +# set $mode_system System: (l) lock, (e) logout, (s) suspend, (r) reboot, (S) shutdown, (R) UEFI +mode "$mode_system" { + bindsym l exec $lock, mode "default" + bindsym e exit + bindsym s exec --no-startup-id systemctl suspend, mode "default" + bindsym r exec --no-startup-id systemctl reboot, mode "default" + bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default" + bindsym Shift+r exec --no-startup-id systemctl reboot --firmware-setup, mode "default" + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+Shift+s mode "$mode_system" + +## Screen lock +bindsym $mod+Ctrl+l exec ~/.scripts/sway/lock.sh +exec ~/.scripts/sway/idle.sh + +### Screen brightness +bindsym XF86MonBrightnessUp exec light -A 3 +bindsym XF86MonBrightnessDown exec light -U 3 + +### Print screen +bindsym Print exec grim -t png ~/cloud/yadisk/pictures/screenshots/$(date +%Y%m%d-%H%M%S).png +bindsym Ctrl+Print exec grim -t png -g "$(slurp)" ~/cloud/yadisk/pictures/screenshots/$(date +%Y%m%d-%H%M%S).png + +### Audio volume +bindsym XF86AudioMute exec sh -c "pactl set-sink-mute 0 toggle" +bindsym XF86AudioRaiseVolume exec sh -c "pactl set-sink-mute 0 false ; pactl set-sink-volume 0 +5%" +bindsym XF86AudioLowerVolume exec sh -c "pactl set-sink-mute 0 false ; pactl -- set-sink-volume 0 -5%" +bindsym XF86AudioMicMute exec sh -c "pactl set-source-mute 1 toggle" + +mode "$mode_mic" { + bindsym Up exec sh -c "pactl set-source-mute 1 false ; pactl set-source-volume 1 +5%" + bindsym Shift+Up exec sh -c "pactl set-source-mute 1 false ; pactl set-source-volume 1 +1%" + bindsym Down exec sh -c "pactl set-source-mute 1 false ; pactl -- set-source-volume 1 -5%" + bindsym Shift+Down exec sh -c "pactl set-source-mute 1 false ; pactl -- set-source-volume 1 -1%" + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+Shift+m mode "$mode_mic" + +include /etc/sway/config.d/* + + +## +## WINDOWS +## +## Disable autolock +# https://www.reddit.com/r/swaywm/comments/b0qpm1/disable_swayidle_when_fullscreen_media/ +for_window [app_id="firefox"] inhibit_idle fullscreen + +## +## WINDOWS +## +assign [app_id="firefox-wayland"] workspace $ws2 +assign [class="jetbrains-idea"] workspace $ws3 +for_window [app_id="pavucontrol"] floating enable'' + +## +## AUTOSTART +## +exec mako --anchor top-right diff --git a/.config/sway/config~ b/.config/sway/config~ new file mode 100644 index 0000000..8e828c0 --- /dev/null +++ b/.config/sway/config~ @@ -0,0 +1,310 @@ +# 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 terminator +# Your preferred application launcher +#set $menu dmenu_run +set $menu rofi -show drun + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +#output * bg /usr/share/backgrounds/f30/default/normalish/f30.png fill +output * bg ~/Pictures/wallpapers/639790.jpg 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 + +### 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. + +#KEYBOARD +input "1:1:AT_Translated_Set_2_keyboard" { + xkb_layout us,ru + xkb_variant nodeadkeys + xkb_options grp:caps_toggle,grp_led:caps + repeat_delay 250 + repeat_rate 25 +} + +#TOUCHPAD +input "2:14:ETPS/2_Elantech_Touchpad" { + tap enabled + natural_scroll enabled + pointer_accel 0.3 + accel_profile adaptive + dwt enabled +} + +# Font +font Iosevka:Medium 8 + +# Window borders +default_border pixel 1 +default_floating_border normal +hide_edge_borders smart + +# WorkSpaces + +set $ws1 1 +set $ws2 2 +set $ws3 3 +set $ws4 4 +set $ws5 5 +set $ws6 6 +set $ws7 7 +set $ws8 8 +set $ws9 9 +set $ws10 10 + + +### 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+r reload + + # exit sway (logs you out of your wayland session) + bindsym $mod+Ctrl+Shift+e 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 $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 + bindsym $mod+9 workspace $ws9 + bindsym $mod+0 workspace $ws10 + # move focused container to workspace + bindsym $mod+Shift+1 move container to workspace $ws1 + bindsym $mod+Shift+2 move container to workspace $ws2 + bindsym $mod+Shift+3 move container to workspace $ws3 + bindsym $mod+Shift+4 move container to workspace $ws4 + bindsym $mod+Shift+5 move container to workspace $ws5 + bindsym $mod+Shift+6 move container to workspace $ws6 + bindsym $mod+Shift+7 move container to workspace $ws7 + bindsym $mod+Shift+8 move container to workspace $ws8 + bindsym $mod+Shift+9 move container to workspace $ws9 + bindsym $mod+Shift+0 move container to workspace $ws10 + # 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 10 px or 10 ppt + bindsym $down resize grow height 10 px or 10 ppt + bindsym $up resize shrink height 10 px or 10 ppt + bindsym $right resize grow width 10 px or 10 ppt + + # ditto, with arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # 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 +# separator-symbol '#' +# font Iosevka:Medium 8 +# colors { +# statusline #ffffff +# background #323232 +# inactive_workspace #32323200 #32323200 #5c5c5c +# } +#} +bar { + swaybar_command waybar +} + + +# set $mode_system System: (l) lock, (e) logout, (s) suspend, (r) reboot, (S) shutdown, (R) UEFI +mode "$mode_system" { + bindsym l exec $lock, mode "default" + bindsym e exit + bindsym s exec --no-startup-id systemctl suspend, mode "default" + bindsym r exec --no-startup-id systemctl reboot, mode "default" + bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default" + bindsym Shift+r exec --no-startup-id systemctl reboot --firmware-setup, mode "default" + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+Shift+s mode "$mode_system" + +## Screen lock +bindsym $mod+Ctrl+l exec /usr/local/bin/lock +exec /usr/local/bin/idle + +### Screen brightness +bindsym XF86MonBrightnessUp exec light -A 3 +bindsym XF86MonBrightnessDown exec light -U 3 + +### Print screen +bindsym Print exec grim -t png ~/cloud/yadisk/pictures/screenshots/$(date +%Y%m%d-%H%M%S).png +bindsym Ctrl+Print exec grim -t png -g "$(slurp)" ~/cloud/yadisk/pictures/screenshots/$(date +%Y%m%d-%H%M%S).png + +### Audio volume +bindsym XF86AudioMute exec sh -c "pactl set-sink-mute 0 toggle" +bindsym XF86AudioRaiseVolume exec sh -c "pactl set-sink-mute 0 false ; pactl set-sink-volume 0 +5%" +bindsym XF86AudioLowerVolume exec sh -c "pactl set-sink-mute 0 false ; pactl -- set-sink-volume 0 -5%" +bindsym XF86AudioMicMute exec sh -c "pactl set-source-mute 1 toggle" + +mode "$mode_mic" { + bindsym Up exec sh -c "pactl set-source-mute 1 false ; pactl set-source-volume 1 +5%" + bindsym Shift+Up exec sh -c "pactl set-source-mute 1 false ; pactl set-source-volume 1 +1%" + bindsym Down exec sh -c "pactl set-source-mute 1 false ; pactl -- set-source-volume 1 -5%" + bindsym Shift+Down exec sh -c "pactl set-source-mute 1 false ; pactl -- set-source-volume 1 -1%" + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+Shift+m mode "$mode_mic" + +include /etc/sway/config.d/* + + +## +## WINDOWS +## +## Disable autolock +# https://www.reddit.com/r/swaywm/comments/b0qpm1/disable_swayidle_when_fullscreen_media/ +for_window [app_id="firefox"] inhibit_idle fullscreen + +## +## WINDOWS +## +assign [app_id="firefox-wayland"] workspace $ws2 +assign [class="jetbrains-idea"] workspace $ws3 + +## +## AUTOSTART +## +exec mako --anchor top-right diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..70d18cc --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,167 @@ +{ + "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 23, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "custom/media"], + "modules-center": ["sway/window"], + "modules-right": ["idle_inhibitor", "custom/kblayout", "pulseaudio", "network", "custom/vpn", "cpu", "memory", "temperature", "backlight", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "sway/workspaces": { + "disable-scroll": true, + "all-outputs": true, + "format": "{name}: {icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "urgent": "", + "focused": "", + "default": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "custom/kblayout": { + "format": "{}  ", + "exec": "~/.scripts/waybar/kblayout.sh '1:1:AT_Translated_Set_2_keyboard'", + "tooltip": false, + "interval": 1 + }, + "custom/kblayout_ext": { + "format": "{}  ", + "exec": "~/.scripts/waybar/kblayout.sh '3141:30219:SONiX_USB_Keyboard'", + "exec-if": "swaymsg -t get_inputs | grep '3141:30219:SONiX_USB_Keyboard'", + "tooltip": false, + "interval": 1 + }, + "custom/vpn": { + "format": "VPN: {}", + "exec": "~/.scripts/waybar/vpn.sh", + "return-type": "json", + "tooltip": false, + "interval": 1 + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + "tooltip-format": "{:%Y-%m-%d | %H:%M}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "interval": 2 + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphones": "", + "handsfree": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} diff --git a/.config/waybar/config~ b/.config/waybar/config~ new file mode 100644 index 0000000..743e62f --- /dev/null +++ b/.config/waybar/config~ @@ -0,0 +1,159 @@ +{ + "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 23, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "custom/media"], + "modules-center": ["sway/window"], + "modules-right": ["idle_inhibitor", "custom/kblayout", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "sway/mode": { + "format": "{}" + }, + "custom/kblayout": { + "format": "{}  ", + "exec": "~/.scripts/waybar/kblayout.sh '1:1:AT_Translated_Set_2_keyboard'", + "tooltip": false, + "interval": 1 + }, + "custom/kblayout_ext": { + "format": "{}  ", + "exec": "~/.scripts/waybar/kblayout.sh '3141:30219:SONiX_USB_Keyboard'", + "exec-if": "swaymsg -t get_inputs | grep '3141:30219:SONiX_USB_Keyboard'", + "tooltip": false, + "interval": 1 + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + "tooltip-format": "{:%Y-%m-%d | %H:%M}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphones": "", + "handsfree": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..b8d858b --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,218 @@ +* { + border: none; + border-radius: 0; + /* `otf-font-awesome` is required to be installed for icons */ + font-family: Iosevka, Roboto, Helvetica, Arial, sans-serif; + font-size: 12px; + min-height: 0; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} +window#waybar.firefox { + background-color: #000000; + border: none; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; + border-top: 3px solid transparent; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); + box-shadow: inherit; + border-top: 3px solid #ffffff; +} + +#workspaces button.focused { + background-color: #44525D; + border-top: 3px solid #a0a0a0; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#temperature, +#backlight, +#network, +#pulseaudio, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#mpd, +#custom-kblayout, +#custom-vpn +{ + padding: 0 5px; + margin: 0 2px; + color: #ffffff; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { +/* background-color: #2980b9; */ + background-color: transparent; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#custom-kblayout { + background-color: transparent; +} + +#custom-vpn { + background-color: transparent; +} diff --git a/.config/waybar/style.css~ b/.config/waybar/style.css~ new file mode 100644 index 0000000..81df265 --- /dev/null +++ b/.config/waybar/style.css~ @@ -0,0 +1,202 @@ +* { + border: none; + border-radius: 0; + /* `otf-font-awesome` is required to be installed for icons */ + font-family: Iosevka, Roboto, Helvetica, Arial, sans-serif; + font-size: 12px; + min-height: 0; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; + border-bottom: 3px solid transparent; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); + box-shadow: inherit; + border-bottom: 3px solid #ffffff; +} + +#workspaces button.focused { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#temperature, +#backlight, +#network, +#pulseaudio, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#mpd { + padding: 0 10px; + margin: 0 4px; + color: #ffffff; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} diff --git a/.local/share/rofi/themes/android_notification.rasi b/.local/share/rofi/themes/android_notification.rasi new file mode 100644 index 0000000..856da89 --- /dev/null +++ b/.local/share/rofi/themes/android_notification.rasi @@ -0,0 +1,142 @@ +/******************************************************************************* + * ROFI Color theme + * User: Rasi + * Copyright: Rasmus Steinke + *******************************************************************************/ + +* { + selected-normal-foreground: rgba ( 255, 255, 255, 100 % ); + foreground: rgba ( 193, 193, 193, 100 % ); + normal-foreground: @foreground; + alternate-normal-background: rgba ( 39, 50, 56, 100 % ); + red: rgba ( 220, 50, 47, 100 % ); + selected-urgent-foreground: rgba ( 255, 24, 68, 100 % ); + blue: rgba ( 38, 139, 210, 100 % ); + urgent-foreground: rgba ( 255, 24, 68, 100 % ); + alternate-urgent-background: rgba ( 39, 50, 56, 100 % ); + active-foreground: rgba ( 128, 203, 196, 100 % ); + lightbg: rgba ( 238, 232, 213, 100 % ); + selected-active-foreground: rgba ( 128, 203, 196, 100 % ); + alternate-active-background: rgba ( 39, 50, 56, 100 % ); + background: rgba ( 39, 50, 56, 100 % ); + bordercolor: rgba ( 39, 50, 56, 100 % ); + alternate-normal-foreground: @foreground; + normal-background: rgba ( 39, 50, 56, 100 % ); + lightfg: rgba ( 88, 104, 117, 100 % ); + selected-normal-background: rgba ( 57, 66, 73, 100 % ); + border-color: @foreground; + spacing: 2; + separatorcolor: rgba ( 30, 37, 41, 100 % ); + urgent-background: rgba ( 39, 50, 56, 100 % ); + selected-urgent-background: rgba ( 57, 66, 73, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: rgba ( 0, 0, 0, 0 % ); + alternate-active-foreground: @active-foreground; + active-background: rgba ( 39, 50, 56, 100 % ); + selected-active-background: rgba ( 57, 66, 73, 100 % ); +} +#window { + background-color: @background; + border: 1; + padding: 5; +} +#mainbox { + border: 0; + padding: 0; +} +#message { + border: 1px dash 0px 0px ; + border-color: @separatorcolor; + padding: 1px ; +} +#textbox { + text-color: @foreground; +} +#listview { + fixed-height: 0; + border: 2px dash 0px 0px ; + border-color: @separatorcolor; + spacing: 2px ; + scrollbar: true; + padding: 2px 0px 0px ; +} +#element { + border: 0; + padding: 1px ; +} +#element.normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} +#element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +#element.normal.active { + background-color: @active-background; + text-color: @active-foreground; +} +#element.selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +#element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +#element.selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +#element.alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +#element.alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +#element.alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} +#scrollbar { + width: 4px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +#sidebar { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +#button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +#inputbar { + spacing: 0; + text-color: @normal-foreground; + padding: 1px ; +} +#case-indicator { + spacing: 0; + text-color: @normal-foreground; +} +#entry { + spacing: 0; + text-color: @normal-foreground; +} +#prompt { + spacing: 0; + text-color: @normal-foreground; +} +#inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +#textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3em 0em 0em ; + text-color: @normal-foreground; +} diff --git a/.scripts/sway/idle.sh b/.scripts/sway/idle.sh new file mode 100755 index 0000000..73cf655 --- /dev/null +++ b/.scripts/sway/idle.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +#swayidle -w timeout 300 'sh /usr/local/bin/lock' timeout 360 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'sh /usr/local/bin/lock' + +swayidle -w timeout 300 'sh ~/.scripts/sway/lock.sh' timeout 360 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'sh ~/.scripts/sway/lock.sh' diff --git a/.scripts/sway/idle.sh~ b/.scripts/sway/idle.sh~ new file mode 100755 index 0000000..2a0d601 --- /dev/null +++ b/.scripts/sway/idle.sh~ @@ -0,0 +1,3 @@ +#!/bin/bash + +swayidle -w timeout 300 'sh /usr/local/bin/lock' timeout 360 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'sh /usr/local/bin/lock' diff --git a/.scripts/sway/lock.sh b/.scripts/sway/lock.sh new file mode 100755 index 0000000..981b37c --- /dev/null +++ b/.scripts/sway/lock.sh @@ -0,0 +1,15 @@ +#!/bin/bash +IMAGE=/tmp/screen.png +TEXT=/tmp/locktext.png + +grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') /tmp/screen.png + +convert /tmp/screen.png -scale 25% -blur 0x2 -scale 400% -fill black -colorize 50% /tmp/screen.png +[[ -f $1 ]] && convert /tmp/screen.png $1 -gravity center -composite -matte /tmp/screen.png + +[ -f $TEXT ] || { + convert -size 1920x60 xc:black -font Liberation-Sans -pointsize 26 -fill white -gravity center -annotate +0+0 'Type password to unlock' $TEXT; +} + +convert $IMAGE $TEXT -gravity center -geometry +0+200 -composite $IMAGE +swaylock -s fill -i /tmp/screen.png diff --git a/.scripts/sway/lock.sh~ b/.scripts/sway/lock.sh~ new file mode 100755 index 0000000..da226bd --- /dev/null +++ b/.scripts/sway/lock.sh~ @@ -0,0 +1,12 @@ +#!/bin/bash +IMAGE=/tmp/screen.png +TEXT=/tmp/locktext.png + +grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') /tmp/screen.png + +convert /tmp/screen.png -scale 25% -blur 0x2 -scale 400% -fill black -colorize 50% /tmp/screen.png +[[ -f $1 ]] && convert /tmp/screen.png $1 -gravity center -composite -matte /tmp/screen.png + +[ -f $TEXT ] || { + convert -size 1920x60 xc:black -font Liberation-Sans -pointsize 26 -fill white -gravity center -annotate +0+0 'Type password to unlock' $TEXT; +} diff --git a/.scripts/waybar/kblayout.sh b/.scripts/waybar/kblayout.sh new file mode 100755 index 0000000..b2869b8 --- /dev/null +++ b/.scripts/waybar/kblayout.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +swaymsg -t get_inputs | jq -r \ + "first(.[]|select(.identifier == \"$1\" and .type == \"keyboard\")) \ + | .xkb_active_layout_name \ + | .[0:2] \ + | ascii_upcase" + +swaymsg -mrt subscribe '["input"]' | jq -r --unbuffered \ + "select(.change == \"xkb_layout\") + | .input + | select(.identifier == \"$1\" and .type == \"keyboard\") \ + | .xkb_active_layout_name \ + | .[0:2] \ + | ascii_upcase" diff --git a/.scripts/waybar/kblayout.sh~ b/.scripts/waybar/kblayout.sh~ new file mode 100755 index 0000000..e69de29 diff --git a/.scripts/waybar/vpn.sh b/.scripts/waybar/vpn.sh new file mode 100755 index 0000000..8d816c0 --- /dev/null +++ b/.scripts/waybar/vpn.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +vpn=$(nmcli -c no -t -f name,type,state c | grep vpn | grep activated | awk -F ":" '{ print $1 }') + +#echo $vpn + +if [[ -z "$vpn" ]]; then + echo "{\"text\":\"no\"}" +else + echo "{\"text\":\"$vpn\"}" +fi diff --git a/.scripts/waybar/vpn.sh~ b/.scripts/waybar/vpn.sh~ new file mode 100755 index 0000000..e69de29