Compare commits

..

No commits in common. "master" and "v1.0.7" have entirely different histories.

39 changed files with 153 additions and 493 deletions

88
debian/changelog vendored
View file

@ -1,91 +1,3 @@
tileos-settings-sway (1.2.0~tileos) unstable; urgency=medium
* Change module order
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 20 Oct 2024 00:38:40 +0400
tileos-settings-sway (1.1.5~tileos) unstable; urgency=medium
* Update color theme
-- Aleksey Samoilov <samoilov.lex@gmail.com> Wed, 04 Sep 2024 21:38:06 +0400
tileos-settings-sway (1.1.4~tileos) unstable; urgency=medium
* Add swayidle inhibit service
* Fixes for variables
* Add keyboard shortcut inhibition
-- Aleksey Samoilov <samoilov.lex@gmail.com> Tue, 20 Aug 2024 18:52:41 +0400
tileos-settings-sway (1.1.3~tileos) unstable; urgency=medium
* Fix daemonize pcmanfm-qt
* Fixes for some window rules
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 18 Aug 2024 12:54:54 +0400
tileos-settings-sway (1.1.2~tileos) unstable; urgency=medium
* Pass SSH_AUTH_SOCK to all processes
-- Aleksey Samoilov <samoilov.lex@gmail.com> Wed, 24 Jul 2024 23:56:46 +0400
tileos-settings-sway (1.1.1~tileos) unstable; urgency=medium
* Some fixes
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sat, 20 Jul 2024 15:01:31 +0400
tileos-settings-sway (1.1~tileos) unstable; urgency=medium
* Set qt6 style to kvantum-dark
-- Aleksey Samoilov <samoilov.lex@gmail.com> Wed, 19 Jun 2024 16:57:49 +0400
tileos-settings-sway (1.0.14~tileos) unstable; urgency=medium
* Fix appending user keybindings to help overlay
-- Aleksey Samoilov <samoilov.lex@gmail.com> Sun, 25 Feb 2024 19:22:45 +0400
tileos-settings-sway (1.0.13~tileos) unstable; urgency=medium
* Change wallpaper
-- Aleksey Samoilov <samoilov.lex@gmail.com> Wed, 14 Feb 2024 23:01:19 +0400
tileos-settings-sway (1.0.12~tileos) unstable; urgency=medium
* waybar: disable bluetooth module if no controller is found
-- Aleksey Samoilov <samoilov.lex@gmail.com> Thu, 08 Feb 2024 19:24:56 +0400
tileos-settings-sway (1.0.11~tileos) unstable; urgency=medium
* Fix typo
-- Aleksey Samoilov <samoilov.lex@gmail.com> Fri, 02 Feb 2024 22:33:57 +0400
tileos-settings-sway (1.0.10~tileos) unstable; urgency=medium
* waybar: add help overlay module
* run help overlay on demand
-- Aleksey Samoilov <samoilov.lex@gmail.com> Mon, 29 Jan 2024 10:17:04 +0400
tileos-settings-sway (1.0.9~tileos) unstable; urgency=medium
* Temporary remove Scratchpad module
-- Aleksey Samoilov <samoilov.lex@gmail.com> Mon, 22 Jan 2024 22:23:51 +0400
tileos-settings-sway (1.0.8~tileos) unstable; urgency=medium
* Fix cursor for GTK 2 apps
-- Aleksey Samoilov <samoilov.lex@gmail.com> Fri, 12 Jan 2024 00:00:22 +0400
tileos-settings-sway (1.0.7~tileos) unstable; urgency=medium tileos-settings-sway (1.0.7~tileos) unstable; urgency=medium
* Set Bibata cursor by default * Set Bibata cursor by default

View file

@ -1,3 +1,3 @@
#!/usr/bin/env bash #!/usr/bin/env bash
pkill swaybg pkill swaybg
swaybg -o '*' -i "/usr/share/wallpapers/tileos-final-sway.png" -m fill & swaybg -o '*' -i "/usr/share/wallpapers/tileos-final.png" -m fill &

View file

@ -1,97 +1,79 @@
color_set:
text: &TEXT "#cad3f5"
subtext0: &SUBTEXT0 "#e3e3f3"
subtext1: &SUBTEXT1 "#ced4e0"
surface2: &SURFACE2 "#5b6078"
surface1: &SURFACE1 "#494d64"
index16: &INDEX16 "#ed6c13"
index17: &INDEX17 "#f4dbd6"
base: &BASE "#24273a"
red: &RED "#ed6070"
green: &GREEN "#a6da95"
blue: &BLUE "#8aadf4"
yellow: &YELLOW "#eed49f"
pink: &PINK "#f5bde6"
teal: &TEAL "#8bd5ca"
rosewater: &ROSEWATER "#f4dbd6"
lavender: &LAVENDER "#b7bdf8"
colors: colors:
# Default colors # Default colors
primary: primary:
background: *BASE background: "#24273A" # base
foreground: *TEXT foreground: "#CAD3F5" # text
# Bright and dim foreground colors # Bright and dim foreground colors
dim_foreground: *TEXT dim_foreground: "#CAD3F5" # text
bright_foreground: *TEXT bright_foreground: "#CAD3F5" # text
# Cursor colors # Cursor colors
cursor: cursor:
text: *BASE text: "#24273A" # base
cursor: *ROSEWATER cursor: "#F4DBD6" # rosewater
vi_mode_cursor: vi_mode_cursor:
text: *BASE text: "#24273A" # base
cursor: *LAVENDER cursor: "#B7BDF8" # lavender
# Search colors # Search colors
search: search:
matches: matches:
foreground: *BASE foreground: "#24273A" # base
background: *SUBTEXT0 background: "#A5ADCB" # subtext0
focused_match: focused_match:
foreground: *BASE foreground: "#24273A" # base
background: *GREEN background: "#A6DA95" # green
footer_bar: footer_bar:
foreground: *BASE foreground: "#24273A" # base
background: *SUBTEXT0 background: "#A5ADCB" # subtext0
# Keyboard regex hints # Keyboard regex hints
hints: hints:
start: start:
foreground: *BASE foreground: "#24273A" # base
background: *YELLOW background: "#EED49F" # yellow
end: end:
foreground: *BASE foreground: "#24273A" # base
background: *SUBTEXT0 background: "#A5ADCB" # subtext0
# Selection colors # Selection colors
selection: selection:
text: *BASE text: "#24273A" # base
background: *ROSEWATER background: "#F4DBD6" # rosewater
# Normal colors # Normal colors
normal: normal:
black: *SURFACE1 black: "#494D64" # surface1
red: *RED red: "#ED8796" # red
green: *GREEN green: "#A6DA95" # green
yellow: *YELLOW yellow: "#EED49F" # yellow
blue: *BLUE blue: "#8AADF4" # blue
magenta: *PINK magenta: "#F5BDE6" # pink
cyan: *TEAL cyan: "#8BD5CA" # teal
white: *SUBTEXT1 white: "#B8C0E0" # subtext1
# Bright colors # Bright colors
bright: bright:
black: *SURFACE2 black: "#5B6078" # surface2
red: *RED red: "#ED8796" # red
green: *GREEN green: "#A6DA95" # green
yellow: *YELLOW yellow: "#EED49F" # yellow
blue: *BLUE blue: "#8AADF4" # blue
magenta: *PINK magenta: "#F5BDE6" # pink
cyan: *TEAL cyan: "#8BD5CA" # teal
white: *SUBTEXT0 white: "#A5ADCB" # subtext0
# Dim colors # Dim colors
dim: dim:
black: *SURFACE1 black: "#494D64" # surface1
red: *RED red: "#ED8796" # red
green: *GREEN green: "#A6DA95" # green
yellow: *YELLOW yellow: "#EED49F" # yellow
blue: *BLUE blue: "#8AADF4" # blue
magenta: *PINK magenta: "#F5BDE6" # pink
cyan: *TEAL cyan: "#8BD5CA" # teal
white: *SUBTEXT1 white: "#B8C0E0" # subtext1
indexed_colors: indexed_colors:
- { index: 16, color: *INDEX16 } - { index: 16, color: "#F5A97F" }
- { index: 17, color: *INDEX17 } - { index: 17, color: "#F4DBD6" }

View file

@ -1,15 +0,0 @@
{
adapter: ""
gsm-apn: ""
gsm-number: ""
keybindings: {}
receive-dir: ""
theme: {
AdapterPowered: "powderblue",
AdapterNotPowered: "lightcoral",
AdapterPairable: "thistle",
AdapterScanning: "mistyrose",
DevicePropertyDiscovered: "mistyrose",
DevicePropertyConnected: "powderblue"
}
}

View file

@ -58,7 +58,7 @@ theme[cached_mid]="#8aadf4"
theme[cached_end]="#b7bdf8" theme[cached_end]="#b7bdf8"
# Mem/Disk available meter (Peach -> Red) # Mem/Disk available meter (Peach -> Red)
theme[available_start]="#ed6c13" theme[available_start]="#f5a97f"
theme[available_mid]="#ee99a0" theme[available_mid]="#ee99a0"
theme[available_end]="#ed8796" theme[available_end]="#ed8796"
@ -68,7 +68,7 @@ theme[used_mid]="#8bd5ca"
theme[used_end]="#91d7e3" theme[used_end]="#91d7e3"
# Download graph colors (Peach -> Red) # Download graph colors (Peach -> Red)
theme[download_start]="#ed6c13" theme[download_start]="#f5a97f"
theme[download_mid]="#ee99a0" theme[download_mid]="#ee99a0"
theme[download_end]="#ed8796" theme[download_end]="#ed8796"

View file

@ -17,7 +17,7 @@
# #
# If this option is set to mouse or keyboard, the monitor option # If this option is set to mouse or keyboard, the monitor option
# will be ignored. # will be ignored.
follow = mouse follow = none
### Geometry ### ### Geometry ###
@ -329,7 +329,7 @@
[urgency_critical] [urgency_critical]
background = "#24273A" background = "#24273A"
foreground = "#CAD3F5" foreground = "#CAD3F5"
frame_color = "#ED6C13" frame_color = "#F5A97F"
timeout = 0 timeout = 0
# Icon for notifications with critical urgency, uncomment to enable # Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon #default_icon = /path/to/icon

View file

@ -1,7 +1,7 @@
[ [
{ {
"label": "Lock", "label": "Lock",
"exec": "swaymsg exec /usr/share/sway/scripts/lock.sh", "exec": "swaymsg exec ~/.config/swaylock/lock.sh",
"icon": "system-lock-screen" "icon": "system-lock-screen"
}, },
{ {

View file

@ -13,9 +13,9 @@ Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio C
<color name="macchiato_flamingo" value="#f0c6c6"/> <color name="macchiato_flamingo" value="#f0c6c6"/>
<color name="macchiato_pink" value="#f5bde6"/> <color name="macchiato_pink" value="#f5bde6"/>
<color name="macchiato_mauve" value="#c6a0f6"/> <color name="macchiato_mauve" value="#c6a0f6"/>
<color name="macchiato_red" value="#ed6070"/> <color name="macchiato_red" value="#ed8796"/>
<color name="macchiato_maroon" value="#ee99a0"/> <color name="macchiato_maroon" value="#ee99a0"/>
<color name="macchiato_peach" value="#ed6c13"/> <color name="macchiato_peach" value="#f5a97f"/>
<color name="macchiato_yellow" value="#eed49f"/> <color name="macchiato_yellow" value="#eed49f"/>
<color name="macchiato_green" value="#a6da95"/> <color name="macchiato_green" value="#a6da95"/>
<color name="macchiato_teal" value="#8bd5ca"/> <color name="macchiato_teal" value="#8bd5ca"/>
@ -24,8 +24,8 @@ Catppuccin Gedit theme based on Oblivion theme and Cappuccin for Visual Studio C
<color name="macchiato_blue" value="#8aadf4"/> <color name="macchiato_blue" value="#8aadf4"/>
<color name="macchiato_lavender" value="#b7bdf8"/> <color name="macchiato_lavender" value="#b7bdf8"/>
<color name="macchiato_text" value="#cad3f5"/> <color name="macchiato_text" value="#cad3f5"/>
<color name="macchiato_subtext1" value="#ced4e0"/> <color name="macchiato_subtext1" value="#b8c0e0"/>
<color name="macchiato_subtext0" value="#e3e3f3"/> <color name="macchiato_subtext0" value="#a5adcb"/>
<color name="macchiato_overlay2" value="#939ab7"/> <color name="macchiato_overlay2" value="#939ab7"/>
<color name="macchiato_overlay1" value="#8087a2"/> <color name="macchiato_overlay1" value="#8087a2"/>
<color name="macchiato_overlay0" value="#6e738d"/> <color name="macchiato_overlay0" value="#6e738d"/>

View file

@ -3,7 +3,7 @@ color_scheme_path=$HOME/.config/qt6ct/colors/Catppuccin-Macchiato.conf
custom_palette=true custom_palette=true
icon_theme=ePapirus icon_theme=ePapirus
standard_dialogs=default standard_dialogs=default
style=kvantum-dark style=Fusion
[Fonts] [Fonts]
fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular" fixed="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"

View file

@ -1,7 +1,6 @@
timeout 240 'light -G > /tmp/brightness && light -S 10' resume 'light -S $([ -f /tmp/brightness ] && cat /tmp/brightness || echo 100%)' timeout 240 'light -G > /tmp/brightness && light -S 10' resume 'light -S $([ -f /tmp/brightness ] && cat /tmp/brightness || echo 100%)'
timeout 300 '/usr/share/sway/scripts/lock.sh' timeout 300 ~/.config/swaylock/lock.sh
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"'
timeout 900 'systemctl suspend'
before-sleep 'playerctl pause' before-sleep 'playerctl pause'
before-sleep '/usr/share/sway/scripts/lock.sh' before-sleep ~/.config/swaylock/lock.sh
lock '/usr/share/sway/scripts/lock.sh' lock ~/.config/swaylock/lock.sh

View file

@ -15,4 +15,4 @@ ring-color=c6a0f6
ring-ver-color=7dc4e4 ring-ver-color=7dc4e4
ring-wrong-color=ee99a0 ring-wrong-color=ee99a0
ring-clear-color=8aadf4 ring-clear-color=8aadf4
ring-caps-lock-color=ed6c13 ring-caps-lock-color=f5a97f

View file

@ -10,8 +10,8 @@
@define-color crust #181926; @define-color crust #181926;
@define-color text #cad3f5; @define-color text #cad3f5;
@define-color subtext0 #e3e3f3; @define-color subtext0 #a5adcb;
@define-color subtext1 #ced4e0; @define-color subtext1 #b8c0e0;
@define-color surface0 #363a4f; @define-color surface0 #363a4f;
@define-color surface1 #494d64; @define-color surface1 #494d64;
@ -28,9 +28,9 @@
@define-color teal #8bd5ca; @define-color teal #8bd5ca;
@define-color green #a6da95; @define-color green #a6da95;
@define-color yellow #eed49f; @define-color yellow #eed49f;
@define-color peach #ed6c13; @define-color peach #f5a97f;
@define-color maroon #ee99a0; @define-color maroon #ee99a0;
@define-color red #ed6070; @define-color red #ed8796;
@define-color mauve #c6a0f6; @define-color mauve #c6a0f6;
@define-color pink #f5bde6; @define-color pink #f5bde6;
@define-color flamingo #f0c6c6; @define-color flamingo #f0c6c6;

View file

@ -6,12 +6,12 @@
"modules-center": ["custom/wf-recorder", "sway/mode"], "modules-center": ["custom/wf-recorder", "sway/mode"],
"modules-right": [ "modules-right": [
"tray", "tray",
"custom/scratchpad",
"custom/playerctl", "custom/playerctl",
"custom/help",
"custom/wlsunset", "custom/wlsunset",
"idle_inhibitor", "idle_inhibitor",
"sway/language",
"custom/dunst", "custom/dunst",
"sway/language",
"custom/clipboard", "custom/clipboard",
"cpu", "cpu",
"memory", "memory",
@ -47,7 +47,7 @@
"tooltip-format": "{tooltip}", "tooltip-format": "{tooltip}",
"exec": "echo '{\"class\": \"recording\",\"text\":\"\",\"tooltip\":\"press $mod+Esc to stop recording\"}'", "exec": "echo '{\"class\": \"recording\",\"text\":\"\",\"tooltip\":\"press $mod+Esc to stop recording\"}'",
"exec-if": "pgrep wf-recorder", "exec-if": "pgrep wf-recorder",
"on-click": "/usr/share/sway/scripts/recorder.sh", "on-click": "killall -s SIGINT wf-recorder",
"signal": 8 "signal": 8
}, },
@ -56,6 +56,19 @@
"tooltip": false "tooltip": false
}, },
"custom/scratchpad": {
"interval": "once",
"return-type": "json",
"format": "{icon}",
"format-icons": {
"one": "",
"many": ""
},
"exec": "/bin/bash /usr/share/sway/scripts/scratchpad.sh; pkill -RTMIN+7 waybar",
"on-click": "swaymsg 'scratchpad show'",
"signal": 7
},
"custom/playerctl": { "custom/playerctl": {
"interval": "once", "interval": "once",
"tooltip": true, "tooltip": true,
@ -73,12 +86,6 @@
"signal": 5 "signal": 5
}, },
"custom/help": {
"format": "",
"on-click": "/usr/share/sway/scripts/help.sh --toggle",
"tooltip": "false"
},
"custom/wlsunset": { "custom/wlsunset": {
"interval": "once", "interval": "once",
"tooltip": true, "tooltip": true,
@ -174,7 +181,6 @@
"bluetooth": { "bluetooth": {
"format": "", "format": "",
"format-disabled": "", "format-disabled": "",
"format-no-controller": "",
"on-click": "swaymsg exec \\$bluetooth", "on-click": "swaymsg exec \\$bluetooth",
"on-click-right": "rfkill toggle bluetooth", "on-click-right": "rfkill toggle bluetooth",
"tooltip-format": "{}" "tooltip-format": "{}"

View file

@ -70,9 +70,9 @@ window#waybar.hidden {
} }
#clock, #clock,
#custom-help,
#custom-playerctl, #custom-playerctl,
#custom-power, #custom-power,
#custom-scratchpad,
#custom-wlsunset, #custom-wlsunset,
#custom-clipboard, #custom-clipboard,
#custom-menu, #custom-menu,
@ -108,12 +108,12 @@ window#waybar.hidden {
color: @rosewater; color: @rosewater;
} }
#custom-playerctl { #custom-scratchpad {
color: @pink; color: @flamingo;
} }
#custom-help { #custom-playerctl {
color: @rosewater; color: @pink;
} }
#custom-wlsunset { #custom-wlsunset {

View file

@ -5,7 +5,7 @@ include "/home/sunderland93/.gtkrc-2.0.mine"
gtk-theme-name="Catppuccin-Macchiato-Standard-Blue-Dark" gtk-theme-name="Catppuccin-Macchiato-Standard-Blue-Dark"
gtk-icon-theme-name="ePapirus-Dark" gtk-icon-theme-name="ePapirus-Dark"
gtk-font-name="Noto Sans 11" gtk-font-name="Noto Sans 11"
gtk-cursor-theme-name="Bibata-Modern-Classic" gtk-cursor-theme-name="breeze_cursors"
gtk-cursor-theme-size=24 gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR

View file

@ -1,6 +1,5 @@
# set floating mode for specific application # set floating mode for specific application
for_window [app_id="[Ff]irefox" title="^Library$"] floating enable, border pixel 1 for_window [app_id="firefox" title="^Library$"] floating enable, border pixel 1, sticky enable
for_window [app_id="[Ll]ibrewolf" title="^Library$"] floating enable, border pixel 1
for_window [app_id="thunderbird" title=".*Reminder"] floating enable for_window [app_id="thunderbird" title=".*Reminder"] floating enable
for_window [app_id="floating_shell_portrait"] floating enable, border pixel 1, sticky enable, resize set width 30 ppt height 40 ppt for_window [app_id="floating_shell_portrait"] floating enable, border pixel 1, sticky enable, resize set width 30 ppt height 40 ppt
for_window [app_id="floating_shell"] floating enable, border pixel 1, sticky enable, resize set width 50 ppt height 60 ppt for_window [app_id="floating_shell"] floating enable, border pixel 1, sticky enable, resize set width 50 ppt height 60 ppt
@ -23,7 +22,7 @@ for_window [class="calamares"] floating enable
for_window [app_id="calamares"] floating enable for_window [app_id="calamares"] floating enable
for_window [app_id="sway-input-config"] floating enable for_window [app_id="sway-input-config"] floating enable
for_window [title="Save File"] floating enable for_window [title="Save File"] floating enable
for_window [title="[Ff]irefox .*— Sharing Indicator"] floating enable, sticky enable, move to scratchpad for_window [title="Firefox .*— Sharing Indicator"] floating enable, sticky enable, move to scratchpad
for_window [app_id="" title=".* is sharing your screen."] floating enable for_window [app_id="" title=".* is sharing your screen."] floating enable
# set floating mode for generated windows # set floating mode for generated windows
@ -42,19 +41,21 @@ for_window [title="Copy Files"] floating enable;
for_window [title="Copy Files"] resize set 600 400 for_window [title="Copy Files"] resize set 600 400
for_window [title="Confirm to replace files"] floating enable; for_window [title="Confirm to replace files"] floating enable;
for_window [title="Confirm to replace files"] move position center for_window [title="Confirm to replace files"] move position center
for_window [title="Choose an Application"] floating enable
for_window [title="Removable medium is inserted"] floating enable # apply mark for Xwayland and wayland native browser windows
for_window [class="Chromium-browser"] mark Browser
for_window [class="Brave-browser"] mark Browser
for_window [class="firefox"] mark Browser
for_window [app_id="Chromium-browser"] mark Browser
for_window [app_id="brave-browser"] mark Browser
for_window [app_id="firefox"] mark Browser
# inhibit scrensaver for fullscreen browser windows
for_window [con_mark="Browser"] {
inhibit_idle fullscreen
}
# Don't allow applications to inhibit shortcuts, i.e. grab total control of the # Don't allow applications to inhibit shortcuts, i.e. grab total control of the
# keyboard. Chrome currently abuses this by enabling it for all "--app=..." # keyboard. Chrome currently abuses this by enabling it for all "--app=..."
# shortcuts. # shortcuts.
seat * shortcuts_inhibitor disable seat * shortcuts_inhibitor disable
# mark applications for which shortcuts inhibition is allowed
for_window [class="[Vv]irt-"] mark Grabbing
for_window [class="[Rr]eminna"] mark Grabbing
for_window [app_id="[Vv]irt-"] mark Grabbing
for_window [app_id="[Rr]emmina"] mark Grabbing
# inhibit keyboard shortcuts for marked applications
for_window [con_mark="Grabbing"] shortcuts_inhibitor enable

View file

@ -32,7 +32,6 @@ $bindsym $mod+Shift+e exec nwg-bar -x
$bindsym --locked XF86AudioRaiseVolume exec $volume_up $bindsym --locked XF86AudioRaiseVolume exec $volume_up
$bindsym --locked XF86AudioLowerVolume exec $volume_down $bindsym --locked XF86AudioLowerVolume exec $volume_down
$bindsym --locked XF86AudioMute exec $volume_mute $bindsym --locked XF86AudioMute exec $volume_mute
$bindsym --locked XF86AudioMicMute exec $mic_mute
$bindsym --locked XF86AudioPlay exec playerctl play-pause $bindsym --locked XF86AudioPlay exec playerctl play-pause
$bindsym --locked XF86AudioNext exec playerctl next $bindsym --locked XF86AudioNext exec playerctl next
$bindsym --locked XF86AudioPrev exec playerctl previous $bindsym --locked XF86AudioPrev exec playerctl previous
@ -97,6 +96,7 @@ $bindsym $mod+6 workspace $ws6
$bindsym $mod+7 workspace $ws7 $bindsym $mod+7 workspace $ws7
$bindsym $mod+8 workspace $ws8 $bindsym $mod+8 workspace $ws8
$bindsym $mod+9 workspace $ws9 $bindsym $mod+9 workspace $ws9
$bindsym $mod+0 workspace $ws10
set $focus_ws [ "$focus_after_move" == 'true' ] && swaymsg workspace set $focus_ws [ "$focus_after_move" == 'true' ] && swaymsg workspace
@ -124,9 +124,6 @@ $bindsym $mod+Shift+n exec /usr/share/sway/scripts/first-empty-workspace.py --mo
## Action // Move focused window to a new workspace and switch there ## ## Action // Move focused window to a new workspace and switch there ##
$bindsym $mod+Shift+m exec /usr/share/sway/scripts/first-empty-workspace.py --move --switch $bindsym $mod+Shift+m exec /usr/share/sway/scripts/first-empty-workspace.py --move --switch
## Action // Toogle shortcuts inhibition // $mod + Control_R ##
$bindsym --inhibited $mod+Control_R exec $toggle_shorcuts_inhibitor
# #
# Layout stuff: # Layout stuff:
# #

View file

@ -16,4 +16,4 @@ mode --pango_markup $mode_recording {
$bindsym $mod+Shift+r mode $mode_recording $bindsym $mod+Shift+r mode $mode_recording
## Launch // Stop Recording Mode ## ## Launch // Stop Recording Mode ##
$bindsym $mod+Escape exec $recorder $bindsym $mod+Escape exec killall -s SIGINT wf-recorder

View file

@ -1,18 +0,0 @@
#
# Screenmirror:
#
# The mode allows the user to mirror the headless output.
# This is primarily used when screencasting to cast only the windows that
# belong to the headless output instead of casting the entire screen.
#
# See the following link for more details:
# https://github.com/emersion/xdg-desktop-portal-wlr/issues/107#issuecomment-1596107337
# set $screenmirror /usr/share/sway/scripts/screenmirror.sh
# set $start_mirror systemd-cat $screenmirror $headless
# set $stop_mirror systemd-cat $screenmirror -k
# ## Launch // Switch to the workspace for mirroring ##
# $bindsym $mod+0 exec $start_mirror, workspace $ws10
# ## Launch // Switch back from the workspace for mirroring ##
# $bindsym $mod+Mod1+0 exec $stop_mirror, workspace back_and_forth

View file

@ -1,9 +0,0 @@
# This output configuration is required for the screenmirror mode to work.
#set $headless HEADLESS-1
#output $headless {
# position 16000 16000
#}
#workspace $ws10 output $headless
#exec swaymsg create_output

View file

@ -15,13 +15,13 @@ set $flock /usr/share/sway/scripts/flock.sh
# Your preferred terminal emulator # Your preferred terminal emulator
set $term alacritty set $term alacritty
set $term_cwd $term --working-directory "$(/usr/share/sway/scripts/swaycwd.sh 2>/dev/null || echo $HOME)" set $term_cwd $term --working-directory "$(/usr/share/sway/scripts/swaycwd.sh 2>/dev/null || echo $HOME)"
set $term_float $term --class floating_shell -e set $term_float alacritty --class floating_shell -e
# Rofi theme # Rofi theme
set $rofi_theme "* {lightbg: $base; background: $base; lightfg: $blue; foreground: $text; border-color: $blue;} window {border: 2;}" set $rofi_theme "* {lightbg: $base; background: $base; lightfg: $blue; foreground: $text; border-color: $blue;} window {border: 2;}"
# Your preferred application launcher # Your preferred application launcher
set $menu rofi -show combi -modes combi -combi-modes "drun,run" -terminal "$term" -show-icons -font "$gui-font" set $menu rofi -show combi -combi-modi "drun,run" -terminal $term -ssh-command "{terminal} {ssh-client} {host} [-p {port}]" -run-shell-command "{terminal} {cmd}" -show-icons -font "$gui-font"
# Add --to-code to bindsym, support for non-latin layouts # Add --to-code to bindsym, support for non-latin layouts
set $bindsym bindsym --to-code set $bindsym bindsym --to-code
@ -44,7 +44,6 @@ set $brightness_down light -r -U $($brightness_step) && $brightness_bar
set $volume_down pulsemixer --change-volume -5 && $volume_bar set $volume_down pulsemixer --change-volume -5 && $volume_bar
set $volume_up pulsemixer --change-volume +5 && $volume_bar set $volume_up pulsemixer --change-volume +5 && $volume_bar
set $volume_mute pulsemixer --toggle-mute && $volume_bar set $volume_mute pulsemixer --toggle-mute && $volume_bar
set $mic_mute /usr/share/sway/scripts/mic-mute.sh
# Clipboard history # Clipboard history
set $clipboard cliphist list | rofi -dmenu -font "$gui-font" -p "Select item to copy:" -lines 10 -width 35 | cliphist decode | wl-copy set $clipboard cliphist list | rofi -dmenu -font "$gui-font" -p "Select item to copy:" -lines 10 -width 35 | cliphist decode | wl-copy
@ -72,7 +71,7 @@ set $ws6 number 6
set $ws7 number 7 set $ws7 number 7
set $ws8 number 8 set $ws8 number 8
set $ws9 number 9 set $ws9 number 9
set $ws10 "<span baseline_shift='-20pt' weight='bold'>🖵</span>" set $ws10 number 10
# Screenshot # Screenshot
set $grimshot /usr/bin/grimshot set $grimshot /usr/bin/grimshot
@ -105,14 +104,14 @@ set $switch_toplevel '[ -f /usr/share/sway/scripts/switch-top-level.py ] && /usr
set $kanshi '[ -x "$(command -v kanshi)" ] && pkill kanshi; exec kanshi' set $kanshi '[ -x "$(command -v kanshi)" ] && pkill kanshi; exec kanshi'
# Start PCmanFM-Qt as a daemon # Start PCmanFM-Qt as a daemon
set $pcmanfm_daemon '[ -x "$(command -v pcmanfm-qt)" ] && pcmanfm-qt -d' set $pcmanfm_daemon '[ -x "$(command -v pcmanfm)" ] && pcmanfm-qt -d'
# Clipboard manager # Clipboard manager
set $cliphist_store '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch cliphist store' set $cliphist_store '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch cliphist store'
set $cliphist_watch '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch pkill -RTMIN+9 waybar' set $cliphist_watch '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch pkill -RTMIN+9 waybar'
# Start nwg-drawer as a daemon # Start nwg-drawer as a daemon
set $nwg_drawer_daemon '[ -x "$(command -v nwg-drawer)" ] && nwg-drawer -r -term "$term"' set $nwg_drawer_daemon '[ -x "$(command -v nwg-drawer)" ] && nwg-drawer -r'
# Start playerctl as daemon # Start playerctl as daemon
set $watch_playerctl '[ -x "$(command -v playerctl)" ] && pkill playerctl; playerctl -a metadata --format \'{{status}} {{title}}\' --follow | while read line; do pkill -RTMIN+5 waybar; done' set $watch_playerctl '[ -x "$(command -v playerctl)" ] && pkill playerctl; playerctl -a metadata --format \'{{status}} {{title}}\' --follow | while read line; do pkill -RTMIN+5 waybar; done'
@ -125,9 +124,3 @@ set $calendar_daemon 'calcurse --daemon'
# Notifications from Swappy # Notifications from Swappy
set $swappy_notify '[ -x "$(command -v swappy)" ] && /usr/share/sway/scripts/screenshot-notify.sh' set $swappy_notify '[ -x "$(command -v swappy)" ] && /usr/share/sway/scripts/screenshot-notify.sh'
# Start a screensaver
set $lock '/usr/share/sway/scripts/lock.sh'
# Toggle shortcuts inhibition mode for the current focused window
set $toggle_shorcuts_inhibitor 'swaymsg "seat - shortcuts_inhibitor toggle"'

View file

@ -1,3 +0,0 @@
[screencast]
chooser_type=dmenu
chooser_cmd=/usr/share/sway/scripts/select-output.sh

View file

@ -47,14 +47,9 @@ if [ -d "${XDG_CONFIG_HOME:-$HOME/.config}/environment.d" ]; then
set +o allexport set +o allexport
fi fi
# Run Sway under ssh-agent
run_sway() {
exec systemd-cat -- /usr/bin/ssh-agent /usr/bin/sway $@
}
# Check if Nvidia driver installed, start Sway and send output to the journal # Check if Nvidia driver installed, start Sway and send output to the journal
if [ -d /sys/module/nvidia ] && [ ! -d /sys/module/amdgpu ] && [ ! -d /sys/module/i915 ]; then if [ -d /sys/module/nvidia ] && [ ! -d /sys/module/amdgpu ] && [ ! -d /sys/module/i915 ]; then
run_sway --unsupported-gpu $@ exec systemd-cat -- /usr/bin/sway --unsupported-gpu $@
else else
run_sway exec systemd-cat -- /usr/bin/sway $@
fi fi

View file

@ -1,12 +0,0 @@
[Unit]
Description=Toggle idle inhibition depending on whether the audio is playing or not
PartOf=swayidle.service
After=swayidle.service
[Service]
ExecStart=/usr/share/sway/scripts/idle-inhibitor.sh
Restart=always
RestartSec=30
[Install]
WantedBy=sway-session.target

View file

@ -1,9 +0,0 @@
[Unit]
Description=Automatically restart the swayidle when its configuration changes
PartOf=swayidle.service
[Path]
PathChanged=%h/.config/swayidle/config
[Install]
WantedBy=paths.target

View file

@ -1,6 +0,0 @@
[Service]
ExecStart=systemctl --user restart swayidle.service
Type=oneshot
[Install]
WantedBy=graphical-session.target

View file

@ -6,7 +6,7 @@ ConditionPathExists=/usr/bin/swayidle
[Service] [Service]
Type=simple Type=simple
ExecStart=/usr/bin/swayidle -w ExecStart=/usr/bin/swayidle
[Install] [Install]
WantedBy=sway-session.target WantedBy=sway-session.target

View file

@ -1,11 +0,0 @@
[Unit]
Description=Automatically restart the waybar when its configuration changes
PartOf=waybar.service
[Path]
PathChanged=%h/.config/waybar
PathChanged=%h/.config/waybar/colors
PathChanged=%h/waybar/config
[Install]
WantedBy=paths.target

View file

@ -1,3 +0,0 @@
[Service]
ExecStart=systemctl --user restart waybar.service
Type=oneshot

View file

@ -6,10 +6,10 @@ VISIBILITY_SIGNAL=30
QUIT_SIGNAL=31 QUIT_SIGNAL=31
if [ "$1" = "--toggle" ]; then if [ "$1" = "--toggle" ]; then
pkill -f -${VISIBILITY_SIGNAL} 'nwg-wrapper.*-s help.sh' pkill -f -${VISIBILITY_SIGNAL} nwg-wrapper
else else
pkill -f -${QUIT_SIGNAL} 'nwg-wrapper.*-s help.sh' pkill -f -${QUIT_SIGNAL} nwg-wrapper
for output in $(swaymsg -t get_outputs --raw | jq -r '.[].name'); do for output in $(swaymsg -t get_outputs --raw | jq -r '.[].name'); do
nwg-wrapper -o "$output" -i -sv ${VISIBILITY_SIGNAL} -sq ${QUIT_SIGNAL} -s help.sh -p left -a end & nwg-wrapper -o "$output" -sv ${VISIBILITY_SIGNAL} -sq ${QUIT_SIGNAL} -s help.sh -p left -a end &
done done
fi fi

View file

@ -1,32 +0,0 @@
#!/bin/bash
check_status() {
grep -s -l -v "closed" \
/proc/asound/card*/pcm*/sub*/status \
&>/dev/null
}
out() {
printf "Idle inhibition is OFF.\n"
exit 0
}
watch_status() {
printf "Idle inhibition is ON.\n"
while check_status; do
sleep 10
done
out
}
main() {
check_status || out
test "$1" = "-w" && watch_status
systemd-inhibit \
--what=idle \
--who="${0##*/}" \
--why="Inhibit idle due to audio is now playing" \
--mode=block \
"$0" -w
}
main "$@"

View file

@ -1,10 +0,0 @@
#!/bin/bash
USER_SCRIPT="$HOME/.config/swaylock/lock.sh"
GLOB_SCRIPT="/usr/share/sway/scripts/swaylock.sh"
if [[ -x "$USER_SCRIPT" ]]; then
"$USER_SCRIPT"
else
"$GLOB_SCRIPT"
fi

View file

@ -1,14 +0,0 @@
#!/bin/bash
set -e
MIC="${1:-'Capture'}"
amixer sset "$MIC" toggle
STATE="$(amixer sget "$MIC",0 | sed -E -e '0,/^.*\[(on|off)\].*$/d' -e 's/^.*\[(\w+)\].*$/\1/')"
test -n "$STATE" && notify-send \
--app-name sway \
--expire-time 800 \
"Microphone is $STATE"

View file

@ -1,69 +1,44 @@
#!/bin/bash #!/bin/bash
set -x
pgrep wf-recorder
status=$?
countdown() { countdown() {
for count in {3..1}; do notify "Recording in 3 seconds" -t 1000
notify "Recording in $count seconds" -t 1000 sleep 1
sleep 1 notify "Recording in 2 seconds" -t 1000
done sleep 1
notify "Recording in 1 seconds" -t 1000
sleep 1
} }
notify() { notify() {
notify-send \ line=$1
"$1" \ shift
-i "/usr/share/icons/Yaru/scalable/devices/camera-video-symbolic.svg" \ notify-send "Recording" "${line}" -i /usr/share/icons/Yaru/scalable/devices/camera-video-symbolic.svg "$*"
"${@:2}"
} }
kill_waybar() { if [ $status != 0 ]; then
pkill -RTMIN+8 waybar
}
kill_recursive() {
ps -o sid= -p "$1" | xargs pkill --signal SIGINT -g
}
cleanup() {
pid=$(cat "$1")
rm "$1"
kill_waybar
kill_recursive "$pid"
exit
}
main() {
pid_file="/tmp/screenrecorder-$UID.pid"
test -e "$pid_file" && cleanup "$pid_file"
echo "$$" > "$pid_file"
target_path=$(xdg-user-dir VIDEOS) target_path=$(xdg-user-dir VIDEOS)
timestamp=$(date +'recording_%Y%m%d-%H%M%S') timestamp=$(date +'recording_%Y%m%d-%H%M%S')
notify "Select a region to record" -t 1000 notify "Select a region to record" -t 1000
area=$(swaymsg -t get_tree | \ area=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)
jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | \
slurp)
countdown countdown
(sleep 0.5 && kill_waybar) & (sleep 0.5 && pkill -RTMIN+8 waybar) &
if [[ "$1" == "-a" ]]; then if [ "$1" == "-a" ]; then
file="$target_path/$timestamp.mp4" file="$target_path/$timestamp.mp4"
wf-recorder --audio -g "$area" --file="$file" wf-recorder --audio -g "$area" --file="$file"
else else
file="$target_path/$timestamp.webm" file="$target_path/$timestamp.webm"
output="$(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name')" wf-recorder -g "$area" -c libvpx --codec-param="qmin=0" --codec-param="qmax=25" --codec-param="crf=4" --codec-param="b:v=1M" --file="$file"
wf-recorder \
-g "$area" -c libvpx \
--codec-param="qmin=0" \
--codec-param="qmax=25" \
--codec-param="crf=4" \
--codec-param="b:v=1M" \
-o "$output" \
--file="$file"
fi fi
kill_waybar && notify "Finished recording ${file}" pkill -RTMIN+8 waybar && notify "Finished recording ${file}"
rm $pid_file else
} pkill --signal SIGINT wf-recorder
main "$@" pkill -RTMIN+8 waybar
fi

View file

@ -2,7 +2,6 @@
import sys import sys
import glob import glob
import re import re
import os
from typing import Text from typing import Text
import json import json
@ -27,7 +26,6 @@ def readFile(filePath):
for line in allLines: for line in allLines:
if re.search(r'^include\s+(.+?)$', line): if re.search(r'^include\s+(.+?)$', line):
nextPath = re.findall(r'^include\s+(.+?)$', line)[0] nextPath = re.findall(r'^include\s+(.+?)$', line)[0]
nextPath = os.path.expandvars(nextPath)
finalLines = finalLines + readFile(nextPath) finalLines = finalLines + readFile(nextPath)
else: else:
finalLines = finalLines + [line] finalLines = finalLines + [line]

View file

@ -0,0 +1,15 @@
#!/bin/bash
tooltip=$(swaymsg -r -t get_tree | jq -r 'recurse(.nodes[]) | first(select(.name=="__i3_scratch")) | .floating_nodes | .[] | "\(.app_id) | \(.name)"')
count=$(echo -n "$tooltip" | grep -c '^')
if [ "$count" -eq 0 ]; then
exit 1
elif [ "$count" -eq 1 ]; then
class="one"
elif [ "$count" -gt 1 ]; then
class="many"
else
class="unknown"
fi
printf '{"text":"%s", "class":"%s", "alt":"%s", "tooltip":"%s"}\n' "$count" "$class" "$class" "${tooltip//$'\n'/'\n'}"

View file

@ -1,38 +0,0 @@
#!/bin/bash
#
# This script implements the function of mirroring outputs.
# It uses wl-mirror and Sway's ability to create headless outputs.
#
# The script is written as a singleton. It allows the user to run only one
# instance of itself and kills all others. This is necessary so that wl-mirror
# instances do not interfere with each other.
SELF_NAME="$(basename "$0")"
SELF_PID="$$"
get_pgid() {
ps -h -o "%r" -p "$1" | awk '{print $1}'
}
SELF_PGID="$(get_pgid "$SELF_PID")"
kill_by_pgid() {
pkill -"$2" -g "$1"
}
kill_copies() {
mapfile -t pids < <(pgrep -u "$USER" -x "$SELF_NAME")
for pid in "${pids[@]}" ; do
pgid="$(get_pgid "$pid")"
[[ $pgid -ne $SELF_PGID ]] && kill_by_pgid "$pgid" "INT"
done
}
main() {
# Don't single quote the trap's command!
# It must be expanded when the trap is defined.
# shellcheck disable=SC2064
trap "kill_by_pgid $SELF_PGID TERM" INT
kill_copies
[[ "$1" != "-k" ]] && wl-mirror -F "${1:-HEADLESS-1}"
}
main "$@"

View file

@ -1,33 +0,0 @@
#!/bin/bash
export LC_ALL=C
TITLE="Select the output for the screencast"
OUT_NAME="HEADLESS-1"
FONT_SIZE="12"
ROSEWATER="#f4dbd6"
FONT="Noto Sans ${FONT_SIZE}"
FONT_COLOR="${ROSEWATER}"
I_SIZE="$(awk "BEGIN {print (${FONT_SIZE}*1.08)}")"
OUT_SIZE="$(awk "BEGIN {print (${FONT_SIZE}*0.94)}")"
TIP_SHIFT="$(awk "BEGIN {print (1+(${I_SIZE}-${FONT_SIZE})/2)}")"
TIP="\
<span color='${FONT_COLOR}'>\
<span size='${I_SIZE}pt'></span> \
<span baseline_shift='${TIP_SHIFT}pt'>use \
<span size='${OUT_SIZE}pt'>${OUT_NAME}</span> \
to cast only chosen windows\
</span>\
</span>\
"
swaymsg -t get_outputs \
| jq -r '.[] | .name' \
| rofi \
-dmenu -i -l 4 \
-p "${TITLE}" \
-window-title "${TITLE}" \
-mesg "${TIP}" \
-font "${FONT}"