diff -Nru budgie-desktop-environment-0.10.4/debian/budgie-desktop-environment.install budgie-desktop-environment-0.10.5/debian/budgie-desktop-environment.install --- budgie-desktop-environment-0.10.4/debian/budgie-desktop-environment.install 2018-08-21 20:34:43.000000000 +0000 +++ budgie-desktop-environment-0.10.5/debian/budgie-desktop-environment.install 2018-10-07 07:55:42.000000000 +0000 @@ -3,6 +3,7 @@ thumbnail_override/* /usr/share/budgie-desktop/ plank_autostart/* /usr/share/budgie-desktop/ keycontrol /usr/share/budgie-desktop/ +showdesktop /usr/share/budgie-desktop/ /etc/skel visualspace/schema/* /usr/share/glib-2.0/schemas/ visualspace /usr/share/budgie-desktop/ diff -Nru budgie-desktop-environment-0.10.4/debian/changelog budgie-desktop-environment-0.10.5/debian/changelog --- budgie-desktop-environment-0.10.4/debian/changelog 2018-08-21 20:34:43.000000000 +0000 +++ budgie-desktop-environment-0.10.5/debian/changelog 2018-10-07 07:55:42.000000000 +0000 @@ -1,3 +1,18 @@ +budgie-desktop-environment (0.10.5) cosmic; urgency=medium + + * Bug-fix release + - Update keybinding for showdesktop since capability was + switched from hotcorners + - Move showdesktop script that was previously in hotcorners + to budgie-desktop-environment + - Remove dropby as a default applet since it is causing + spurious floating arrow on a live-session and occasionally after + logging in + - Remove unnecessary README only picture for visualspace that + also was accidently installed + + -- David Mohammed Sun, 07 Oct 2018 08:55:42 +0100 + budgie-desktop-environment (0.10.4) cosmic; urgency=medium * New release diff -Nru budgie-desktop-environment-0.10.4/etc/profile.d/10-budgie-desktop.sh budgie-desktop-environment-0.10.5/etc/profile.d/10-budgie-desktop.sh --- budgie-desktop-environment-0.10.4/etc/profile.d/10-budgie-desktop.sh 2018-08-21 20:34:43.000000000 +0000 +++ budgie-desktop-environment-0.10.5/etc/profile.d/10-budgie-desktop.sh 2018-10-07 07:55:42.000000000 +0000 @@ -8,9 +8,16 @@ # keycontrol - we suffix number when keycontrol needs to be rerun # when the package updates +if [ ! -f ~/.config/budgie-desktop/changekeycontrol ] +then + cd /usr/share/budgie-desktop/keycontrol/; python3 ./bin/change-keybinding.py; cd + mkdir -p ~/.config/budgie-desktop + touch ~/.config/budgie-desktop/changekeycontrol +fi + if [ ! -f ~/.config/budgie-desktop/keycontrol2 ] then - cd /usr/share/budgie-desktop/keycontrol/; . ./gnome-custom-keybinding-setup + cd /usr/share/budgie-desktop/keycontrol/; . ./gnome-custom-keybinding-setup; cd mkdir -p ~/.config/budgie-desktop # delete old keycontrol files (if they have been previously created) rm -f ~/.config/budgie-desktop/keycontrol* diff -Nru budgie-desktop-environment-0.10.4/keycontrol/bin/change-keybinding.py budgie-desktop-environment-0.10.5/keycontrol/bin/change-keybinding.py --- budgie-desktop-environment-0.10.4/keycontrol/bin/change-keybinding.py 1970-01-01 00:00:00.000000000 +0000 +++ budgie-desktop-environment-0.10.5/keycontrol/bin/change-keybinding.py 2018-10-07 07:55:42.000000000 +0000 @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +import subprocess +import os + + +path = "org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:" + \ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/" + + +check_binding = "d" +check_command = "/usr/lib/budgie-desktop/plugins/budgie-hcorners/showdesktop" +check_name = "Hide/Show desktop" +target_command = '/usr/share/budgie-desktop/showdesktop/showdesktop' + + +keyinfo = subprocess.check_output([ + "dconf", "dump", + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/", +]).decode("utf-8").split("\n\n") + + +for s in keyinfo: + if all([check_binding in s, check_command in s]): + custom = s.splitlines()[0].replace("[", "").replace("]", "") + command = [ + "gsettings", "set", path + custom + "/", "command", target_command + ] + try: + subprocess.Popen(command) + except Exception: + pass \ No newline at end of file diff -Nru budgie-desktop-environment-0.10.4/keycontrol/custom-keys.d/show-desktop.dconf budgie-desktop-environment-0.10.5/keycontrol/custom-keys.d/show-desktop.dconf --- budgie-desktop-environment-0.10.4/keycontrol/custom-keys.d/show-desktop.dconf 2018-08-21 20:34:43.000000000 +0000 +++ budgie-desktop-environment-0.10.5/keycontrol/custom-keys.d/show-desktop.dconf 2018-10-07 07:55:42.000000000 +0000 @@ -1,4 +1,4 @@ [custom-keybindings/budgie-show-desktop] binding='d' -command='/usr/lib/budgie-desktop/plugins/budgie-hcorners/showdesktop' +command='/usr/share/budgie-desktop/showdesktop/showdesktop' name='Hide/Show desktop' diff -Nru budgie-desktop-environment-0.10.4/panel_override/panel.ini budgie-desktop-environment-0.10.5/panel_override/panel.ini --- budgie-desktop-environment-0.10.4/panel_override/panel.ini 2018-08-21 20:34:43.000000000 +0000 +++ budgie-desktop-environment-0.10.5/panel_override/panel.ini 2018-10-07 07:55:42.000000000 +0000 @@ -2,7 +2,7 @@ Panels=Top Panel [Top Panel] -Children=Budgie Menu;Spacer 1;ShowTime;Clock;AppIndicator;Tray;DropBy;Caffeine;QuickNote;Spacer 2;Night;Places;Notifications;Status;Separator;Spacer 3;User Indicator;Raven Trigger; +Children=Budgie Menu;Spacer 1;ShowTime;Clock;AppIndicator;Tray;Caffeine;QuickNote;Spacer 2;Night;Places;Notifications;Status;Separator;Spacer 3;User Indicator;Raven Trigger; Position=Top [Budgie Menu] @@ -26,10 +26,6 @@ ID=System Tray Alignment=end -[DropBy] -ID=DropBy -Alignment=end - [Caffeine] ID=Caffeine Alignment=end diff -Nru budgie-desktop-environment-0.10.4/showdesktop/showdesktop budgie-desktop-environment-0.10.5/showdesktop/showdesktop --- budgie-desktop-environment-0.10.4/showdesktop/showdesktop 1970-01-01 00:00:00.000000000 +0000 +++ budgie-desktop-environment-0.10.5/showdesktop/showdesktop 2018-10-07 07:55:42.000000000 +0000 @@ -0,0 +1,108 @@ +#!/usr/bin/env python3 +import subprocess +import os +import ast +import time + +""" +Hot Corners +Author: Jacob Vlijm +Copyright © 2017-2018 Ubuntu Budgie Developers +Website=https://ubuntubudgie.org +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 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 . +""" + +user = os.environ["USER"] +orig_minimized = "/tmp/" + user + "sd_orig_minimized" +active_minimized = "/tmp/" + user + "sd_active_minimized" +front = "/tmp/" + user + "_sd_front" + + +ignore = [ + "= _NET_WM_WINDOW_TYPE_DOCK", + "= _NET_WM_WINDOW_TYPE_DESKTOP", +] + + +def get(cmd): + return subprocess.check_output(cmd).decode("utf-8").strip() + + +def get_currws(): + return [l.split()[0] for l in get( + ["wmctrl", "-d"]).splitlines() if "*" in l][0] + + +def get_valid(w_id): + # see if the window is a valid one (type) + w_data = get(["xprop", "-id", w_id]) + if w_data: + return True if not any([t in w_data for t in ignore]) else False + else: + return False + + +def get_state(w_id): + return "window state: Iconic" in get(["xprop", "-id", w_id, "WM_STATE"]) + + +currws = get_currws() +allwinsdata = [w.split() for w in get(["wmctrl", "-l"]).splitlines()] +winsoncurr = [w[0] for w in allwinsdata if w[1] == currws] +relevant = [w for w in winsoncurr if get_valid(w)] + + +# windows on current workspace, normal state +tominimize = [w for w in relevant if not get_state(w)] + + +if tominimize: + # get currently active window + active_w = get(["xdotool", "getactivewindow"]) + # remove possible previous window data + for f in [orig_minimized, active_minimized, front]: + try: + os.remove(f) + except FileNotFoundError: + pass + # minimize normal-state windows + for w in tominimize: + subprocess.Popen(["xdotool", "windowminimize", w]) + # remember already minimized windows + minimized = [w for w in relevant if w not in tominimize] + open(orig_minimized, "wt").write(str(minimized)) + # remember actively minimized + open(active_minimized, "wt").write(str(tominimize)) + # remember active window + open(front, "wt").write(str(active_w)) + + +else: + try: + toshow = ast.literal_eval(open(active_minimized).read()) + ignored = ast.literal_eval(open(orig_minimized).read()) + active_w = open(front).read() + except FileNotFoundError: + pass + else: + allwins = sorted(toshow + ignored) + compare = sorted(relevant) + if allwins == compare: + # toshow.append(active_w) + for w in toshow: + subprocess.Popen(["wmctrl", "-ia", w]) + time.sleep(0.05) + subprocess.Popen(["wmctrl", "-ia", active_w]) + # remove possible previous window data + for f in [orig_minimized, active_minimized]: + try: + os.remove(f) + except FileNotFoundError: + pass Binary files /tmp/tmppiaVhY/NzHi4wh1c9/budgie-desktop-environment-0.10.4/visualspace/visualspace.png and /tmp/tmppiaVhY/XQ3I84D3PV/budgie-desktop-environment-0.10.5/visualspace/visualspace.png differ