#!/bin/bash
######################################################################
#This creates a windows switcher/launcher with fzf
#Copyright (C) 2020 Kris Occhipinti
#https://filmsbykris.com
#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program. If not, see .
######################################################################
win=$((wmctrl -l|sed 's/^/o /';ls /usr/share/applications/*.desktop)|fzf)
if [[ $win = "o "* ]]
then
title="$(echo $win|awk '{ s = ""; for (i = 5; i <= NF; i++) s = s $i " "; print s}')"
space="$(echo $win|awk '{print $3}')"
echo "wmctrl -s $space -a \"$title\""
#wmctrl -s $space -a "${title%?}"
wmctrl -s $space -a $title
else
prog="$(basename $win)"
setsid gtk-launch $prog &> /dev/null
echo "Opening $prog..."
fi