roundabout,
created on Monday, 4 August 2025, 10:50:21 (1754304621),
received on Monday, 4 August 2025, 10:50:38 (1754304638)
Author identity: Vlad <vlad.muntoiu@gmail.com>
ca968a80a03acd884a81d2f1d88021386be1032e
extract_translations.sh
@@ -0,0 +1,9 @@
#!/bin/bash
set -e
mkdir -p po
touch po/python.pot po/ui.pot
xgettext --language=Python -o po/python.pot *.py
xgettext --language=Glade -o po/ui.pot *.ui
msgcat po/python.pot po/ui.pot -o po/messages.pot
rm po/python.pot po/ui.pot
locale/ro/LC_MESSAGES/panorama-panel.mo
main.py
@@ -25,6 +25,7 @@ import importlib
import time
import traceback
import typing
import locale
from itertools import accumulate, chain
from pathlib import Path
import ruamel.yaml as yaml
@@ -46,6 +47,11 @@ sys.path.insert(0, str((Path(__file__).parent / "shared").resolve()))
import panorama_panel
locale.bindtextdomain("panorama-panel", "locale")
locale.textdomain("panorama-panel")
locale.setlocale(locale.LC_ALL)
_ = locale.gettext
custom_css = """
.panel-flash {
@@ -125,7 +131,7 @@ class PanelConfigurator(Gtk.Frame):
return
if not button.get_active():
return
print("Moving panel")
self.panel.set_position(button.panel_position_target)
self.update_panel_size(self.panel_size_adjustment)
@@ -224,7 +230,6 @@ class PanelManager(Gtk.Window):
@Gtk.Template.Callback()
def save_settings(self, *args):
if isinstance(self.get_application(), PanoramaPanel):
print("Saving settings as user requested")
self.get_application().save_config()
@@ -251,9 +256,6 @@ class AppletArea(Gtk.Box):
self.drop_target.connect("drop", self.drop_applet)
def drop_applet(self, drop_target: Gtk.DropTarget, value: int, x: float, y: float):
print(f"Dropping applet: {value}")
applet: panorama_panel.Applet = self.get_root().get_application().drags.pop(value)
print(f"Type: {applet.__class__.__name__}")
old_area: AppletArea = applet.get_parent()
old_area.remove(applet)
# Find the position where to insert the applet
@@ -348,7 +350,7 @@ class Panel(Gtk.Window):
# Add a context menu
menu = Gio.Menu()
menu.append("Open _manager", "panel.manager")
menu.append(_("Open _manager"), "panel.manager")
self.context_menu = Gtk.PopoverMenu.new_from_model(menu)
self.context_menu.set_has_arrow(False)
@@ -410,7 +412,6 @@ class Panel(Gtk.Window):
return True
def show_manager(self, _0=None, _1=None):
print("Showing manager")
if self.get_application():
if not self.get_application().manager_window:
self.get_application().manager_window = PanelManager(self.get_application())
panel-configurator.ui
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.96.1 -->
<interface>
<interface domain="panorama-panel">
<!-- interface-name panel-configurator.ui -->
<!-- interface-description Provides a widget that contains settings for a panel. -->
<!-- interface-copyright Copyright 2025, roundabout-host.com <vlad@roundabout-host.com>
@@ -16,8 +16,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public Licence for more details.
You should have received a copy of the GNU General Public Licence
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
along with this program. If not, see <https://www.gnu.org/licenses/>. -->
<requires lib="gtk" version="4.2"/>
<template class="PanelConfigurator" parent="GtkFrame">
<property name="valign">start</property>
panel-manager.cmb
@@ -2,6 +2,6 @@
<!DOCTYPE cambalache-project SYSTEM "cambalache-project.dtd">
<!-- Created with Cambalache 0.96.1 -->
<cambalache-project version="0.96.0" target_tk="gtk-4.0">
<ui template-class="PanelManager" filename="panel-manager.ui" sha256="d53c6928821e2d01080d23d20c52d1f3ef888eb1b8a03557c7fada2e858bc2e4"/>
<ui template-class="PanelConfigurator" filename="panel-configurator.ui" sha256="148550dc265bb666035d5dd8b8fa90b5a67eae11a6f725bbcfc3d88115942b29"/>
<ui template-class="PanelManager" filename="panel-manager.ui" sha256="df92559d8accc37e028b8179a4148ed28d5d3c9cf508c65a97d130668b3fc968"/>
<ui template-class="PanelConfigurator" filename="panel-configurator.ui" sha256="06dd4c9b4de9a20683b991a44b38f97b6668401e84466a2ebe057ddfbc31d924"/>
</cambalache-project>
panel-manager.ui
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.96.1 -->
<interface>
<interface domain="panorama-panel">
<!-- interface-name panel-manager.ui -->
<!-- interface-description Provides a window that allows the user to edit settings for various panels. -->
<!-- interface-copyright Copyright 2025, roundabout-host.com <vlad@roundabout-host.com>
@@ -16,8 +16,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public Licence for more details.
You should have received a copy of the GNU General Public Licence
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
along with this program. If not, see <https://www.gnu.org/licenses/>. -->
<requires lib="gtk" version="4.6"/>
<template class="PanelManager" parent="GtkWindow">
<property name="default-height">320</property>
po/messages.pot
@@ -0,0 +1,84 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-04 11:13+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: main.py:352
msgid "Open _manager"
msgstr ""
#: panel-configurator.ui:40
msgid "Thic_kness"
msgstr ""
#: panel-configurator.ui:76
msgid ""
"Depending on your theme and your applets, the panel may be larger than the "
"set size."
msgstr ""
#: panel-configurator.ui:98
msgid "Automatically _hide"
msgstr ""
#: panel-configurator.ui:117
msgid "Only show the panel while the cursor is over it or a menu is being used"
msgstr ""
#: panel-configurator.ui:139
msgid "_Top"
msgstr ""
#: panel-configurator.ui:153
msgid "_Left"
msgstr ""
#: panel-configurator.ui:167
msgid "_Bottom"
msgstr ""
#: panel-configurator.ui:181
msgid "_Right"
msgstr ""
#: panel-configurator.ui:194
msgid "_Monitor number: "
msgstr ""
#: panel-manager.ui:25
msgid "Panel management"
msgstr ""
#: panel-manager.ui:39
msgid "Next panel"
msgstr ""
#: panel-manager.ui:47
msgid "Previous panel"
msgstr ""
#: panel-manager.ui:78
msgid "_Save settings now"
msgstr ""
#: panel-manager.ui:79
msgid "The configuration is also saved when exiting the app."
msgstr ""
#: panel-manager.ui:93
msgid "Panel _editing mode"
msgstr ""
po/ro.po
@@ -0,0 +1,89 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-04 11:13+0300\n"
"PO-Revision-Date: 2025-08-04 11:47+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ro_RO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.6\n"
#: main.py:352
msgid "Open _manager"
msgstr "_Gestionare"
#: panel-configurator.ui:40
msgid "Thic_kness"
msgstr "_Grosime"
#: panel-configurator.ui:76
msgid ""
"Depending on your theme and your applets, the panel may be larger than the "
"set size."
msgstr ""
"În funcție de tema și miniaplicațiile d-voastră, panoul poate fi mai mare "
"decât dimensiunea stabilită."
#: panel-configurator.ui:98
msgid "Automatically _hide"
msgstr "_Ascunde automat"
#: panel-configurator.ui:117
msgid "Only show the panel while the cursor is over it or a menu is being used"
msgstr ""
"Arată panoul doar cât timp cursorul planează deasupra acestuia sau se "
"folosește un meniu care îi aparține"
#: panel-configurator.ui:139
msgid "_Top"
msgstr "S_us"
#: panel-configurator.ui:153
msgid "_Left"
msgstr "S_tânga"
#: panel-configurator.ui:167
msgid "_Bottom"
msgstr "_Jos"
#: panel-configurator.ui:181
msgid "_Right"
msgstr "_Dreapta"
#: panel-configurator.ui:194
msgid "_Monitor number: "
msgstr "Numărul _monitorului: "
#: panel-manager.ui:25
msgid "Panel management"
msgstr "Gestionare panouri"
#: panel-manager.ui:39
msgid "Next panel"
msgstr "Panoul următor"
#: panel-manager.ui:47
msgid "Previous panel"
msgstr "Panoul anterior"
#: panel-manager.ui:78
msgid "_Save settings now"
msgstr "_Salvează setările acum"
#: panel-manager.ui:79
msgid "The configuration is also saved when exiting the app."
msgstr "Configurația este salvată și când se închide aplicația."
#: panel-manager.ui:93
msgid "Panel _editing mode"
msgstr "Mod _editare panouri"