From 574116e4cb599aa1ccd6927768c4ed5979da94b9 Mon Sep 17 00:00:00 2001 From: Mubashshir Date: Thu, 2 Mar 2023 17:21:06 +0600 Subject: Initial Release Signed-off-by: Mubashshir --- .gitignore | 1 + bin/refresh-desktop | 20 +++++++ debian/changelog | 5 ++ debian/control | 102 +++++++++++++++++++++++++++++++++ debian/rules | 4 ++ debian/shopno-os-refresh-menu.install | 1 + debian/shopno-os-refresh-menu.postinst | 13 +++++ debian/source/format | 1 + pkgs.dot | 69 ++++++++++++++++++++++ 9 files changed, 216 insertions(+) create mode 100644 .gitignore create mode 100755 bin/refresh-desktop create mode 100644 debian/changelog create mode 100644 debian/control create mode 100755 debian/rules create mode 100644 debian/shopno-os-refresh-menu.install create mode 100644 debian/shopno-os-refresh-menu.postinst create mode 100644 debian/source/format create mode 100644 pkgs.dot diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ca2f74e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +!/bin diff --git a/bin/refresh-desktop b/bin/refresh-desktop new file mode 100755 index 0000000..7657457 --- /dev/null +++ b/bin/refresh-desktop @@ -0,0 +1,20 @@ +#!/bin/sh +AW=$( + xdotool getactivewindow + printf : + xdotool getactivewindow getwindowpid +) +AW=$(echo "$AW" | tr -d '[:space:]') + +PROC=$(realpath "/proc/${AW#*:}/exe" | xargs basename) + +unset NOREFOCUS + +if ! echo "$PROC" | grep -qlE '(thunar|xfdesktop)'; then + NOREFOCUS=false + xdotool search --onlyvisible --classname Xfdesktop windowfocus +fi + +xdotool key F5 + +"${NOREFOCUS:-true}" || xdotool windowfocus "${AW%:*}" diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..b7e3270 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +jadupc-everything (1.0.0) shopno; urgency=medium + + * Initial Release + + -- Mubashshir Thu, 02 Mar 2023 16:45:00 +0600 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..5d0ff94 --- /dev/null +++ b/debian/control @@ -0,0 +1,102 @@ +Source: jadupc-everything +Section: metapackages +Priority: optional +Maintainer: Mubashshir +Build-Depends: debhelper-compat (= 13), dh-exec +Standards-Version: 4.5.0 +Vcs-Git: https://builder.jadupc.com/git/pkgs/jadupc-everything +Vcs-Browser: https://builder.jadupc.com/git/pkgs/jadupc-everything +Rules-Requires-Root: no + +# base metapackage +Package: shopno-os-base +Architecture: all +Depends: + python-apt-common-shopno, + shopno-os-browser +Recommends: + shopno-os-libreoffice, + shopno-os-refresh-menu +Suggests: + shopno-os-office, + shopno-os-games, + shopno-os-education, + shopno-os-development, + shopno-os-entertainment +Description: Shopno OS base meta package + Base meta package for Shopno OS recommended packages. + +# tools +Package: shopno-os-refresh-menu +Architecture: all +Depends: + xfdesktop, + thunar, + xdotool +Section: xfce4 +Pre-Depends: xmlstarlet +Description: Implements "Refresh" menu in Xfce + Implements "Refresh" menu item in right click popup in Xfce. + . + Asked by legacy users for compatibility with a + certain exotic Operating System. + +Package: shopno-os-libreoffice +Architecture: all +Depends: + libreoffice, + libreoffice-gtk3 +Description: LibreOffice compatibility package (gtk3) + Installs libreoffice and libreoffice-gtk3 platform + +Package: shopno-os-browser +Architecture: all +Depends: + firefox, + webext-ublock-origin-firefox +Description: Default Browser Meta package + Installs Firefox with uBlock Origin adblocker + +# tasks +Package: shopno-os-office +Architecture: all +Depends: + shopno-os-libreoffice, + mupdf, + gimp +Description: Prepare Shopno OS to tackle official works + Install LibreOffice, Gimp and other office work tools + +Package: shopno-os-games +Architecture: all +Depends: + gnome-sudoku, + supertuxkart +Description: Let's play something + +Package: shopno-os-education +Architecture: all +Depends: + scratch, + nlkt, + kolorpaint +Description: Learn something new + +Package: shopno-os-development +Architecture: all +Depends: + geany, build-essential +Recommends: + arduino, + simulide +Description: Utilities for programming + +Package: shopno-os-entertainment +Architecture: all +Depends: + parole, + gstreamer1.0-plugins-bad, + gstreamer1.0-plugins-ugly +Description: Enable media playback support and codecs + +# vim: ft=yaml:ts=1:et diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..2d33f6a --- /dev/null +++ b/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ diff --git a/debian/shopno-os-refresh-menu.install b/debian/shopno-os-refresh-menu.install new file mode 100644 index 0000000..45fdee8 --- /dev/null +++ b/debian/shopno-os-refresh-menu.install @@ -0,0 +1 @@ +bin/refresh-desktop usr/bin/ diff --git a/debian/shopno-os-refresh-menu.postinst b/debian/shopno-os-refresh-menu.postinst new file mode 100644 index 0000000..58f4b10 --- /dev/null +++ b/debian/shopno-os-refresh-menu.postinst @@ -0,0 +1,13 @@ +#!/bin/sh + +sed -i '//a\ +\ + \ + view-refresh\ + *\ + \ + Refresh\ + refresh-desktop\ + Refresh current content\ + \ + ' /etc/xdg/Thunar/uca.xml diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..9f67427 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) \ No newline at end of file diff --git a/pkgs.dot b/pkgs.dot new file mode 100644 index 0000000..9441e0d --- /dev/null +++ b/pkgs.dot @@ -0,0 +1,69 @@ +// color=green = recommend +// color=purple = deps +// color=blue = optional +digraph "packages" { + rankdir = RL; + subgraph cluster_legends { + node [shape=box width=1] + depends [color=purple]; + optional [color=blue]; + recommends [color=green]; + built [color=darkred]; + depends -> recommends -> optional -> built [style=invis]; + label = "shopno-os metapackages, @ = shopno-os-" + } + { + node [color=darkred] + "@libreoffice" "@refresh-menu" "@browser" "@entertainment" + "@development" "@base" "@education" "@games" "@office"; + } + { + rank=same "@entertainment" "@development" "@base" "@education" "@games" "@office" + } + + subgraph "@base" { + "@base" -> {"python-apt-common-shopno" "@browser"} [color=purple]; + "@base" -> {"@libreoffice" "@refresh-menu"} [color=green]; + "@base" -> { + "@office" "@development" + "@entertainment" "@education" "@games" + } [color=blue]; + } + // group metapackages + subgraph "cluster_@office" { + label="@office" + "@office" -> { "@libreoffice" "mupdf" "gimp"} [color=purple]; + } + subgraph "cluster_@development" { + label="@development" + "@development" -> { geany "build-essentials" } [color=purple]; + "@development" -> { arduino simulide} [color=blue]; + } + + subgraph "cluster_@entertainment" { + label="@entertainment" + "@entertainment" -> { + parole[label="\N; Media playback"] + "gstreamer1.0-plugins-bad"[label="\N; codecs"] + "gstreamer1.0-plugins-ugly"[label="\N; codecs"] // + } [color=purple]; + } + + subgraph "cluster_@education" { + label = "@education" + "@education" -> { + scratch[label="\N; Visual programming Language by MIT"] + nlkt[label="\N; Typing practice"] + kolorpaint + } [color=purple]; + } + + subgraph "cluster_@games" { + label = "@games" + "@games" -> { supertuxkart "gnome-sudoku" } [color=purple]; + } + // non-task meta packages + "@browser" -> {"firefox" "webext-ublock-origin-firefox"} [color=purple]; + "@refresh-menu" -> {"xfdesktop" "thunar"} [color=purple]; + "@libreoffice" -> {"libreoffice" "libreoffice-gtk"} [color=purple]; +} -- cgit v1.2.3