From 4708c17ef8ec61540dead3cd5dafb203bef3450a Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Fri, 10 Jan 2025 17:05:05 -0500 Subject: [PATCH] AutoYADM commit: 2025-01-10 17:05:05 --- .config/sway/clam.sh | 15 +++ .config/sway/config | 267 ++++++++++++++++++++++++++++++++++++++++++ .config/waybar/config | 78 ++++++++++++ 3 files changed, 360 insertions(+) create mode 100755 .config/sway/clam.sh create mode 100644 .config/sway/config create mode 100644 .config/waybar/config diff --git a/.config/sway/clam.sh b/.config/sway/clam.sh new file mode 100755 index 00000000..4cd22d4c --- /dev/null +++ b/.config/sway/clam.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +LAPTOP_OUTPUT="eDP-1" +LID_STATE_FILE="/proc/acpi/button/lid/LID0/state" + +read -r LS <"$LID_STATE_FILE" + +case "$LS" in +*open) swaymsg output "$LAPTOP_OUTPUT" enable ;; +*closed) swaymsg output "$LAPTOP_OUTPUT" disable ;; +*) + echo "Could not get lid state" >&2 + exit 1 + ;; +esac diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 00000000..7774ac19 --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,267 @@ +# 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 m +set $down n +set $up e +set $right i +# Your preferred terminal emulator +set $term ghostty +# Your preferred application launcher +# set $menu wmenu-run +set $menu tofi-drun | xargs swaymsg exec -- +set $wallpaper ~/Pictures/wallpapers/sidonia-blurred.png + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +output * bg $wallpaper fill +# include "$HOME/.cache/wal/colors-sway" + +# +# 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 +set $laptop eDP-1 +output eDP-1 resolution 1920x1080 +output HDMI-A-0 resolution 3820x2160 +output HDMI-A-0 scale 2 +bindswitch --reload --locked lid:on output $laptop disable +bindswitch --reload --locked lid:off output $laptop enable + +# Fix the clamshell issue when reloading sway +exec_always ~/.config/sway/clam.sh + +input "type:keyboard" { + repeat_delay 250 + repeat_rate 30 +} + +gaps inner 10 +gaps outer 5 + +default_border pixel 1 +default_floating_border pixel 1 + +### Idle configuration +# +# Example configuration: +# +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ +# before-sleep 'swaylock -f -c 000000' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+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+Shift+l exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # Ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + # 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+h splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + # TODO: figure out bindings for these + # bindsym $mod+Shift+s layout stacking + # bindsym $mod+Shift+w layout tabbed + # bindsym $mod+Shift+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # Move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" +# +# Utilities: +# + # Special keys to adjust volume via PulseAudio + bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle + + bindsym --locked XF86AudioPlay exec playerctl --player=spotify play-pause + bindsym --locked XF86AudioStop exec playerctl --all-players play-pause --ignore-player=spotify + # Special keys to adjust brightness via brightnessctl + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + # Special key to take a screenshot with grim + bindsym $mod+s exec flameshot gui + bindsym $mod+Shift+s exec flameshot screen -c -p ~/Pictures/screenshots/ + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +# bar { +# position top +# +# # When the status_command prints a new line to stdout, swaybar updates. +# # The default just shows the current date and time. +# status_command while date +'%Y-%m-%d %X'; do sleep 1; done +# +# colors { +# statusline #ffffff +# background #323232 +# inactive_workspace #32323200 #32323200 #5c5c5c +# } +# } + +# autostart applications +# TODO: add obsidian and filen? +exec_always nm-applet + +exec_always autotiling & +exec_always pkill waybar && waybar +exec bluman-applet +exec_always pkill dunst && dunst & +exec tmux start-server & + +include /etc/sway/config.d/* diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 00000000..9a1a2741 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,78 @@ +{ + "colors": { + "background": "#121212", + "background-alt": "#323232", + "foreground": "#d5d5d5", + "primary": "#B14242", + "secondary": "#C4693D", + "alert": "#C53030", + "disabled": "#949494", + }, + "bar": { + "position": "top", + "height": 24, + "margin": "6", + "dpi": 96, + "background": "${colors.background}", + "foreground": "${colors.foreground}", + "modules-left": ["wlr/workspaces", "window"], + "modules-right": [ + "filesystem", + "pulseaudio", + "memory", + "cpu", + "network", + "tray", + "battery", + "clock", + ], + "separator": "|", + "separator-color": "${colors.disabled}", + "font": "monospace 12", + }, + "modules": { + "wlr/workspaces": { + "format": "{icon}", + "on-click": "activate", + }, + "window": { + "format": "{title}", + }, + "filesystem": { + "path": "/", + "interval": 25, + "format": "{percentage_used}%", + }, + "pulseaudio": { + "format": "{volume}%", + "format-muted": "Muted", + "on-click": "pavucontrol", + }, + "memory": { + "interval": 2, + "format": "RAM {used_percent}%", + }, + "cpu": { + "interval": 2, + "format": "CPU {usage}%", + }, + "network": { + "interval": 5, + "format": "{ifname}: {ipaddr}", + }, + "tray": {}, + "battery": { + "interval": 5, + "format": "{capacity}% {status}", + "states": { + "warning": 15, + "critical": 5, + }, + }, + "clock": { + "interval": 1, + "format": "%H:%M", + "tooltip-format": "%Y-%m-%d %H:%M:%S", + }, + }, +}