Compare commits

...

14 Commits

29 changed files with 206 additions and 419 deletions

View File

@@ -1,4 +1,5 @@
font_size: 12
font_size_1: 12
font_size_2: 12
gpu: amd
@@ -36,7 +37,6 @@ users:
enable_passwordstore: true
environment:
MACHINE_HAS_NEXTCLOUD: "true"
has_yubikey: true
repositories:
- personal_projects

View File

@@ -1,4 +1,5 @@
font_size: 12
font_size_1: 12
font_size_2: 9
users:
- name: hannes-work
@@ -26,7 +27,6 @@ users:
MACHINE_HAS_RESTIC_BACKUP: "true"
MACHINE_HAS_ELEMENT: "false"
MACHINE_HAS_KEEPASSX: "true"
has_yubikey: false
repositories: []
- name: hannes-private
group: hannes-private

View File

@@ -1,4 +1,5 @@
font_size: 12
font_size_1: 12
font_size_2: 9
users:
- name: hannes-work
@@ -26,7 +27,6 @@ users:
MACHINE_HAS_RESTIC_BACKUP: "true"
MACHINE_HAS_ELEMENT: "false"
MACHINE_HAS_KEEPASSX: "true"
has_yubikey: false
repositories: []
overrides:
terraform_version: 1.1.3
@@ -60,7 +60,6 @@ users:
MACHINE_HAS_RESTIC_BACKUP: "false"
MACHINE_HAS_ELEMENT: "true"
MACHINE_HAS_KEEPASSX: "false"
has_yubikey: true
repositories:
- personal_projects

View File

@@ -150,7 +150,7 @@ font:
style: Bold Italic
# Point size
size: {{ machine.font_size }}
size: {{ machine.font_size_2 }}
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter

View File

@@ -0,0 +1,5 @@
[Service]
Type=simple
ExecStart=%h/bin/mousespam
RemainAfterExit=True
PassEnvironment=DISPLAY

2
bin/mousespam-toggle Executable file
View File

@@ -0,0 +1,2 @@
#!/usr/bin/env bash
systemctl --no-pager --user status mousespam && systemctl --no-pager --user stop mousespam || systemctl --no-pager --user start mousespam

View File

@@ -9,6 +9,9 @@ empty_directories:
- name: .config/gtk-3.0-overrides/bigger-font/
- name: .config/gtk-3.0-overrides/bigger-font/gtk-3.0
- name: .config/qt5ct
- name: .config/i3status-rust
- name: .config/i3status-rust/icons
- name: .config/i3status-rust/themes
dotfiles:
- from: git/gitconfig
to: .gitconfig
@@ -27,8 +30,12 @@ dotfiles:
- from: i3/i3status.conf
to: .i3/i3status.conf
template: true
- from: i3/i3status-rs.toml
to: .i3/i3status-rs.toml
- from: i3/i3status-rust/config.toml
to: .config/i3status-rust/config.toml
- from: i3/i3status-rust/themes/native.toml
to: .config/i3status-rust/themes/native.toml
- from: i3/i3status-rust/icons/awesome.toml
to: .config/i3status-rust/icons/awesome.toml
- from: i3/scripts
to: .i3/scripts
- from: tmux/tmux.conf

View File

@@ -84,7 +84,7 @@
### Text ###
font = DejaVu Sans {{ machine.font_size }}
font = DejaVu Sans {{ machine.font_size_1 }}
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.

View File

@@ -1,7 +1,7 @@
[Settings]
gtk-theme-name=Breeze
gtk-icon-theme-name=breeze
gtk-font-name=DejaVu Sans {{ ((machine.font_size|int - 2)|float * 2.0) | round(0, 'floor') | int }}
gtk-font-name=DejaVu Sans {{ ((machine.font_size_1|int - 2)|float * 2.0) | round(0, 'floor') | int }}
gtk-cursor-theme-name=breeze_cursors
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH

View File

@@ -1,7 +1,7 @@
[Settings]
gtk-theme-name=Breeze
gtk-icon-theme-name=breeze
gtk-font-name=DejaVu Sans {{ machine.font_size|int - 2 }}
gtk-font-name=DejaVu Sans {{ machine.font_size_1|int - 2 }}
gtk-cursor-theme-name=breeze_cursors
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH

View File

@@ -3,7 +3,7 @@
gtk-theme-name="Breeze"
gtk-icon-theme-name="breeze"
gtk-font-name="DejaVu Sans {{ machine.font_size| int - 2 }}"
gtk-font-name="DejaVu Sans {{ machine.font_size_1| int - 2 }}"
gtk-cursor-theme-name="breeze_cursors"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH

View File

@@ -226,7 +226,7 @@ assign [class="^Wine$"] $workspace10
bindsym $mod+Shift+v exec --no-startup-id redshift-toggle
bindsym $mod+$pim_toggle exec --no-startup-id ~/.i3/scripts/swap-from-workspace.sh $workspace10
bindsym $mod+$pim_toggle exec --no-startup-id ~/.i3/scripts/swap-from-workspace $workspace10
################################################################################
### MODES ######################################################################
@@ -292,7 +292,7 @@ assign [class="^Wine$"] $workspace10
floating_minimum_size 0 x 0
floating_maximum_size 0 x 0
font pango:Inconsolata {{ machine.font_size }}
font pango:Inconsolata {{ machine.font_size_1 }}
################################################################################
### COLOR SETTINGS #############################################################
@@ -319,20 +319,20 @@ bindsym $mod+F9 exec --no-startup-id evolution
################################################################################
bindsym XF86Sleep exec --no-startup-id $scriptdir/i3exit suspend
bindsym XF86AudioMute exec --no-startup-id $scriptdir/pa-volume mute-toggle
bindsym XF86AudioRaiseVolume exec --no-startup-id $scriptdir/pa-volume set-vol +3
bindsym XF86AudioLowerVolume exec --no-startup-id $scriptdir/pa-volume set-vol -3
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute '@DEFAULT_SINK@' toggle
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume '@DEFAULT_SINK@' +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume '@DEFAULT_SINK@' -5%
bindsym XF86AudioPlay exec $scriptdir/spotify-control toggle
bindsym XF86AudioNext exec $scriptdir/spotify-control next
bindsym XF86AudioPrev exec $scriptdir/spotify-control previous
bindsym XF86AudioPlay exec --no-startup-id playerctl -p spotify play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl -p spotify next
bindsym XF86AudioPrev exec --no-startup-id playerctl -p spotify previous
# keys seemingly switched
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 8 ; exec --no-startup-id $scriptdir/update-status
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 8 ; exec --no-startup-id $scriptdir/update-status
bindsym $mod+m exec --no-startup-id $scriptdir/pa-volume mute-toggle-mic
bindsym $mod+space exec --no-startup-id $scriptdir/pa-volume mute-toggle-mic
bindsym $mod+m exec --no-startup-id pactl set-source-mute '@DEFAULT_SOURCE@' toggle
bindsym $mod+space exec --no-startup-id pactl set-source-mute '@DEFAULT_SOURCE@' toggle
##############################################################################
### BARS #######################################################################
@@ -353,7 +353,7 @@ bar {
id bar-0
font pango:Inconsolata, FontAwesome {{ machine.font_size }}
font pango:Inconsolata, FontAwesome {{ machine.font_size_1 }}
colors {
background #272822
@@ -371,5 +371,5 @@ bar {
binding_mode #272822 #e5b567 #272822
}
status_command i3status-rs ~/.i3/i3status-rs.toml
status_command i3status-rs ~/.config/i3status-rust/config.toml
}

View File

@@ -1,12 +1,12 @@
icons_format = " {icon} "
icons_format = "{icon}"
[icons]
name = "awesome6"
icons = "awesome"
[icons.overrides]
[theme]
name = "native"
theme = "native"
[theme.overrides]
warning_fg = "#000000"
@@ -17,52 +17,50 @@ critical_bg = "#F92672"
[[block]]
block = "music"
player = "spotify"
buttons = ["prev", "play", "next"]
on_click = "exec $HOME/.i3/scripts/spotify-control toggle"
separator = " — "
dynamic_width = true
max_width = 1024
format = " $icon $combo $prev $play $next "
[[block]]
block = "sound"
driver = "pulseaudio"
max_vol = 100
format = " $icon {$volume.eng(2) |}"
[[block]]
block = "sound"
driver = "pulseaudio"
device_kind = "source"
format = " $icon "
reverse_levels = true
[[block]]
block = "networkmanager"
primary_only = true
ap_format = "{strength} {ssid}"
device_format = "{icon}{ap}"
block = "net"
format = " $signal_strength $ssid "
[[block]]
block = "load"
format = "{1m}"
warning = 8
format = " $icon $1m.eng(4) "
warning = 4
critical = 1000
interval = 1
[[block]]
block = "toggle"
text = "  "
command_on = "$HOME/.i3/scripts/presentation-mode toggle ; pkill -SIGRTMIN+0 i3status-rs"
command_off = "$HOME/.i3/scripts/presentation-mode toggle ; pkill -SIGRTMIN+0 i3status-rs"
command_state = "[[ $($HOME/.i3/scripts/presentation-mode status) == off ]] || echo active"
[[block]]
block = "battery"
interval = 10
format = "{percentage} {time}"
hide_missing = true
format = " $percentage $time "
missing_format = ""
if_command = "test -e /sys/class/power_supply/BAT0"
[[block]]
block = "toggle"
text = " "
format = "  $icon "
command_on = "$HOME/.i3/scripts/presentation-mode toggle ; pkill -SIGRTMIN+0 i3status-rs"
command_off = "$HOME/.i3/scripts/presentation-mode toggle ; pkill -SIGRTMIN+0 i3status-rs"
command_state = "[[ $($HOME/.i3/scripts/presentation-mode status) == on ]] && echo active"
[[block]]
block = "toggle"
format = "  $icon "
command_on = "systemctl --user start redshift"
command_off = "systemctl --user stop redshift"
command_state = "[[ $(systemctl --user is-active redshift) == active ]] && echo active"
@@ -70,7 +68,7 @@ signal = 0
[[block]]
block = "toggle"
text = "  "
format = "  $icon "
command_on = "systemctl --user start spotify"
command_off = "systemctl --user stop spotify"
command_state = "[[ $(systemctl --user is-active spotify) == active ]] && echo active"
@@ -78,7 +76,8 @@ signal = 0
[[block]]
block = "custom"
command = "ping -n -q -w 2 -c 1 8.8.8.8 >/dev/null 2>/dev/null && echo || echo "
json = true
command = "ping -n -q -w 2 -c 1 8.8.8.8 >/dev/null 2>/dev/null && printf '{\"text\":\"\",\"state\":\"Info\"}' || printf '{\"text\":\"\",\"state\":\"Critical\"}'"
[[block]]
block = "custom"
@@ -89,4 +88,4 @@ interval = 1800
block = "time"
interval = 1
locale = "de_DE"
format = "[CW %V] %a %d.%m.%Y %H:%M:%S"
format = " [CW %V] %a %d.%m.%Y %H:%M:%S "

View File

@@ -0,0 +1,94 @@
# FontAwesome 4: https://fontawesome.com/v4.7.0/cheatsheet/
backlight_empty = "\U0001f315"
backlight_full = "\U0001f311"
backlight_1 = "\U0001f314"
backlight_2 = "\U0001f314"
backlight_3 = "\U0001f314"
backlight_4 = "\U0001f314"
backlight_5 = "\U0001f313"
backlight_6 = "\U0001f313"
backlight_7 = "\U0001f313"
backlight_8 = "\U0001f313"
backlight_9 = "\U0001f313"
backlight_10 = "\U0001f312"
backlight_11 = "\U0001f312"
backlight_12 = "\U0001f312"
backlight_13 = "\U0001f312"
bat_charging = "\uf1e6" # fa-plug
bat_discharging = "\uf242" # fa-battery-half
bat_10 = "\uf244" # fa-battery-empty
bat_20 = "\uf243" # fa-battery-quarter
bat_30 = "\uf243" # fa-battery-quarter
bat_40 = "\uf243" # fa-battery-quarter
bat_50 = "\uf242" # fa-battery-half
bat_60 = "\uf242" # fa-battery-half
bat_70 = "\uf241" # fa-battery-three-quarters
bat_80 = "\uf241" # fa-battery-three-quarters
bat_90 = "\uf241" # fa-battery-three-quarters
bat_full = "\uf240" # fa-battery-full
bat_not_available = "\uf244" # fa-battery-empty
bell = "\uf0f3" # fa-bell
bell-slash = "\uf1f7" # fa-bell-slash-o
bluetooth = "\uf294" # fa-bluetooth-b
calendar = "\uf073" # fa-calendar
cogs = "\uf085" # fa-cogs
cpu = "\uf0e4" # fa-dashboard
cpu_boost_off = "\uf204" # fa-toggle-off
cpu_boost_on = "\uf205" # fa-toggle-on
disk_drive = "\uf0a0" # fa-hdd-o
docker = "\uf21a" # fa-ship
github = "\uf09b" # fa-github
gpu = "\uf26c" # fa-television
headphones = "\uf025" # fa-headphones
joystick = "\uf11b" # fa-gamepad
keyboard = "\uf11c" # fa-keyboard-o
mail = "\uf0e0" # fa-envelope
memory_mem = "\uf2db" # fa-microchip
memory_swap = "\uf0a0" # fa-hdd-o
mouse = "\uf245" # fa-mouse-pointer
music = "\uf001" # fa-music
music_next = "\uf061" # fa-arrow-right
music_pause = "\uf04c" # fa-pause
music_play = "\uf04b" # fa-play
music_prev = "\uf060" # fa-arrow-left
net_bridge = "\uf0e8" # fa-sitemap
net_down = "\u2b07"
net_loopback = "LO"
net_modem = "\uf095" # fa-phone
net_up = "\u2b06"
net_vpn = "\uf023" # fa-lock
net_wired = "\uf0ac" # fa-globe
net_wireless = "\uf1eb" # fa-wifi
notification = "\uf0a2" # fa-bell-o
phone = "\uf10b" # fa-mobile
phone_disconnected = "\U0001f4f5" # https://unicode-table.com/en/1F4F5/
ping = "\u21ba"
pomodoro = "\U0001f345"
pomodoro_break = "\uf0f4" # fa-coffee
pomodoro_paused = "\uf04c" # fa-pause
pomodoro_started = "\uf04b" # fa-play
pomodoro_stopped = "\uf04d" # fa-stop
resolution = "\uf096" # fa-square-o
tasks = "\uf0ae" # fa-tasks
thermometer = "\uf2c8" # fa-thermometer-3
time = "\uf017" # fa-clock-o
toggle_off = "\uf204" # fa-toggle-off
toggle_on = "\uf205" # fa-toggle-on
unknown = "\uf128" # fa-question
update = "\uf062" # fa-arrow-up
uptime = "\uf017" # fa-clock-o
volume_empty = "\uf026" # fa-volume-off
volume_full = "\uf028" # fa-volume-up
volume_half = "\uf027" # fa-volume-down
volume_muted = "\uf026 \uf00d"
microphone_empty = "\uf130" # fa-microphone
microphone_full = "\uf130" # fa-microphone
microphone_half = "\uf130" # fa-microphone
microphone_muted = "\uf131" # fa-microphone-slash
weather_clouds = "\uf0c2" # fa-cloud
weather_default = "\uf0c2" # fa-cloud
weather_rain = "\uf043" # fa-tint
weather_snow = "\uf2dc" # fa-snowflake-o
weather_sun = "\uf185" # fa-sun-o
weather_thunder = "\uf0e7" # fa-bolt
xrandr = "\uf26c" # fa-television

View File

View File

@@ -1,123 +0,0 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
interval = 1
# color = '#FFFFFF'
# color_good = '#00FF00'
# color_bad = '#FF0000'
# color_degraded = '#FFFF00'
color = '#FFFFFF'
color_good = '#FFFFFF'
color_bad = '#F92672'
color_degraded = '#F4Bf75'
}
order += spotify
{% if user.has_yubikey %}
order += "yubikey"
{% endif %}
order += "volume_status output"
order += "volume_status input"
order += "wifi"
order += "external_script presentation_mode"
order += "systemd redshift"
order += "systemd spotify"
order += online_status
order += "battery_level all"
order += "clock"
battery_level all {
battery_id = "all"
format = " {icon} {percent}% "
measurement_mode = "sys"
charging_character = ""
blocks = ""
notification = true
hide_when_full = false
hide_seconds = true
notify_low_level = true
threshold_full = 95
}
systemd redshift {
unit = "redshift.service"
user = true
format = "  "
on_click 1 = "exec $HOME/.i3/scripts/toggle-app redshift"
color_bad = '#F4Bf75'
color_degraded = '#F4Bf75'
}
systemd spotify {
unit = "spotify.service"
user = true
format = "  "
color_bad = '#F4Bf75'
color_degraded = '#F4Bf75'
}
yubikey {
format = '[  YubiKey[\?if=is_gpg ][\?if=is_u2f ] ]'
}
clock {
format = ["{DE}", "{NZ}", "{Cuba}", "{MX}", "{CZ}", "{NL}", "{VN}"]
format_time = "  {name} \[KW %V\] %a %d.%m.%Y %H:%M:%S "
}
wifi {
bitrate_bad = 0
bitrate_degraded = 0
format = "  {signal_percent} {ssid} |  down "
down_color = "good"
}
spotify {
format = "  {title} - {artist} "
format_down = "  off "
format_stopped = "  stopped "
cache_timeout = 1
color_offline = '#FFFFFF'
on_click 1 = "exec $HOME/.i3/scripts/spotify-control toggle"
on_click 3 = "exec $HOME/.i3/scripts/spotify-control next"
}
external_script presentation_mode {
format = " Present: {output} "
script_path = "$HOME/.i3/scripts/presentation-mode status"
strip_output = True
on_click 1 = "exec $HOME/.i3/scripts/presentation-mode toggle"
}
online_status {
icon_on = ""
icon_off = ""
format = " {icon} "
}
volume_status output {
cache_timeout = 10
format = "  {percentage}% "
format_muted = "  mute "
thresholds = []
command = "pactl"
color_muted = '#FFFFFF'
}
volume_status input {
cache_timeout = 10
format = "  active "
format_muted = "  mute "
thresholds = [(0, 'good'), (1, 'bad')]
command = "pactl"
color_muted = '#FFFFFF'
is_input = True
}

View File

@@ -1,9 +0,0 @@
#!/bin/bash
if [[ "$1" ]] ; then
modules="$1"
else
modules=all
fi
py3-cmd refresh "$modules"

View File

@@ -18,13 +18,7 @@ log()
lock()
{
set -x
playing=0
if [[ "$(playerctl -p spotify status)" == "Playing" ]] ; then
playing=1
fi
if (( $playing )) ; then
playerctl -p spotify pause
fi
if [[ -f "$LOCKSCREEN" ]] ; then
resized_lockscreen=$(mktemp)
@@ -36,9 +30,6 @@ lock()
i3lock --nofork --show-failed-attempts --ignore-empty-password \
--color "$_fallback_color"
fi
if (( $playing )) ; then
playerctl -p spotify play
fi
}
screen_off() {

View File

@@ -1,137 +0,0 @@
#!/bin/bash
# name of the sink. execute pactl list sinks to get a list
SINKNAME="$(pactl info | grep '^Default Sink:' | cut -d ' ' -f 3-)"
# name of the sink. execute pactl list sinks to get a list
SOURCENAME="$(pactl info | grep '^Default Source:' | cut -d ' ' -f 3-)"
#SINKNAME="alsa_output.usb-Logitech_Logitech_Wireless_Headset_88C626354D45-00.analog-stereo"
# this is the worst
SINK=$(( $(pactl list sinks | grep "Name: " | grep -n "${SINKNAME}"$ | grep -o "^[[:digit:]]*") -1))
SOURCE=$(( $(pactl list sources | grep "Name: " | grep -n "${SOURCENAME}"$ | grep -o "^[[:digit:]]*") -1))
getvol() {
echo $(pactl list sinks | grep "^[[:space:]]*Volume" | head -n $(( $SINK + 1 )) | tail -n 1 | grep -o "[[:digit:]]*%" | head -n 1 | cut -d "%" -f 1)
}
setvol() {
if [[ $1 =~ [+-][0-9]+ ]] ; then
oldvol="$(getvol)"
echo "oldvol $oldvol"
delta="$(echo "$1" | cut -c 2-)"
echo "delta $delta"
if [[ "$(echo "$1" | cut -c 1)" == "+" ]] ; then
echo "+"
newvol=$(( $oldvol + $delta ))
else
echo "-"
newvol=$(( $oldvol - $delta ))
echo $newvol
fi
if [[ $newvol -gt 100 ]]; then
echo "capping at 100 percent"
newvol=100
fi
if [[ $newvol -lt 0 ]]; then
echo "capping at 0 percent"
newvol=0
fi
echo "newvol $newvol"
else
newvol="$1"
fi
pactl set-sink-volume $SINKNAME $(( $newvol * 65536 / 100 ))
}
ismuted() {
muted=$(pactl list sinks | grep "^[[:space:]]*Mute" | head -n $(( $SINK + 1 )) | tail -n 1 | cut -d " " -f 2)
if [[ $muted == "no" ]]; then
echo 0
else
echo 1
fi
}
mute() {
pactl set-sink-mute $SINKNAME 1
}
unmute() {
pactl set-sink-mute $SINKNAME 0
}
mute-toggle() {
pactl set-sink-mute $SINKNAME toggle
}
mute-toggle-mic() {
pactl set-source-mute $SOURCENAME toggle
}
status() {
if [[ $(ismuted) == "1" ]] ; then
echo "mute"
return
fi
echo "$(getvol)%"
}
usage() {
echo "Usage:"
echo
echo "$0 get-vol"
echo "$0 set-vol VOL_PERC"
}
update_status_bar_sink() {
~/.i3/scripts/bar-update "volume_status output"
}
update_status_bar_source() {
~/.i3/scripts/bar-update "volume_status input"
}
case "$1" in
"sink")
echo $SINKNAME
echo $SINK
;;
"get-vol")
echo $(getvol)
;;
"set-vol")
if [[ -z "$2" ]] ; then
usage
else
setvol "$2"
fi
update_status_bar_sink
;;
"mute")
mute
update_status_bar_sink
;;
"unmute")
unmute
update_status_bar_sink
;;
"mute-toggle")
mute-toggle
update_status_bar_sink
;;
"mute-toggle-mic")
mute-toggle-mic
update_status_bar_source
;;
"is-muted")
echo $(ismuted)
;;
"status")
echo $(status)
;;
*)
usage
esac

View File

@@ -1,7 +1,6 @@
#!/usr/bin/env bash
_status_file="${XDG_RUNTIME_DIR}/presentation-mode-on"
_autostart="$HOME/.autostart.sh"
is_on() {
[[ -e "${_status_file}" ]]
@@ -12,9 +11,6 @@ switch_on() {
dunstctl set-paused true &
systemctl --user --no-block stop redshift.service
systemctl --user --no-block stop spotify.service
~/.i3/scripts/bar-update "external_script presentation_mode"
~/.i3/scripts/bar-update "systemd redshift"
~/.i3/scripts/bar-update "systemd spotify"
}
switch_off() {
@@ -22,9 +18,6 @@ switch_off() {
dunstctl set-paused false &
systemctl --user --no-block start redshift.service
systemctl --user --no-block start spotify.service
~/.i3/scripts/bar-update "external_script presentation_mode"
~/.i3/scripts/bar-update "systemd redshift"
~/.i3/scripts/bar-update "systemd spotify"
}
@@ -32,10 +25,8 @@ case "$1" in
status)
if is_on ; then
printf "on\n"
printf '#F4BF75'
else
printf "off\n"
# printf '#F4BF75'
fi
;;
toggle)

View File

@@ -1,20 +0,0 @@
#!/bin/bash
case "$1" in
toggle)
cmd="play-pause"
;;
next)
cmd="next"
;;
previous)
cmd="previous"
;;
*)
echo "wrong argument $1"
exit 1
;;
esac
playerctl -p spotify "${cmd}"
~/.i3/scripts/bar-update spotify

View File

@@ -1,20 +0,0 @@
#!/usr/bin/env python3
import dbus
session_bus = dbus.SessionBus()
spotify_bus = session_bus.get_object("org.mpris.MediaPlayer2.spotify",
"/org/mpris/MediaPlayer2")
spotify_properties = dbus.Interface(spotify_bus,
"org.freedesktop.DBus.Properties")
metadata = spotify_properties.Get("org.mpris.MediaPlayer2.Player", "Metadata")
# The property Metadata behaves like a python dict
# for key, value in metadata.items():
# print(key, value)
# To just print the title
print("{}: {} - [{}]".format(
metadata['xesam:artist'][0],
metadata['xesam:title'],
metadata['xesam:album']
))

View File

@@ -1,17 +0,0 @@
#!/usr/bin/env bash
app="${1:?app missing}"
unitname="${app}.service"
running() {
systemctl --user --quiet status "${unitname}" >/dev/null
}
if running ; then
systemctl --user stop "${unitname}"
else
systemctl --user start "${unitname}"
fi
py3-cmd refresh "systemd $app"

View File

@@ -267,9 +267,9 @@ packages:
acpi:
ubuntu: ["acpid"]
archlinux: ["acpi", "acpid"]
npm:
ubuntu: ["npm"]
archlinux: ["npm"]
nodejs:
ubuntu: ["nodejs"]
archlinux: ["nodejs", "npm"]
xdg:
ubuntu: ["xdg-utils"]
archlinux: ["xdg-utils"]

View File

@@ -577,6 +577,7 @@
loop_control:
label: "{{ item.binary }}"
when: item.source|default('crates.io') == 'crates.io'
check_mode: false
- name: check if binary already exists for git
stat:
@@ -586,9 +587,7 @@
loop_control:
label: "{{ item.binary }}"
when: item.source|default('crates.io') == 'git'
- debug:
var: rust_binary_cratesio
check_mode: false
- name: build rust crates from crates.io
shell: |
@@ -604,13 +603,13 @@
loop: "{{ cargo_crate_list }}"
when:
- item.source|default('crates.io') == 'crates.io'
- not (rust_binary_cratesio.results | selectattr("item.binary", "match", item.binary))[0].stat.exists
- not ((rust_binary_cratesio.results | selectattr("item.binary", "match", item.binary)) | list) [0].stat.exists
- name: build rust crates from git
shell: |
set -o errexit
{{ cargo_env }}
rustup run {{ item.toolchain|default('stable') }} cargo install --features "{{ item.features|default([])|join(' ') }}" {{ "--target " ~ item.target if item.target is defined else '' }} --git {{ item.url }} --branch {{ item.branch }}
rustup run {{ item.toolchain|default('stable') }} cargo install --features "{{ item.features|default([])|join(' ') }}" {{ "--target " ~ item.target if item.target is defined else '' }} --git {{ item.url }} --branch {{ item.branch }} {{ item.package|default("") }}
mv /var/lib/rust_build/.cargo/bin/{{ item.binary }} /var/lib/rust_build/.cargo/bin/{{ binary_id_git }}
args:
creates: /var/lib/rust_build/.cargo/bin/{{ binary_id_git }}
@@ -619,7 +618,7 @@
loop: "{{ cargo_crate_list }}"
when:
- item.source|default('crates.io') == 'git'
- not (rust_binary_git.results | selectattr("item.binary", "match", item.binary))[0].stat.exists
- not ((rust_binary_git.results | selectattr("item.binary", "match", item.binary)) | list)[0].stat.exists
- name: create target directory
file:
@@ -639,7 +638,7 @@
loop: "{{ cargo_crate_list }}"
when:
- item.source|default('crates.io') == 'crates.io'
- not (rust_binary_cratesio.results | selectattr("item.binary", "match", item.binary))[0].stat.exists
- not ((rust_binary_cratesio.results | selectattr("item.binary", "match", item.binary)) | list)[0].stat.exists
- name: move binaries for git
shell: |
@@ -650,7 +649,7 @@
loop: "{{ cargo_crate_list }}"
when:
- item.source|default('crates.io') == 'git'
- not (rust_binary_git.results | selectattr("item.binary", "match", item.binary))[0].stat.exists
- not ((rust_binary_git.results | selectattr("item.binary", "match", item.binary)) | list)[0].stat.exists
- name: link binaries for crates.io
file:

View File

@@ -393,6 +393,7 @@
vars:
firefox_profiles: "{{ {item.key: item.value} | combine({item.key: {'preferences': firefox_preferences}}, recursive=True) }}"
loop: "{{ user.firefox_profiles | dict2items }}"
when: not ansible_check_mode
- name: firefox - create target directory for passff
file:
@@ -439,6 +440,7 @@
state: directory
mode: '0755'
with_items: "{{ firefox_profile_names.results }}"
when: not ansible_check_mode
- name: firefox - configure firefox custom css
copy:
@@ -456,7 +458,9 @@
#sidebar {
width: 400px !important;
}
when: user.firefox_profiles[item.profile_name].manage_css is sameas True
when:
- not ansible_check_mode
- user.firefox_profiles[item.profile_name].manage_css is sameas True
with_items: "{{ firefox_profile_names.results }}"
tags:
- firefox
@@ -556,12 +560,14 @@
file:
path: /home/{{ user.name }}/.opt/kubectl-{{ kubectl_version }}
mode: '0755'
when: not ansible_check_mode
- name: link kubectl
file:
src: /home/{{ user.name }}/.opt/kubectl-{{ kubectl_version }}
dest: /home/{{ user.name }}/.optbin/kubectl
state: link
when: not ansible_check_mode
tags:
- kubectl
@@ -575,42 +581,54 @@
stat:
path: "/home/{{ user.name }}/.opt/terraform-v{{ tf_version }}"
register: terraform_binary
check_mode: false
- name: create temporary download directory for terraform
tempfile:
state: directory
register: terraform_download_dir
when: not terraform_binary.stat.exists
when:
- not ansible_check_mode
- not terraform_binary.stat.exists
- name: get terraform
get_url:
url: "https://releases.hashicorp.com/terraform/{{ tf_version }}/terraform_{{ tf_version }}_linux_amd64.zip"
dest: "{{ terraform_download_dir.path }}/terraform.zip"
force: false
when: not terraform_binary.stat.exists
when:
- not ansible_check_mode
- not terraform_binary.stat.exists
- name: unpack terraform zip
unarchive:
src: "{{ terraform_download_dir.path }}/terraform.zip"
dest: "{{ terraform_download_dir.path }}/"
remote_src: true
when: not terraform_binary.stat.exists
when:
- not ansible_check_mode
- not terraform_binary.stat.exists
- name: install terraform
command: mv "{{ terraform_download_dir.path }}/terraform" /home/{{ user.name }}/.opt/terraform-v{{ tf_version }}
when: not terraform_binary.stat.exists
when:
- not ansible_check_mode
- not terraform_binary.stat.exists
- name: clean up download directory
file:
path: "{{ terraform_download_dir.path }}"
state: absent
when: not terraform_binary.stat.exists
when:
- not ansible_check_mode
- not terraform_binary.stat.exists
- name: link terraform
file:
src: /home/{{ user.name }}/.opt/terraform-v{{ tf_version }}
dest: /home/{{ user.name }}/.optbin/terraform
state: link
when: not ansible_check_mode
- block:
- name: get terraform version info

View File

@@ -36,3 +36,8 @@ cargo_crate_list:
features:
- static-build
target: x86_64-unknown-linux-musl
- url: https://github.com/hakoerber/i3status-rust
binary: i3status-rs
branch: develop
source: git
package: i3status-rs

View File

@@ -196,8 +196,8 @@ else
nnoremap <leader>u :GundoToggle<CR>
nnoremap <leader>d :diffupdate<CR>
nmap <F9> :Goyo<CR>:TogglePencil<CR>:Limelight!!<CR>
nmap <leader>w :Goyo<CR>:TogglePencil<CR>:Limelight!!<CR>
nmap <F9> :Goyo<CR>:TogglePencil<CR>
nmap <leader>w :Goyo<CR>:TogglePencil<CR>:set colorcolumn=<CR>
nmap <leader>c :%w !xclip -selection clipboard<CR>
nmap <leader>x :r !xclip -out -selection -clipboard<CR><CR>
@@ -228,6 +228,7 @@ else
\ },
\ }
function! LightLineFilename()
return fnamemodify(expand('%F'), ":~:h")
endfunction
@@ -235,15 +236,17 @@ else
" == pencil ==
let g:pencil#textwidth = 80
let g:pencil#autoformat = 1
let g:pencil#cursorwrap = 1
let g:pencil#wrapModeDefault = 'soft'
let g:pencil#cursorwrap = 0
let g:pencil#wrapModeDefault = 'hard'
let g:pencil#map#suspend_af = 'K'
" == goyo ==
let g:goyo_width = 100
let g:goyo_height = "90%"
let g:goyo_linenr = 0
autocmd! User GoyoEnter Limelight
autocmd! User GoyoLeave Limelight!
" == limelight ==
let g:limelight_default_coefficient = 0.5