summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Mubashshir <ahm@jadupc.com>2023-03-02 17:21:06 +0600
committerLibravatar Mubashshir <ahm@jadupc.com>2023-03-04 23:01:36 +0600
commit574116e4cb599aa1ccd6927768c4ed5979da94b9 (patch)
tree0cdcf48f6e394b28eea630dc01362b7d6aa02179
downloadjadupc-everything-574116e4cb599aa1ccd6927768c4ed5979da94b9.tar.gz
jadupc-everything-574116e4cb599aa1ccd6927768c4ed5979da94b9.zip
Initial Release
Signed-off-by: Mubashshir <ahm@jadupc.com>
-rw-r--r--.gitignore1
-rwxr-xr-xbin/refresh-desktop20
-rw-r--r--debian/changelog5
-rw-r--r--debian/control102
-rwxr-xr-xdebian/rules4
-rw-r--r--debian/shopno-os-refresh-menu.install1
-rw-r--r--debian/shopno-os-refresh-menu.postinst13
-rw-r--r--debian/source/format1
-rw-r--r--pkgs.dot69
9 files changed, 216 insertions, 0 deletions
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 <ahm@jadupc.com> 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 <ahm@jadupc.com>
+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 '/<actions>/a\
+\
+ <action>\
+ <icon>view-refresh</icon>\
+ <patterns>*</patterns>\
+ <range/>\
+ <name>Refresh</name>\
+ <command>refresh-desktop</command>\
+ <description>Refresh current content</description>\
+ <directories/>\
+ </action>' /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];
+}