From 7a541bf49cf5bfc538ccafa5433aace5c8522f8c Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Mon, 31 May 2021 21:03:26 -0700 Subject: handle lack of i3-msg on PATH in a few places --- .emacs.d/init-spw.el | 4 +++- scripts/desktop/fresh-workspace | 9 ++++++--- scripts/desktop/i3status-wrapper | 5 ++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.emacs.d/init-spw.el b/.emacs.d/init-spw.el index c94993c4..e8304407 100644 --- a/.emacs.d/init-spw.el +++ b/.emacs.d/init-spw.el @@ -2021,7 +2021,9 @@ Called by that script using emacsclient(1)." ;; (overwrite-mode 1) (start-process "pdf" "pdf" "xdg-open" pdf) (sleep-for 0.5) - (call-process-shell-command "i3-msg move right") + (call-process-shell-command + (concat (if (executable-find "i3-msg") "i3-msg" "swaymsg") + "move right")) (let ((pdf-words (substring (with-temp-buffer (call-process-shell-command (concat "pdftotext " diff --git a/scripts/desktop/fresh-workspace b/scripts/desktop/fresh-workspace index a34205d3..7251ed07 100755 --- a/scripts/desktop/fresh-workspace +++ b/scripts/desktop/fresh-workspace @@ -13,8 +13,11 @@ my @all_workspaces = ( "19:F9", "20:F10", "21:F11", "22:F12" ); +`which i3-msg`; +my $exec = $? == 0 ? "i3-msg" : "swaymsg"; + my %current_names = map +($_->{name}, undef), - @{ decode_json `i3-msg -t get_workspaces` }; + @{ decode_json `$exec -t get_workspaces` }; my $next_free_workspace = first { not exists $current_names{$_} } @all_workspaces; @@ -26,13 +29,13 @@ if ($next_free_workspace) { # other wanted containers over there, before finally switching # the view with 'workspace back_and_forth' system - "i3-msg move container to workspace $next_free_workspace" + "$exec move container to workspace $next_free_workspace" # Only the first of the three commands within this call to i3-msg # should be necessary, but we need the others to work around # https://github.com/swaywm/sway/issues/6081 .", workspace $next_free_workspace, workspace back_and_forth >/dev/null"; } else { - system "i3-msg workspace $next_free_workspace >/dev/null"; + system "$exec workspace $next_free_workspace >/dev/null"; } } diff --git a/scripts/desktop/i3status-wrapper b/scripts/desktop/i3status-wrapper index fffde8d1..cbe02685 100755 --- a/scripts/desktop/i3status-wrapper +++ b/scripts/desktop/i3status-wrapper @@ -33,6 +33,9 @@ my $caffeinated; my $username = $ENV{LOGNAME} || $ENV{USER} || getpwuid($<); my $hostname = hostname; +`which i3-msg`; +my $exec = $? == 0 ? "i3-msg" : "swaymsg"; + expensive(); $SIG{USR1} = sub { kill USR1 => $i3status; expensive() }; @@ -52,7 +55,7 @@ while (my ($statusline) = (<$pipe> =~ /^,?(.*)/)) { sub expensive { my %marks; - walk_tree(\%marks, decode_json `i3-msg -t get_tree`); + walk_tree(\%marks, decode_json `$exec -t get_tree`); $caffeinated = exists $marks{caffeinated} ? $marks{caffeinated} : undef; } -- cgit v1.2.3