Merge pull request #72 from BluishHumility/main
merge bluish fork: waybar updates, screenshotting scripts, autotiling script
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<icon>utilities-terminal</icon>
|
||||
<name>Open Terminal Here</name>
|
||||
<unique-id>1611168259857250-1</unique-id>
|
||||
<command>sh -c 'cd %f; xfce4-terminal'</command>
|
||||
<command>sh -c 'cd %f; footclient'</command>
|
||||
<description>Example for a custom action</description>
|
||||
<patterns>*</patterns>
|
||||
<startup-notify/>
|
||||
|
||||
195
.config/foot/foot.ini
Normal file
195
.config/foot/foot.ini
Normal file
@@ -0,0 +1,195 @@
|
||||
# -*- 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-Regular:size=13
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
# dpi-aware=auto
|
||||
|
||||
# initial-window-size-pixels=700x500 # Or,
|
||||
# initial-window-size-chars=<COLSxROWS>
|
||||
# initial-window-mode=windowed
|
||||
pad=12x12 # 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=<number of logical CPUs>
|
||||
|
||||
[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=<inverse foreground/background>
|
||||
# blink=no
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
# hide-when-typing=no
|
||||
# alternate-scroll-mode=yes
|
||||
|
||||
[colors]
|
||||
alpha=0.9 # Adjust alpha to match transparency level
|
||||
foreground=e3e3ea # ColorForeground
|
||||
background=08052b # ColorBackground
|
||||
|
||||
## Normal/regular colors (color palette 0-7)
|
||||
regular0=546E7A # black
|
||||
regular1=FF5252 # red
|
||||
regular2=5CF19E # green
|
||||
regular3=FFD740 # yellow
|
||||
regular4=40C4FF # blue
|
||||
regular5=FF4081 # magenta
|
||||
regular6=64FCDA # cyan
|
||||
regular7=FFFFFF # white
|
||||
|
||||
## Bright colors (color palette 8-15)
|
||||
bright0=B0BEC5 # bright black
|
||||
bright1=FF8A80 # bright red
|
||||
bright2=B9F6CA # bright green
|
||||
bright3=FFE57F # bright yellow
|
||||
bright4=80D8FF # bright blue
|
||||
bright5=FF80AB # bright magenta
|
||||
bright6=A7FDEB # bright cyan
|
||||
bright7=FFFFFF # bright white
|
||||
|
||||
## dimmed colors (see foot.ini(5) man page)
|
||||
# dim0=<not set>
|
||||
# ...
|
||||
# dim7=<not-set>
|
||||
|
||||
## The remaining 256-color palette
|
||||
# 16 = <256-color palette #16>
|
||||
# ...
|
||||
# 255 = <256-color palette #255>
|
||||
|
||||
## Misc colors
|
||||
# selection-foreground=<inverse foreground/background>
|
||||
# selection-background=<inverse foreground/background>
|
||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
||||
# urls=<regular3>
|
||||
|
||||
[csd]
|
||||
# preferred=server
|
||||
size=0
|
||||
# font=<primary font>
|
||||
# color=<foreground color>
|
||||
# hide-when-typing=no
|
||||
# border-width=0
|
||||
# border-color=<csd.color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[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
|
||||
@@ -23,12 +23,9 @@
|
||||
|
||||
MOD key is set to the WINKEY/LINKEY
|
||||
|
||||
# start floating xfce4-terminal
|
||||
# Launch the terminal
|
||||
MOD+Return
|
||||
|
||||
# start fixed termite-terminal
|
||||
MOD+Shift+Return
|
||||
|
||||
# kill focused window
|
||||
MOD+q
|
||||
|
||||
|
||||
@@ -40,8 +40,8 @@ for_window [title="File Operation Progress"] floating enable, border pixel 1, st
|
||||
for_window [app_id="firefox" title="^Library$"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 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 [title="Picture in picture"] floating enable, sticky enable
|
||||
for_window [title="nmtui"] floating enable, resize set width 50 ppt height 70 ppt
|
||||
for_window [title="htop"] floating enable, resize set width 50 ppt height 70 ppt
|
||||
for_window [title="waybar_htop"] floating enable, resize set width 70 ppt height 70 ppt
|
||||
for_window [title="waybar_nmtui"] floating enable
|
||||
for_window [app_id="xsensors"] floating enable
|
||||
for_window [title="Save File"] floating enable
|
||||
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill
|
||||
|
||||
@@ -7,7 +7,8 @@ exec mako
|
||||
# Network Applet
|
||||
exec nm-applet --indicator
|
||||
|
||||
|
||||
# Autotiling
|
||||
exec_always ~/.config/sway/scripts/autotiling
|
||||
|
||||
# Welcome App
|
||||
exec dex -a -s /etc/xdg/autostart/:~/.config/autostart/
|
||||
|
||||
@@ -15,8 +15,11 @@ set $volume_up $(pactl set-sink-volume @DEFAULT_SINK@ +5% && $sink_volume)
|
||||
set $volume_mute $(pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-mute @DEFAULT_SINK@ | sed -En "/no/ s/.*/$($sink_volume)/p; /yes/ s/.*/0/p")
|
||||
set $mic_mute $(pactl set-source-mute @DEFAULT_SOURCE@ toggle && pactl get-source-mute @DEFAULT_SOURCE@ | sed -En "/no/ s/.*/$($source_volume)/p; /yes/ s/.*/0/p")
|
||||
|
||||
# Your preferred terminal emulators
|
||||
set $term-float xfce4-terminal
|
||||
# Start foot server
|
||||
exec_always --no-startup-id foot --server
|
||||
|
||||
# Set default terminal emulator
|
||||
set $term footclient
|
||||
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
@@ -42,8 +45,8 @@ exec swayidle -w\
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a floating terminal
|
||||
bindsym $mod+Return exec $term-float
|
||||
# Launch the terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Open the power menu
|
||||
bindsym $mod+Shift+e exec $powermenu
|
||||
@@ -219,8 +222,12 @@ bindsym $mod+r mode "resize"
|
||||
#
|
||||
# Screenshots
|
||||
#
|
||||
bindsym print exec /usr/share/sway-contrib/grimshot --notify save output
|
||||
bindsym Shift+print exec ~/.config/sway/scripts/screenshot.sh
|
||||
# Snip a selection and pipe to swappy
|
||||
bindsym print exec grim -g "$(slurp)" - | swappy -f -
|
||||
# Screenshot a window and pipe to swappy
|
||||
bindsym Ctrl+Print exec ~/.config/sway/scripts/screenshot_window.sh
|
||||
# Screenshot the current display and pipe to swappy
|
||||
bindsym Shift+Print exec ~/.config/sway/scripts/screenshot_display.sh
|
||||
#
|
||||
# Keybindings List
|
||||
#
|
||||
|
||||
@@ -1,20 +1,30 @@
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Put your touchpad's ID to replace "Touchpad-ID" (keep the quotation marks)
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
# Touchpad configuration
|
||||
input type:touchpad {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
natural_scroll enabled
|
||||
}
|
||||
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
#
|
||||
input type:keyboard xkb_layout "us"
|
||||
# Enable numlock by default
|
||||
input type:keyboard xkb_numlock enabled
|
||||
|
||||
# Set keyboard layout and variant based on current system settings
|
||||
exec_always {
|
||||
'swaymsg input type:keyboard xkb_layout "$(localectl status | grep "X11 Layout" | sed -e "s/^.*X11 Layout://")"'
|
||||
'swaymsg input type:keyboard xkb_variant "$(localectl status | grep "X11 Variant" | sed -e "s/^.*X11 Variant://")"'
|
||||
}
|
||||
|
||||
# # Toggle between keyboard layouts. This example has the "us" and "gb"
|
||||
# # keyboard layouts, and uses Alt+Shift to toggle between them.
|
||||
# input "type:keyboard" {
|
||||
# xkb_layout "us,gb"
|
||||
# xkb_options "grp:alt_shift_toggle"
|
||||
# }
|
||||
# # Assign the same binding to "pkill -RTMIN+1 waybar" to send signal to
|
||||
# # the Waybar keyboard module (so the module shows the updated layout).
|
||||
# # This example uses Alt + left Shift.
|
||||
# bindsym Alt+Shift_L exec "pkill -RTMIN+1 waybar"
|
||||
|
||||
214
.config/sway/scripts/autotiling
Executable file
214
.config/sway/scripts/autotiling
Executable file
@@ -0,0 +1,214 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
This script uses the i3ipc python module to switch the layout splith / splitv
|
||||
for the currently focused window, depending on its dimensions.
|
||||
It works on both sway and i3 window managers.
|
||||
|
||||
Inspired by https://github.com/olemartinorg/i3-alternating-layout
|
||||
|
||||
Copyright: 2019-2021 Piotr Miller & Contributors
|
||||
e-mail: nwg.piotr@gmail.com
|
||||
Project: https://github.com/nwg-piotr/autotiling
|
||||
License: GPL3
|
||||
|
||||
Dependencies: python-i3ipc>=2.0.1 (i3ipc-python)
|
||||
"""
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
from functools import partial
|
||||
|
||||
from i3ipc import Connection, Event
|
||||
|
||||
try:
|
||||
from .__about__ import __version__
|
||||
except ImportError:
|
||||
__version__ = "unknown"
|
||||
|
||||
|
||||
def temp_dir():
|
||||
return os.getenv("TMPDIR") or os.getenv("TEMP") or os.getenv("TMP") or "/tmp"
|
||||
|
||||
|
||||
def save_string(string, file_path):
|
||||
try:
|
||||
with open(file_path, "wt") as file:
|
||||
file.write(string)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
|
||||
def output_name(con):
|
||||
if con.type == "root":
|
||||
return None
|
||||
|
||||
if p := con.parent:
|
||||
if p.type == "output":
|
||||
return p.name
|
||||
else:
|
||||
return output_name(p)
|
||||
|
||||
|
||||
def switch_splitting(i3, e, debug, outputs, workspaces, depth_limit, splitwidth, splitheight, splitratio):
|
||||
try:
|
||||
con = i3.get_tree().find_focused()
|
||||
output = output_name(con)
|
||||
# Stop, if outputs is set and current output is not in the selection
|
||||
if outputs and output not in outputs:
|
||||
if debug:
|
||||
print(f"Debug: Autotiling turned off on output {output}", file=sys.stderr)
|
||||
return
|
||||
|
||||
if con and not workspaces or (str(con.workspace().num) in workspaces):
|
||||
if con.floating:
|
||||
# We're on i3: on sway it would be None
|
||||
# May be 'auto_on' or 'user_on'
|
||||
is_floating = "_on" in con.floating
|
||||
else:
|
||||
# We are on sway
|
||||
is_floating = con.type == "floating_con"
|
||||
|
||||
if depth_limit:
|
||||
# Assume we reached the depth limit, unless we can find a workspace
|
||||
depth_limit_reached = True
|
||||
current_con = con
|
||||
current_depth = 0
|
||||
while current_depth < depth_limit:
|
||||
# Check if we found the workspace of the current container
|
||||
if current_con.type == "workspace":
|
||||
# Found the workspace within the depth limitation
|
||||
depth_limit_reached = False
|
||||
break
|
||||
|
||||
# Look at the parent for next iteration
|
||||
current_con = current_con.parent
|
||||
|
||||
# Only count up the depth, if the container has more than
|
||||
# one container as child
|
||||
if len(current_con.nodes) > 1:
|
||||
current_depth += 1
|
||||
|
||||
if depth_limit_reached:
|
||||
if debug:
|
||||
print("Debug: Depth limit reached")
|
||||
return
|
||||
|
||||
is_full_screen = con.fullscreen_mode == 1
|
||||
is_stacked = con.parent.layout == "stacked"
|
||||
is_tabbed = con.parent.layout == "tabbed"
|
||||
|
||||
# Exclude floating containers, stacked layouts, tabbed layouts and full screen mode
|
||||
if (not is_floating
|
||||
and not is_stacked
|
||||
and not is_tabbed
|
||||
and not is_full_screen):
|
||||
new_layout = "splitv" if con.rect.height > con.rect.width / splitratio else "splith"
|
||||
|
||||
if new_layout != con.parent.layout:
|
||||
result = i3.command(new_layout)
|
||||
if result[0].success and debug:
|
||||
print(f"Debug: Switched to {new_layout}", file=sys.stderr)
|
||||
elif debug:
|
||||
print(f"Error: Switch failed with err {result[0].error}", file=sys.stderr)
|
||||
|
||||
if e.change in ["new", "move"] and con.percent:
|
||||
if con.parent.layout == "splitv" and splitheight != 1.0: # top / bottom
|
||||
# print(f"split top fac {splitheight*100}")
|
||||
i3.command(f"resize set height {int(con.percent * splitheight * 100)} ppt")
|
||||
elif con.parent.layout == "splith" and splitwidth != 1.0: # top / bottom: # left / right
|
||||
# print(f"split right fac {splitwidth*100} ")
|
||||
i3.command(f"resize set width {int(con.percent * splitwidth * 100)} ppt")
|
||||
|
||||
elif debug:
|
||||
print("Debug: No focused container found or autotiling on the workspace turned off", file=sys.stderr)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error: {e}", file=sys.stderr)
|
||||
|
||||
|
||||
def get_parser():
|
||||
parser = argparse.ArgumentParser(prog="autotiling", description="Script for sway and i3 to automatically switch the horizontal / vertical window split orientation")
|
||||
|
||||
parser.add_argument("-d", "--debug", action="store_true",
|
||||
help="print debug messages to stderr")
|
||||
parser.add_argument("-v", "--version", action="version",
|
||||
version=f"%(prog)s {__version__}, Python {sys.version}",
|
||||
help="display version information")
|
||||
parser.add_argument("-o", "--outputs", nargs="*", type=str, default=[],
|
||||
help="restricts autotiling to certain output; example: autotiling --output DP-1 HDMI-0")
|
||||
parser.add_argument("-w", "--workspaces", nargs="*", type=str, default=[],
|
||||
help="restricts autotiling to certain workspaces; example: autotiling --workspaces 8 9")
|
||||
parser.add_argument("-l", "--limit", type=int, default=0,
|
||||
help='limit how often autotiling will split a container; '
|
||||
'try "2" if you like master-stack layouts; default: 0 (no limit)')
|
||||
parser.add_argument("-sw",
|
||||
"--splitwidth",
|
||||
help='set the width of the vertical split (as factor); default: 1.0;',
|
||||
type=float,
|
||||
default=1.0, )
|
||||
parser.add_argument("-sh",
|
||||
"--splitheight",
|
||||
help='set the height of the horizontal split (as factor); default: 1.0;',
|
||||
type=float,
|
||||
default=1.0, )
|
||||
parser.add_argument("-sr",
|
||||
"--splitratio",
|
||||
help='Split direction ratio - based on window height/width; default: 1;'
|
||||
'try "1.61", for golden ratio - window has to be 61%% wider for left/right split; default: 1.0;',
|
||||
type=float,
|
||||
default=1.0, )
|
||||
|
||||
"""
|
||||
Changing event subscription has already been the objective of several pull request. To avoid doing this again
|
||||
and again, let's allow to specify them in the `--events` argument.
|
||||
"""
|
||||
parser.add_argument("-e", "--events", nargs="*", type=str, default=["WINDOW", "MODE"],
|
||||
help="list of events to trigger switching split orientation; default: WINDOW MODE")
|
||||
|
||||
return parser
|
||||
|
||||
def main():
|
||||
args = get_parser().parse_args()
|
||||
|
||||
if args.debug:
|
||||
if args.outputs:
|
||||
print(f"autotiling is only active on outputs: {','.join(args.outputs)}")
|
||||
if args.workspaces:
|
||||
print(f"autotiling is only active on workspaces: {','.join(args.workspaces)}")
|
||||
|
||||
# For use w/ nwg-panel
|
||||
ws_file = os.path.join(temp_dir(), "autotiling")
|
||||
if args.workspaces:
|
||||
save_string(','.join(args.workspaces), ws_file)
|
||||
else:
|
||||
if os.path.isfile(ws_file):
|
||||
os.remove(ws_file)
|
||||
|
||||
if not args.events:
|
||||
print("No events specified", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
handler = partial(
|
||||
switch_splitting,
|
||||
debug=args.debug,
|
||||
outputs=args.outputs,
|
||||
workspaces=args.workspaces,
|
||||
depth_limit=args.limit,
|
||||
splitwidth=args.splitwidth,
|
||||
splitheight=args.splitheight,
|
||||
splitratio=args.splitratio
|
||||
)
|
||||
i3 = Connection()
|
||||
for e in args.events:
|
||||
try:
|
||||
i3.on(Event[e], handler)
|
||||
print(f"{Event[e]} subscribed")
|
||||
except KeyError:
|
||||
print(f"'{e}' is not a valid event", file=sys.stderr)
|
||||
|
||||
i3.main()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
entries="Active Screen Output Area Window"
|
||||
|
||||
selected=$(printf '%s\n' $entries | wofi --style=$HOME/.config/wofi/style.widgets.css --conf=$HOME/.config/wofi/config.screenshot | awk '{print tolower($1)}')
|
||||
|
||||
case $selected in
|
||||
active)
|
||||
/usr/share/sway-contrib/grimshot --notify save active;;
|
||||
screen)
|
||||
/usr/share/sway-contrib/grimshot --notify save screen;;
|
||||
output)
|
||||
/usr/share/sway-contrib/grimshot --notify save output;;
|
||||
area)
|
||||
/usr/share/sway-contrib/grimshot --notify save area;;
|
||||
window)
|
||||
/usr/share/sway-contrib/grimshot --notify save window;;
|
||||
esac
|
||||
4
.config/sway/scripts/screenshot_display.sh
Executable file
4
.config/sway/scripts/screenshot_display.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
output_id=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused).name')
|
||||
grim -o $output_id - | swappy -f -
|
||||
3
.config/sway/scripts/screenshot_window.sh
Executable file
3
.config/sway/scripts/screenshot_window.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
grim -g "$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)" - | swappy -f -
|
||||
@@ -10,6 +10,7 @@
|
||||
"custom/launcher",
|
||||
"sway/workspaces",
|
||||
"sway/mode",
|
||||
"sway/window",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
@@ -23,7 +24,6 @@
|
||||
"pulseaudio",
|
||||
"custom/keyboard-layout",
|
||||
"battery",
|
||||
//"custom/PBPbattery",
|
||||
"backlight#icon",
|
||||
"backlight#value",
|
||||
"clock",
|
||||
@@ -44,23 +44,13 @@
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"custom/PBPbattery": {
|
||||
"exec": "~/.config/waybar/scripts/PBPbattery.sh",
|
||||
"format": "{}",
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"interval": 10,
|
||||
"format-alt": " {:%e %b %Y}", // Icon: calendar-alt
|
||||
@@ -75,24 +65,23 @@
|
||||
"warning": 70,
|
||||
"critical": 90,
|
||||
},
|
||||
"on-click": "xfce4-terminal -e 'htop'",
|
||||
"on-click": "footclient -T waybar_htop -e htop",
|
||||
},
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
// Interval set only as a fallback, as the value is updated by signal
|
||||
"exec": "i=$(swaymsg -t get_inputs); echo \"\"; echo \"$i\" | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
"format": "",
|
||||
// Interval set only as a fallback; use signal to update the module more immediately
|
||||
"interval": 30,
|
||||
"format": " {}", // Icon: keyboard
|
||||
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
"signal": 1, // SIGHUP
|
||||
"tooltip": false,
|
||||
// See example config for sending signal to Waybar in ~/.config/sway/config.d/input
|
||||
"signal": 1,
|
||||
"on-click": "~/.config/waybar/scripts/keyhint.sh",
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": " {}%", // Icon: memory
|
||||
"on-click": "xfce4-terminal -e 'htop'",
|
||||
"on-click": "footclient -T waybar_htop -e htop",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
@@ -105,7 +94,7 @@
|
||||
"format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"tooltip-format": "{ifname}: {ipaddr}",
|
||||
"on-click": "xfce4-terminal -e 'nmtui'",
|
||||
"on-click": "footclient -T waybar_nmtui -e nmtui",
|
||||
},
|
||||
"network#vpn": {
|
||||
"interface": "tun0",
|
||||
@@ -139,25 +128,19 @@
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": "婢 {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"scroll-step": 2,
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted":" muted",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "וֹ",
|
||||
"headset": " ",
|
||||
"headphones": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [""]
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%",
|
||||
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2%",
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
|
||||
// to use the weather module replace <your_location> with your city or town
|
||||
@@ -205,7 +188,7 @@
|
||||
},
|
||||
|
||||
"custom/launcher": {
|
||||
"format":" ",
|
||||
"format":"<span size='x-large'></span>",
|
||||
"on-click": "exec wofi -c ~/.config/wofi/config -I",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
#!/bin/bash
|
||||
#simple Shellscript for waybar/i3blocks/polybar on Pinebook pro
|
||||
#05012020 geri123@gmx.net Gerhard S.
|
||||
|
||||
PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
|
||||
STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
|
||||
case $((
|
||||
$PERCENT >= 0 && $PERCENT <= 20 ? 1 :
|
||||
$PERCENT > 20 && $PERCENT <= 40 ? 2 :
|
||||
$PERCENT > 40 && $PERCENT <= 60 ? 3 :
|
||||
$PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
|
||||
#
|
||||
(1) echo $STATUS:"":$PERCENT%;;
|
||||
(2) echo $STATUS:"":$PERCENT%;;
|
||||
(3) echo $STATUS:"":$PERCENT%;;
|
||||
(4) echo $STATUS:"":$PERCENT%;;
|
||||
(5) echo $STATUS:"":$PERCENT%;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
#!/bin/sh
|
||||
yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list"
|
||||
yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(Foot)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list"
|
||||
|
||||
@@ -10,11 +10,8 @@
|
||||
* Keyframes
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
Arc-Dark Color Scheme
|
||||
*/
|
||||
@define-color highlight #5294e2 ;
|
||||
@define-color base1 #404552 ;
|
||||
@define-color base1 #19191e ;
|
||||
|
||||
@keyframes blink-warning {
|
||||
70% {
|
||||
@@ -54,9 +51,9 @@ Arc-Dark Color Scheme
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: transparent;
|
||||
color: #bebebe;
|
||||
color: #e3e3ea;
|
||||
background-color: @base1;
|
||||
font-family: UbuntuMono;
|
||||
font-family: JetBrainsMono;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@@ -73,8 +70,7 @@ Arc-Dark Color Scheme
|
||||
#pulseaudio,
|
||||
#temperature,
|
||||
#tray,
|
||||
#idle_inhibitor,
|
||||
#custom-PBPbattery {
|
||||
#idle_inhibitor {
|
||||
padding:0.5rem 0.6rem;
|
||||
margin: 1px 0px;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ show=drun
|
||||
width=25%
|
||||
lines=10
|
||||
line_wrap=word
|
||||
term=xfce4-terminal
|
||||
term=footclient
|
||||
allow_markup=true
|
||||
always_parse_args=true
|
||||
show_all=true
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
xfce4-terminal GtkAccelMap rc-file -*- scheme -*-
|
||||
; this file is an automated accelerator map dump
|
||||
;
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-2" "<Alt>2")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-6" "<Alt>6")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/copy-input" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/close-other-tabs" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/move-tab-right" "<Primary><Shift>Page_Down")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-7" "<Alt>7")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/set-title-color" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/edit-menu" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-menu" "")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-1" "<Alt>1")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/fullscreen" "F11")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/read-only" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/preferences" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/reset-and-clear" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/about" "")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-5" "<Alt>5")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/close-window" "<Primary><Shift>q")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/reset" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/save-contents" "")
|
||||
(gtk_accel_path "<Actions>/terminal-window/toggle-menubar" "F10")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/copy" "<Primary><Shift>c")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/copy-html" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/last-active-tab" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/show-borders" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/view-menu" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/detach-tab" "<Primary><Shift>d")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/scroll-on-output" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/show-toolbar" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/next-tab" "<Primary>Page_Down")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/tabs-menu" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/search-next" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/search-prev" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/undo-close-tab" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/set-title" "<Primary><Shift>s")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/contents" "F1")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-reset" "<Primary>0")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/close-tab" "<Primary><Shift>w")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/new-tab" "<Primary><Shift>t")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/new-window" "<Primary><Shift>n")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/terminal-menu" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/show-menubar" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/select-all" "<Primary><Shift>a")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/paste" "<Primary><Shift>v")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-9" "<Alt>9")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/move-tab-left" "<Primary><Shift>Page_Up")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/search" "<Primary><Shift>f")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/file-menu" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/prev-tab" "<Primary>Page_Up")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/paste-selection" "")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-in" "<Primary>plus")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-out" "<Primary>minus")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-8" "<Alt>8")
|
||||
; (gtk_accel_path "<Actions>/terminal-window/help-menu" "")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-4" "<Alt>4")
|
||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-3" "<Alt>3")
|
||||
@@ -1,43 +0,0 @@
|
||||
[Configuration]
|
||||
BackgroundDarkness=0.860000
|
||||
MiscSearchDialogOpacity=100
|
||||
MiscShowUnsafePasteDialog=FALSE
|
||||
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
|
||||
FontUseSystem=TRUE
|
||||
MiscAlwaysShowTabs=FALSE
|
||||
MiscBell=FALSE
|
||||
MiscBellUrgent=FALSE
|
||||
MiscBordersDefault=TRUE
|
||||
MiscCursorBlinks=FALSE
|
||||
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
|
||||
MiscDefaultGeometry=100x30
|
||||
MiscInheritGeometry=FALSE
|
||||
MiscMenubarDefault=FALSE
|
||||
MiscMouseAutohide=FALSE
|
||||
MiscMouseWheelZoom=TRUE
|
||||
MiscToolbarDefault=FALSE
|
||||
MiscConfirmClose=TRUE
|
||||
MiscCycleTabs=TRUE
|
||||
MiscTabCloseButtons=TRUE
|
||||
MiscTabCloseMiddleClick=TRUE
|
||||
MiscTabPosition=GTK_POS_TOP
|
||||
MiscHighlightUrls=TRUE
|
||||
MiscMiddleClickOpensUri=FALSE
|
||||
MiscCopyOnSelect=FALSE
|
||||
MiscShowRelaunchDialog=TRUE
|
||||
MiscRewrapOnResize=TRUE
|
||||
MiscUseShiftArrowsToScroll=FALSE
|
||||
MiscSlimTabs=TRUE
|
||||
MiscNewTabAdjacent=FALSE
|
||||
ColorForeground=#e3e3ea
|
||||
ColorBackground=#08052b
|
||||
ColorCursor=#ff7f7f
|
||||
ColorCursorForeground=#FFFFFF
|
||||
ColorBold=#7fbaff
|
||||
TabActivityColor=#47B35D
|
||||
ColorCursorUseDefault=FALSE
|
||||
ColorBoldIsBright=FALSE
|
||||
ScrollingUnlimited=TRUE
|
||||
TitleMode=TERMINAL_TITLE_REPLACE
|
||||
ScrollingBar=TERMINAL_SCROLLBAR_NONE
|
||||
TextBlinkMode=TERMINAL_TEXT_BLINK_MODE_FOCUSED
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="thunar-volman" version="1.0">
|
||||
<property name="automount-drives" type="empty">
|
||||
<property name="enabled" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="automount-media" type="empty">
|
||||
<property name="enabled" type="bool" value="true"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -137,47 +137,48 @@
|
||||
selected: true
|
||||
critical: false
|
||||
packages:
|
||||
- sway
|
||||
- swayidle
|
||||
- swaylock
|
||||
- swaybg
|
||||
- waybar
|
||||
- lxappearance
|
||||
- polkit-gnome
|
||||
- thunar
|
||||
- thunar-archive-plugin
|
||||
- acpi
|
||||
- arc-gtk-theme-eos
|
||||
- archlinux-xdg-menu
|
||||
- arc-x-icons-theme
|
||||
- bluez-utils
|
||||
- brightnessctl
|
||||
- celluloid
|
||||
- dex
|
||||
- diffuse
|
||||
- file-roller
|
||||
- thunar-volman
|
||||
- foot
|
||||
- grim
|
||||
- slurp
|
||||
- gtk-engine-murrine
|
||||
- gtk-layer-shell
|
||||
- htop
|
||||
- imv
|
||||
- lxappearance
|
||||
- mako
|
||||
- network-manager-applet
|
||||
- otf-font-awesome
|
||||
- pulseaudio
|
||||
- paprefs
|
||||
- pavucontrol
|
||||
- arc-gtk-theme-eos
|
||||
- arc-x-icons-theme
|
||||
- gtk-engine-murrine
|
||||
- mako
|
||||
- wofi
|
||||
- acpi
|
||||
- bluez-utils
|
||||
- network-manager-applet
|
||||
- polkit-gnome
|
||||
- pulseaudio
|
||||
- slurp
|
||||
- swappy
|
||||
- sway
|
||||
- swaybg
|
||||
- swayidle
|
||||
- swaylock
|
||||
- sysstat
|
||||
- archlinux-xdg-menu
|
||||
- htop
|
||||
- xfce4-terminal
|
||||
- gtk-layer-shell
|
||||
- ttf-nerd-fonts-symbols
|
||||
- xdg-desktop-portal-wlr
|
||||
- brightnessctl
|
||||
- thunar
|
||||
- thunar-archive-plugin
|
||||
- thunar-volman
|
||||
- ttf-jetbrains-mono
|
||||
- ttf-nerd-fonts-symbols
|
||||
- ttf-ubuntu-font-family
|
||||
- waybar
|
||||
- wofi
|
||||
- xdg-desktop-portal-wlr
|
||||
- xed
|
||||
- dex
|
||||
- celluloid
|
||||
- xorg-xhost
|
||||
- diffuse
|
||||
- imv
|
||||
- name: "Zen Kernel"
|
||||
description: "https://github.com/zen-kernel/zen-kernel"
|
||||
hidden: false
|
||||
|
||||
@@ -1,40 +1,42 @@
|
||||
acpi
|
||||
arc-gtk-theme-eos
|
||||
awesome-terminal-fonts
|
||||
bluez-utils
|
||||
brightnessctl
|
||||
dex
|
||||
egl-wayland
|
||||
eos-sddm-theme
|
||||
file-roller
|
||||
foot
|
||||
grim
|
||||
gtk-engine-murrine
|
||||
gtk-layer-shell
|
||||
htop
|
||||
jq
|
||||
mako
|
||||
network-manager-applet
|
||||
nwg-look
|
||||
polkit-gnome
|
||||
sddm
|
||||
slurp
|
||||
swappy
|
||||
sway
|
||||
swaybg
|
||||
sway-contrib
|
||||
swayidle
|
||||
swaylock
|
||||
swaybg
|
||||
waybar
|
||||
nwg-look
|
||||
polkit-gnome
|
||||
sysstat
|
||||
thunar
|
||||
thunar-archive-plugin
|
||||
file-roller
|
||||
thunar-volman
|
||||
grim
|
||||
slurp
|
||||
awesome-terminal-fonts
|
||||
arc-gtk-theme-eos
|
||||
gtk-engine-murrine
|
||||
mako
|
||||
wofi
|
||||
sddm
|
||||
eos-sddm-theme
|
||||
acpi
|
||||
bluez-utils
|
||||
network-manager-applet
|
||||
sysstat
|
||||
htop
|
||||
wayland-protocols
|
||||
xorg-xwayland
|
||||
egl-wayland
|
||||
gtk-layer-shell
|
||||
ttf-nerd-fonts-symbols
|
||||
xdg-desktop-portal-wlr
|
||||
brightnessctl
|
||||
wl-clipboard
|
||||
dex
|
||||
jq
|
||||
xed
|
||||
ttf-jetbrains-mono
|
||||
ttf-nerd-fonts-symbols
|
||||
ttf-ubuntu-font-family
|
||||
waybar
|
||||
wayland-protocols
|
||||
wl-clipboard
|
||||
wofi
|
||||
xdg-desktop-portal-wlr
|
||||
xed
|
||||
xfce4-terminal
|
||||
xorg-xwayland
|
||||
|
||||
Reference in New Issue
Block a user