aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.patches-to-be-ported-from-slick-greeter/0025-Add-option-to-span-background-across-multiple-monito.patch329
-rw-r--r--.patches-to-be-ported-from-slick-greeter/0027-Rename-simplify-background-mode.patch93
-rw-r--r--AUTHORS372
-rw-r--r--ChangeLog457
-rw-r--r--NEWS233
-rwxr-xr-xarctica-greeter-check-hidpi42
-rwxr-xr-xarctica-greeter-magnifier1
-rw-r--r--configure.ac2
-rw-r--r--data/50-org.Arctica-Project.arctica-greeter.rules105
-rw-r--r--data/Makefile.am50
-rw-r--r--data/arctica-greeter-check-hidpi.120
-rw-r--r--data/arctica-greeter-enable-tap-to-click.118
-rw-r--r--data/arctica-greeter-guest-account-script.82
-rw-r--r--data/arctica-greeter-magnifier.119
-rw-r--r--data/arctica-greeter-set-keyboard-layout.120
-rw-r--r--data/arctica-greeter.12
-rw-r--r--data/badges/COPYING.badges45
-rw-r--r--data/badges/aewm++_badge.pngbin0 -> 696 bytes
-rw-r--r--data/badges/afterstep_badge.pngbin0 -> 997 bytes
-rw-r--r--data/badges/amiwm_badge.pngbin0 -> 890 bytes
-rw-r--r--data/badges/blackbox_badge.pngbin0 -> 882 bytes
-rw-r--r--data/badges/cairo-dock_badge.pngbin0 -> 895 bytes
-rw-r--r--data/badges/cde_badge.svg14
-rw-r--r--data/badges/chromium_badge.svg15
-rw-r--r--data/badges/cinnamon_badge.svg58
-rw-r--r--data/badges/deepin_badge.pngbin0 -> 844 bytes
-rw-r--r--data/badges/dwm_badge.svg13
-rw-r--r--data/badges/ede_badge.pngbin0 -> 737 bytes
-rw-r--r--data/badges/enlightenment_badge.svg38
-rw-r--r--data/badges/etoile_badge.svg21
-rw-r--r--data/badges/evilwm_badge.pngbin0 -> 783 bytes
-rw-r--r--data/badges/fluxbox_badge.svg17
-rw-r--r--data/badges/fvwm_badge.pngbin0 -> 955 bytes
-rw-r--r--data/badges/gnome-bluetile_badge.svg20
-rw-r--r--data/badges/herbstluftwm_badge.pngbin0 -> 864 bytes
-rw-r--r--data/badges/larswm_badge.pngbin0 -> 836 bytes
-rw-r--r--data/badges/mythbuntu_badge.pngbin0 -> 920 bytes
-rw-r--r--data/badges/openbsd-cwm_badge.pngbin0 -> 915 bytes
-rw-r--r--data/badges/pantheon_badge.pngbin0 -> 664 bytes
-rw-r--r--data/badges/pekwm_badge.pngbin0 -> 859 bytes
-rw-r--r--data/badges/ratpoison_badge.pngbin0 -> 1033 bytes
-rw-r--r--data/badges/razor_badge.pngbin0 -> 732 bytes
-rw-r--r--data/badges/sawfish_badge.pngbin0 -> 796 bytes
-rw-r--r--data/badges/steamos_badge.svg18
-rw-r--r--data/badges/stumpwm_badge.pngbin0 -> 721 bytes
-rw-r--r--data/badges/subtle_badge.pngbin0 -> 959 bytes
-rw-r--r--data/badges/trinity_badge.pngbin0 -> 933 bytes
-rw-r--r--data/badges/ubuntustudio_badge.svg27
-rw-r--r--data/badges/weston_badge.pngbin0 -> 4860 bytes
-rw-r--r--data/badges/weston_badge.xcfbin0 -> 1854 bytes
-rw-r--r--data/badges/wmii_badge.pngbin0 -> 880 bytes
-rw-r--r--data/badges/xbmc_badge.pngbin0 -> 460 bytes
-rw-r--r--data/org.ArcticaProject.arctica-greeter.gschema.xml119
-rw-r--r--debian/changelog126
-rw-r--r--debian/control1
-rw-r--r--po/bs.po60
-rw-r--r--po/el.po142
-rw-r--r--po/en_CA.po135
-rw-r--r--po/en_GB.po125
-rw-r--r--po/ga.po178
-rw-r--r--po/it.po23
-rw-r--r--po/ka.po116
-rw-r--r--po/my.po25
-rw-r--r--po/oc.po14
-rw-r--r--po/pt.po67
-rw-r--r--po/ro.po197
-rw-r--r--po/sd.po12
-rw-r--r--po/ta.po179
-rw-r--r--po/te.po65
-rw-r--r--po/ug.po17
-rw-r--r--po/ur.po49
-rw-r--r--po/zh_CN.po12
-rw-r--r--src/Makefile.am2
-rw-r--r--src/animate-timer.vala4
-rw-r--r--src/arctica-greeter.vala598
-rw-r--r--src/background.vala69
-rw-r--r--src/cached-image.vala35
-rw-r--r--src/dash-box.vala23
-rw-r--r--src/greeter-list.vala55
-rw-r--r--src/list-stack.vala6
-rw-r--r--src/main-window.vala314
-rw-r--r--src/menubar.vala273
-rw-r--r--src/prompt-box.vala192
-rw-r--r--src/session-list.vala184
-rw-r--r--src/settings-daemon.vala69
-rw-r--r--src/settings.vala35
-rw-r--r--src/shutdown-dialog.vala10
-rw-r--r--src/user-list.vala44
88 files changed, 3875 insertions, 1751 deletions
diff --git a/.patches-to-be-ported-from-slick-greeter/0025-Add-option-to-span-background-across-multiple-monito.patch b/.patches-to-be-ported-from-slick-greeter/0025-Add-option-to-span-background-across-multiple-monito.patch
deleted file mode 100644
index 5453a96..0000000
--- a/.patches-to-be-ported-from-slick-greeter/0025-Add-option-to-span-background-across-multiple-monito.patch
+++ /dev/null
@@ -1,329 +0,0 @@
-From 293fa0d6a596ba9f1e9dd78a3da171fea3110b84 Mon Sep 17 00:00:00 2001
-From: Geoff Paul <geoffro17@gmail.com>
-Date: Sat, 7 Mar 2020 14:07:01 -0600
-Subject: [PATCH 25/81] Add option to span background across multiple monitors
-
-Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
----
- data/x.dm.slick-greeter.gschema.xml | 8 +++
- src/background.vala | 87 ++++++++++++++++++++++-------
- src/greeter-list.vala | 1 -
- src/main-window.vala | 22 +-------
- src/settings.vala | 2 +
- 5 files changed, 81 insertions(+), 39 deletions(-)
-
-diff --git a/data/x.dm.slick-greeter.gschema.xml b/data/x.dm.slick-greeter.gschema.xml
-index 90ebec8..7ceba14 100644
---- a/data/x.dm.slick-greeter.gschema.xml
-+++ b/data/x.dm.slick-greeter.gschema.xml
-@@ -9,6 +9,14 @@
- <default>'#000000'</default>
- <summary>Background color (e.g. #772953), set before wallpaper is seen</summary>
- </key>
-+ <key name="background-mode" type="s">
-+ <choices>
-+ <choice value='zoom'/>
-+ <choice value='spanned'/>
-+ </choices>
-+ <default>'zoom'</default>
-+ <summary>Determines how the background image is rendered</summary>
-+ </key>
- <key name="draw-user-backgrounds" type="b">
- <default>true</default>
- <summary>Whether to draw user backgrounds</summary>
-diff --git a/src/background.vala b/src/background.vala
-index f0789bf..e258d84 100644
---- a/src/background.vala
-+++ b/src/background.vala
-@@ -29,7 +29,6 @@ class BackgroundLoader : Object
- public Gdk.RGBA average_color;
-
- private Cairo.Surface target_surface;
-- private bool draw_grid;
- private Thread<void*> thread;
- private Gdk.Pixbuf[] images;
- private bool finished;
-@@ -37,7 +36,7 @@ class BackgroundLoader : Object
-
- public signal void loaded ();
-
-- public BackgroundLoader (Cairo.Surface target_surface, string filename, int[] widths, int[] heights, bool draw_grid)
-+ public BackgroundLoader (Cairo.Surface target_surface, string filename, int[] widths, int[] heights)
- {
- this.target_surface = target_surface;
- this.filename = filename;
-@@ -45,7 +44,6 @@ class BackgroundLoader : Object
- this.heights = heights;
- patterns = new Cairo.Pattern[widths.length];
- images = new Gdk.Pixbuf[widths.length];
-- this.draw_grid = draw_grid;
- }
-
- public bool load ()
-@@ -388,11 +386,14 @@ public class Monitor
-
- public class Background : Gtk.Fixed
- {
-+ [Flags]
- public enum DrawFlags
- {
- NONE,
- GRID,
-+ SPAN,
- }
-+ private DrawFlags flags = DrawFlags.NONE;
-
- /* Fallback color - shown upon first startup, until an async background loader finishes,
- * or until a user background or default background is loaded.
-@@ -464,7 +465,28 @@ public class Background : Gtk.Fixed
- }
- }
-
-- public bool draw_grid { get; set; default = true; }
-+ /* Width - total pixel width of the entire background canvas. This total width
-+ * should account for the relative geometry of all attached monitors.
-+ */
-+
-+ private int _width = 0;
-+ public int width {
-+ get {
-+ return _width;
-+ }
-+ }
-+
-+ /* Height - total pixel height of the entire background canvas. This total height
-+ * should account for the relative geometry of all attached monitors.
-+ */
-+
-+ private int _height = 0;
-+ public int height {
-+ get {
-+ return _height;
-+ }
-+ }
-+
- public double alpha { get; private set; default = 1.0; }
- public Gdk.RGBA average_color { get { return current.average_color; } }
-
-@@ -493,8 +515,13 @@ public class Background : Gtk.Fixed
- timer = null;
-
- resize_mode = Gtk.ResizeMode.QUEUE;
-- draw_grid = UGSettings.get_boolean (UGSettings.KEY_DRAW_GRID);
- loaders = new HashTable<string?, BackgroundLoader> (str_hash, str_equal);
-+ if (UGSettings.get_boolean (UGSettings.KEY_DRAW_GRID))
-+ flags |= DrawFlags.GRID;
-+
-+ var mode = UGSettings.get_string (UGSettings.KEY_BACKGROUND_MODE);
-+ if (mode == "spanned")
-+ flags |= DrawFlags.SPAN;
-
- show ();
- }
-@@ -545,7 +572,15 @@ public class Background : Gtk.Fixed
- {
- this.monitors = new List<Monitor> ();
- foreach (var m in monitors)
-+ {
-+ if (_width < m.x + m.width)
-+ _width = m.x + m.width;
-+
-+ if (_height < m.y + m.height)
-+ _height = m.y + m.height;
-+
- this.monitors.append (m);
-+ }
- queue_draw ();
- }
-
-@@ -577,9 +612,6 @@ public class Background : Gtk.Fixed
-
- public override bool draw (Cairo.Context c)
- {
-- var flags = DrawFlags.NONE;
-- if (draw_grid)
-- flags |= DrawFlags.GRID;
- draw_full (c, flags);
- return base.draw (c);
- }
-@@ -625,7 +657,7 @@ public class Background : Gtk.Fixed
-
- c.restore ();
-
-- if ((flags & DrawFlags.GRID) != 0)
-+ if (DrawFlags.GRID in flags)
- overlay_grid (c);
- }
-
-@@ -633,14 +665,22 @@ public class Background : Gtk.Fixed
- {
- foreach (var monitor in monitors)
- {
-- var pattern = background.get_pattern (monitor.width, monitor.height);
-+ Cairo.Pattern? pattern;
-+ var matrix = Cairo.Matrix.identity ();
-+ if (DrawFlags.SPAN in flags)
-+ {
-+ pattern = background.get_pattern (_width, _height);
-+ }
-+ else
-+ {
-+ pattern = background.get_pattern (monitor.width, monitor.height);
-+ matrix.translate (-monitor.x, -monitor.y);
-+ }
-+
- if (pattern == null)
- continue;
-
- c.save ();
-- pattern = background.get_pattern (monitor.width, monitor.height);
-- var matrix = Cairo.Matrix.identity ();
-- matrix.translate (-monitor.x, -monitor.y);
- pattern.set_matrix (matrix);
- c.set_source (pattern);
- c.rectangle (monitor.x, monitor.y, monitor.width, monitor.height);
-@@ -728,19 +768,28 @@ public class Background : Gtk.Fixed
- var widths = new int[monitors.length ()];
- var heights = new int[monitors.length ()];
- var n_sizes = 0;
-- foreach (var monitor in monitors)
-+ if (DrawFlags.SPAN in flags)
-+ {
-+ widths[n_sizes] = _width;
-+ heights[n_sizes] = _height;
-+ n_sizes++;
-+ }
-+ else
- {
-- if (monitor_is_unique_size (monitor))
-+ foreach (var monitor in monitors)
- {
-- widths[n_sizes] = monitor.width;
-- heights[n_sizes] = monitor.height;
-- n_sizes++;
-+ if (monitor_is_unique_size (monitor))
-+ {
-+ widths[n_sizes] = monitor.width;
-+ heights[n_sizes] = monitor.height;
-+ n_sizes++;
-+ }
- }
- }
- widths.resize (n_sizes);
- heights.resize (n_sizes);
-
-- b = new BackgroundLoader (target_surface, filename, widths, heights, draw_grid);
-+ b = new BackgroundLoader (target_surface, filename, widths, heights);
- b.logo = version_logo_surface;
- b.loaded.connect (() => { reload (); });
- b.load ();
-diff --git a/src/greeter-list.vala b/src/greeter-list.vala
-index 6d8f1f6..958720e 100644
---- a/src/greeter-list.vala
-+++ b/src/greeter-list.vala
-@@ -928,7 +928,6 @@ public abstract class GreeterList : FadableBox
- }
-
- /* Set the background */
-- background.draw_grid = false;
- background.queue_draw ();
- }
-
-diff --git a/src/main-window.vala b/src/main-window.vala
-index ddd3c00..3c4fb2b 100644
---- a/src/main-window.vala
-+++ b/src/main-window.vala
-@@ -32,8 +32,6 @@ public class MainWindow : Gtk.Window
- private Gtk.Box hbox;
- private Gtk.Button back_button;
- private ShutdownDialog? shutdown_dialog = null;
-- private int window_size_x;
-- private int window_size_y;
- private bool do_resize;
-
- public ListStack stack;
-@@ -131,8 +129,6 @@ public class MainWindow : Gtk.Window
-
- add_user_list ();
-
-- window_size_x = 0;
-- window_size_y = 0;
- primary_monitor = null;
- do_resize = false;
-
-@@ -147,7 +143,7 @@ public class MainWindow : Gtk.Window
- monitors.append (new Monitor (800, 120, 640, 480));
- background.set_monitors (monitors);
- move_to_monitor (monitors.nth_data (0));
-- resize (800 + 640, 600);
-+ resize (background.width, background.height);
- }
- else
- {
-@@ -212,7 +208,7 @@ public class MainWindow : Gtk.Window
- /* Setup the size and position of the window */
- public void setup_window ()
- {
-- resize (window_size_x, window_size_y);
-+ resize (background.width, background.height);
- move (0, 0);
- move_to_monitor (primary_monitor);
- }
-@@ -223,8 +219,6 @@ public class MainWindow : Gtk.Window
- Gdk.Monitor primary = display.get_primary_monitor();
- Gdk.Rectangle geometry;
-
-- window_size_x = 0;
-- window_size_y = 0;
- monitors = new List<Monitor> ();
- primary_monitor = null;
-
-@@ -234,16 +228,6 @@ public class MainWindow : Gtk.Window
- geometry = monitor.get_geometry ();
- debug ("Monitor %d is %dx%d pixels at %d,%d", i, geometry.width, geometry.height, geometry.x, geometry.y);
-
-- if (window_size_x < geometry.x + geometry.width)
-- {
-- window_size_x = geometry.x + geometry.width;
-- }
--
-- if (window_size_y < geometry.y + geometry.height)
-- {
-- window_size_y = geometry.y + geometry.height;
-- }
--
- if (monitor_is_unique_position (display, i))
- {
- var greeter_monitor = new Monitor (geometry.x, geometry.y, geometry.width, geometry.height);
-@@ -258,7 +242,7 @@ public class MainWindow : Gtk.Window
- }
- }
-
-- debug ("MainWindow is %dx%d pixels", window_size_x, window_size_y);
-+ debug ("MainWindow is %dx%d pixels", background.width, background.height);
-
- background.set_monitors (monitors);
-
-diff --git a/src/settings.vala b/src/settings.vala
-index 7d43449..3822939 100644
---- a/src/settings.vala
-+++ b/src/settings.vala
-@@ -22,6 +22,7 @@ public class UGSettings
- {
- public const string KEY_BACKGROUND = "background";
- public const string KEY_BACKGROUND_COLOR = "background-color";
-+ public const string KEY_BACKGROUND_MODE = "background-mode";
- public const string KEY_DRAW_USER_BACKGROUNDS = "draw-user-backgrounds";
- public const string KEY_DRAW_GRID = "draw-grid";
- public const string KEY_SHOW_HOSTNAME = "show-hostname";
-@@ -119,6 +120,7 @@ public class UGSettings
- var string_keys = new List<string> ();
- string_keys.append (KEY_BACKGROUND);
- string_keys.append (KEY_BACKGROUND_COLOR);
-+ string_keys.append (KEY_BACKGROUND_MODE);
- string_keys.append (KEY_LOGO);
- string_keys.append (KEY_OTHER_MONITORS_LOGO);
- string_keys.append (KEY_THEME_NAME);
---
-2.30.2
-
diff --git a/.patches-to-be-ported-from-slick-greeter/0027-Rename-simplify-background-mode.patch b/.patches-to-be-ported-from-slick-greeter/0027-Rename-simplify-background-mode.patch
deleted file mode 100644
index 943c0b8..0000000
--- a/.patches-to-be-ported-from-slick-greeter/0027-Rename-simplify-background-mode.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 046bbee24412982cdf7c77224036d6e657193662 Mon Sep 17 00:00:00 2001
-From: Clement Lefebvre <clement.lefebvre@linuxmint.com>
-Date: Tue, 12 May 2020 11:04:08 +0100
-Subject: [PATCH 27/81] Rename/simplify background mode
-
-We only care whether the background is stretched across multiple monitors
-or not, let's be explicit and make it clear.
-
-Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
----
- README.md | 1 +
- data/x.dm.slick-greeter.gschema.xml | 10 +++-------
- src/background.vala | 3 +--
- src/settings.vala | 4 ++--
- 4 files changed, 7 insertions(+), 11 deletions(-)
-
-diff --git a/README.md b/README.md
-index a286568..844dacd 100644
---- a/README.md
-+++ b/README.md
-@@ -59,4 +59,5 @@ Configuration file format for /etc/lightdm/slick-greeter.conf
- # group-filter=List of groups that users must be part of to be shown (empty list shows all users)
- # enable-hidpi=Whether to enable HiDPI support (on/off/auto)
- # only-on-monitor=Sets the monitor on which to show the login window, -1 means "follow the mouse"
-+ # stretch-background-across-monitors=Whether to stretch the background across multiple monitors (false by default)
- [Greeter]
-diff --git a/data/x.dm.slick-greeter.gschema.xml b/data/x.dm.slick-greeter.gschema.xml
-index 7ceba14..07065bc 100644
---- a/data/x.dm.slick-greeter.gschema.xml
-+++ b/data/x.dm.slick-greeter.gschema.xml
-@@ -9,13 +9,9 @@
- <default>'#000000'</default>
- <summary>Background color (e.g. #772953), set before wallpaper is seen</summary>
- </key>
-- <key name="background-mode" type="s">
-- <choices>
-- <choice value='zoom'/>
-- <choice value='spanned'/>
-- </choices>
-- <default>'zoom'</default>
-- <summary>Determines how the background image is rendered</summary>
-+ <key name="stretch-background-across-monitors" type="b">
-+ <default>false</default>
-+ <summary>Whether to stretch the background across multiple monitors (or to replicate it on each monitor).</summary>
- </key>
- <key name="draw-user-backgrounds" type="b">
- <default>true</default>
-diff --git a/src/background.vala b/src/background.vala
-index e258d84..f076b71 100644
---- a/src/background.vala
-+++ b/src/background.vala
-@@ -519,8 +519,7 @@ public class Background : Gtk.Fixed
- if (UGSettings.get_boolean (UGSettings.KEY_DRAW_GRID))
- flags |= DrawFlags.GRID;
-
-- var mode = UGSettings.get_string (UGSettings.KEY_BACKGROUND_MODE);
-- if (mode == "spanned")
-+ if (UGSettings.get_boolean (UGSettings.KEY_BACKGROUND_STRETCH))
- flags |= DrawFlags.SPAN;
-
- show ();
-diff --git a/src/settings.vala b/src/settings.vala
-index 3822939..36aa88e 100644
---- a/src/settings.vala
-+++ b/src/settings.vala
-@@ -22,7 +22,7 @@ public class UGSettings
- {
- public const string KEY_BACKGROUND = "background";
- public const string KEY_BACKGROUND_COLOR = "background-color";
-- public const string KEY_BACKGROUND_MODE = "background-mode";
-+ public const string KEY_BACKGROUND_STRETCH = "stretch-background-across-monitors";
- public const string KEY_DRAW_USER_BACKGROUNDS = "draw-user-backgrounds";
- public const string KEY_DRAW_GRID = "draw-grid";
- public const string KEY_SHOW_HOSTNAME = "show-hostname";
-@@ -120,7 +120,6 @@ public class UGSettings
- var string_keys = new List<string> ();
- string_keys.append (KEY_BACKGROUND);
- string_keys.append (KEY_BACKGROUND_COLOR);
-- string_keys.append (KEY_BACKGROUND_MODE);
- string_keys.append (KEY_LOGO);
- string_keys.append (KEY_OTHER_MONITORS_LOGO);
- string_keys.append (KEY_THEME_NAME);
-@@ -134,6 +133,7 @@ public class UGSettings
-
- var bool_keys = new List<string> ();
- bool_keys.append (KEY_DRAW_USER_BACKGROUNDS);
-+ bool_keys.append (KEY_BACKGROUND_STRETCH);
- bool_keys.append (KEY_DRAW_GRID);
- bool_keys.append (KEY_SHOW_HOSTNAME);
- bool_keys.append (KEY_SHOW_POWER);
---
-2.30.2
-
diff --git a/AUTHORS b/AUTHORS
index 7f25ab3..5bf6832 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,181 +1,191 @@
-Aashish Chenna <aashish.chenna@outlook.com>
-Abdul Khan <mdkadirkhan535@gmail.com>
-Abdusalam <1810010207@s.upc.edu.cn>
-A BOUZINAC <alexisbouzinac@gmail.com>
-Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-Ajeje Brazorf <lmelonimamo@yahoo.it>
-Alba Kaydus <sareli1951@gmail.com>
-Albert Astals Cid <aacid@kde.org>
-Alberts Muktupavels <alberts.muktupavels@gmail.com>
-Alberts Muktupāvels <alberts.muktupavels@gmail.com>
-Ali Avcı <ali.avci.35@gmail.com>
-Allan Nordhøy <epost@anotheragency.no>
-Anders Jonsson <anders.jonsson@norsjovallen.se>
-Andi Chandler <andi@gowling.com>
-Andrius Majauskas <komitetas@gmail.com>
-antuketot76 <antuketot76@protonmail.com>
-Arsen Shehi <arsenshehi@gmail.com>
-Bastian Kanbach <lambda_dev@outlook.de>
-BennyBeat <bennybeat@gmail.com>
-bittin1ddc447d824349b2 <bittin@reimu.nl>
-Björn Esser <besser82@fedoraproject.org>
-Buescu Bogdan <bbuescu@pentalog.com>
-bughuntermert <dasmert1921@gmail.com>
-Calin Sopterean <csopterean@gmail.com>
-CHAIWIT PHONKHEN <5911110222@mutacth.com>
-Civil 056DB <ashoksada.spj1986@gmail.com>
-Clement Lefebvre <clement.lefebvre@linuxmint.com>
-Cobinja <Cobinja@users.noreply.github.com>
-Dan <denqwerta@gmail.com>
-deebeepea <dan7palaganas@gmail.com>
-developerchan1 <developerchan1@gmail.com>
-Dharmendra <dharmendra_parmar@yahoo.com>
-Dmitry Shachnev <mitya57@ubuntu.com>
-Doma Gergő <domag02@gmail.com>
-Dovydas Jakas <jakas1214@gmail.com>
-Elizabeth Sherrock <lizzyd710@gmail.com>
-Elyes HAOUAS <ehaouas@noos.fr>
-Eric <alchemillatruth@purelymail.com>
-Eric <hamburger1024@mailbox.org>
-f0roots <f0rootss@gmail.com>
-Filip Hron <filip.hron@gmail.com>
-gallegonovato <fran-carro@hotmail.es>
-Garreciq <adamzygiel@gmail.com>
-Gaurav Kumar <gk74533@gmail.com>
-Gayathri Das <gaya3das@live.unc.edu>
-Geoff Paul <geoffro17@gmail.com>
-Guntitat Sawadwuthikul <guntitat_sawadwuthikul@hotmail.com>
-gvlfm78 <zirconic@protonmail.com>
-Habib Rohman <revolusi147id@gmail.com>
-Hemanta Sharma <sharmahemanta.212@gmail.com>
-Himanshu Awasthi <johim9493@gmail.com>
-Iago Emanuel <iagoemanuel@live.com>
-Iain Lane <iain.lane@canonical.com>
-ihaveapiece <ihaveapiecemail@gmail.com>
-Ikey Doherty <ikey@solus-project.com>
-Ilyas Bakirov <i.bakirov@gmail.com>
-Ivano Peddis <ivanopeddis@gmail.com>
-Ivan Podogov <ginkage@yandex.ru>
-Jack Tam <pong1217@gmail.com>
-Jacky Blois <jacky.blois@laposte.net>
-Jacob <Jacalz@users.noreply.github.com>
-Jacque Fresco <aidter@use.startmail.com>
-JaewonLee0217 <jcircle67@gmail.com>
-Jakub Fabijan <animatorzPolski@gmail.com>
-Jan Poulsen <jan@fleten.net>
-Jennifer <jen@elypia.org>
-Jeremy Bicha <jbicha@debian.org>
-Joel Vinay Kumar <lavotivinay@gmail.com>
-John Rey Basilio <hanzogenji83@gmail.com>
-Joshua Peisach <itzswirlz2020@outlook.com>
-Jos Wolfkamp <jos@ossolutions.nl>
-Juan Picca <jumapico@gmail.com>
-Jun Hyung Shin <shmishmi79@gmail.com>
-Juri Grabowski <hosted-weblate@jugra.de>
-Kamen <kamenpetrov81@gmail.com>
-Kjetil Fleten <kjetil@fleten.net>
-Kocic W <kocic@fast-coin.com>
-kong <ph.kp111@gmail.com>
-Ko Phyo <kophyo976444@gmail.com>
-Kornelijus Tvarijanavičius <kornelitvari@protonmail.com>
-Kristjan Räts <kristjanrats@gmail.com>
-Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>
-김상남 <ksn7491@naver.com>
-Lars Uebernickel <lars.uebernickel@canonical.com>
-Lauri Virtanen <lauri.virtanen@iki.fi>
-leela <53352@protonmail.com>
-leigh123linux <leigh123linux@fedoraproject.org>
-leigh123linux <leigh123linux@googlemail.com>
-lingcas <lingcas822@gmail.com>
-Louies <louies0623@gmail.com>
-Louis des Landes <louis@psykar.com>
-Lucas Ayala <lucor@tutanota.com>
-Luna Jernberg <droidbittin@gmail.com>
-Manuela Silva <mmsrs@sky.com>
-Marc Schöni <marc.schoeni1@gmail.com>
-Mareks Dunkurs <robis121212@gmail.com>
-Mattias Münster <mattiasmun@gmail.com>
-Matúš Baňas <banas.mato@gmail.com>
-Michael Kha <michaelkha69@gmail.com>
-Michael Webster <miketwebster@gmail.com>
-Michal Biesiada <blade-14@o2.pl>
-Michal Čihař <michal@cihar.com>
-Michalis <michalisntovas@yahoo.gr>
-Mihai Moldovan <ionic@ionic.de>
-Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-Milan Šalka <salka.milan@googlemail.com>
-Milo Ivir <mail@milotype.de>
-mohamad farid <mfarid.ahamid@gmail.com>
-mohsen sorny <aragornsy@gmail.com>
-Mutaz Tayyeb AbuSaad <wahshy1414@gmail.com>
-mwileczka <mikewileczka@gmail.com>
-Nader Jafari <naderpaskari@gmail.com>
-Nathan <bonnemainsnathan@gmail.com>
-Nicola Lombardi <nicolaandroid23@gmail.com>
-Nirmal Manoj C <nimmumanoj@gmail.com>
-Nureli <nureliosman@gmail.com>
-Oğuz Ersen <oguzersen@protonmail.com>
-OIS <mistresssilvara@hotmail.com>
-oo nth <oonth@mail.com>
-Oto Zars <otozars@yahoo.com>
-Oymate <dhruboadittya96@gmail.com>
-Pierluigi Ghinello <pierluigi.ghinello@me.com>
-Pierre Soubourou <pierre.soubourou@gmail.com>
-Prachi Joshi <josprachi@yahoo.com>
-Pratchaya Chatuphian <pratchaya.note@gmail.com>
-Quentin PAGÈS <quentinantonin@free.fr>
-Rafael Henrique Mendes de Oliv <rafaelfifa1988@gmail.com>
-Reza Almanda <rezaalmanda27@gmail.com>
-Rico Tzschichholz <ricotz@ubuntu.com>
-RIZWAN AHMAD <rizwan.178208@knit.ac.in>
-Robert Ancell <robert.ancell@canonica.com>
-Robert Ancell <robert.ancell@canonical.com>
-Robert Tari <robert@tari.in>
-rt <libera_knabino@tutanota.com>
-Rui Mendes <xz9@protonmail.com>
-Ryo Nakano <ryonakaknock3@gmail.com>
-saeid porhosein <saeidporhosen17@gmail.com>
-Sanaf <abdullahsanaf@gmail.com>
-Sandra M <smonferrer@gmail.com>
-Saroj Dhakal <lotusnagarkot@gmail.com>
-Satnam S Virdi <pika10singh@gmail.com>
-scootergrisen <scootergrisen@gmail.com>
-Sebastian Rasmussen <sebras@gmail.com>
-Serhii Horichenko <m@sgg.im>
-ShahinF27 <khan27aze@gmail.com>
-Sithu Aung <sithu.aung015@gmail.com>
-Sourav Jha <souravjha177@gmail.com>
-Srichon Buntarigwong <seechonn@gmail.com>
-ssantos <ssantos@web.de>
-Suraj <thekkethilsuraj@gmail.com>
-Sveinn í Felli <sv1@fellsnet.is>
-Swann Martinet <swann.ranskassa@laposte.net>
-Syahmin Sukhairi <syahmin@gmail.com>
-Tamir Azaz <ta_tocka@a2z.uk.com>
-TA <semifluid12@gmail.com>
-thami simo <simo.azad@gmail.com>
-THANOS SIOURDAKIS <siourdakisthanos@gmail.com>
-Tomáš Marný <tomik.marny@gmail.com>
-Tummas Jóhan Sigvardsen <tummas@tummas.me>
-Tuomas Lähteenmäki <lahtis@gmail.com>
-tygyh <jonis9898@hotmail.com>
-Urszula <urszula127@gmail.com>
-Veselin Georgiev <vvgeorgievv@gmail.com>
-Victor Kareh <vkareh@vkareh.net>
-Viktar Vauchkevich <victorenator@gmail.com>
-WaldiS <admin@sto.ugu.pl>
-whr <9709021@qq.com>
-xhesikab <xhesikabua@gmail.com>
-Yadhesh Assassin <yadheshwarran@gmail.com>
-yangyangdaji <1504305527@qq.com>
-Yaron Shahrabani <sh.yaron@gmail.com>
-yinaroh@all-mail.net <yinaroh@all-mail.net>
-yzqzss <2361769788@qq.com>
-yzqzss <yzqzss@othing.xyz>
-Володимир Бриняк <bardvv@gmail.com>
-Марс Ямбар <mjambarmeta@gmail.com>
-آراز <arazmnsr@gmail.com>
-ۋولقان <nureliosman@gmail.com>
-พัชรพล ผาริวงศ์ <phariwngs197@gmail.com>
-ศักดิ์นรินทร์ ชาติทอง <saknarin.sim@gmail.com>
-ប៉ុកណូ រ៉ូយ៉ាល់ <royalpokno68@gmail.com>
+이정희
+Aashish Chenna
+Abdul Khan
+AbdurahmanKarisik
+Abdusalam
+A BOUZINAC
+Adolfo Jayme Barrientos
+Aindriú Mac Giolla Eoin
+Ajeje Brazorf
+Alba Kaydus
+Albert Astals Cid
+Alberts Muktupavels
+Alberts Muktupāvels
+Ali Avcı
+Allan Nordhøy
+Anders Jonsson
+Andi Chandler
+Andrius Majauskas
+Antuketot76
+Arsen Shehi
+Bastian Kanbach
+BennyBeat
+Bittin1ddc447d824349b2
+Björn Esser
+Buescu Bogdan
+Bughuntermert
+Calin Sopterean
+CHAIWIT PHONKHEN
+Civil 056DB
+Clement Lefebvre
+Cobinja
+Dan
+Deebeepea
+Developerchan1
+Dharmendra
+Distant Prince
+Dmitry Shachnev
+Doma Gergő
+Dovydas Jakas
+Elizabeth Sherrock
+Elyes HAOUAS
+Eric
+Eugenio Depalo
+F0roots
+Filip Hron
+Gallegonovato
+Garreciq
+Gaurav Kumar
+Gayathri Das
+Geoff Paul
+GiannosOB
+Giorgio Berardi
+Guntitat Sawadwuthikul
+Gvlfm78
+Habib Rohman
+Hemanta Sharma
+Himanshu Awasthi
+Hugo Carvalho
+Iago Emanuel
+Iain Lane
+Ihaveapiece
+Ikey Doherty
+Ilyas Bakirov
+Ivano Peddis
+Ivan Podogov
+Jack Tam
+Jacky Blois
+Jacob
+Jacque Fresco
+JaewonLee0217
+Jakub Fabijan
+Jan Poulsen
+Jason Cai
+Jennifer
+Jeremy Bicha
+Joel Vinay Kumar
+John Rey Basilio
+Joshua Peisach
+Jos Wolfkamp
+Juan Picca
+Jun Hyung Shin
+Juri Grabowski
+Kamen
+Kjetil Fleten
+Kocic W
+Kong
+Ko Phyo
+Kornelijus Tvarijanavičius
+Kristjan Räts
+Kristoffer Grundström
+Lars Uebernickel
+Lauri Virtanen
+Leela
+Leigh123linux
+Lingcas
+Louies
+Louis Des Landes
+Lucas Ayala
+Luna Jernberg
+Manuela Silva
+Marc Schöni
+Mareks Dunkurs
+Mattias Münster
+Matúš Baňas
+Michael Kha
+Michael Webster
+Michal Biesiada
+Michal Čihař
+Michalis
+Mihai Moldovan
+Mike Gabriel
+Milan Šalka
+Milo Ivir
+Mohamad Farid
+Mohsen Sorny
+Mutaz Tayyeb AbuSaad
+Mwileczka
+Nader Jafari
+Naikhon
+Nathan
+Nicola Lombardi
+Nirmal Manoj C
+Nureli
+Oğuz Ersen
+OIS
+Oo Nth
+Oto Zars
+Oymate
+Pierluigi Ghinello
+Pierre Soubourou
+Prachi Joshi
+Pratchaya Chatuphian
+Putta Anantha Lakshmi
+Quentin PAGÈS
+Rafael Henrique Mendes De Oliv
+Remus-Gabriel Chelu
+Reza Almanda
+Rico Tzschichholz
+RIZWAN AHMAD
+Robert Ancell
+Robert Tari
+Rt
+Rui Mendes
+Ryo Nakano
+Saeid Porhosein
+Salkin
+Sam Lane
+Sanaf
+Sandra M
+Saroj Dhakal
+Satnam S Virdi
+Scootergrisen
+Sebastian Rasmussen
+Serhii Horichenko
+ShahinF27
+Sithu Aung
+Sourav Jha
+Srichon Buntarigwong
+Ssantos
+Suraj
+Sveinn Í Felli
+Swann Martinet
+Syahmin Sukhairi
+TA
+Tamir Azaz
+Temuri Doghonadze
+Thami Simo
+THANOS SIOURDAKIS
+Tomáš Marný
+Tummas Jóhan Sigvardsen
+Tuomas Lähteenmäki
+Tygyh
+Urszula
+Veselin Georgiev
+Victor Kareh
+Viktar Vauchkevich
+WaldiS
+Whr
+Xhesikab
+Yadhesh Assassin
+Yangyangdaji
+Yaron Shahrabani
+Yzqzss
+Володимир Бриняк
+Марс Ямбар
+آراز
+ۋولقان
+தமிழ்நேரம்
+พัชรพล ผาริวงศ์
+ศักดิ์นรินทร์ ชาติทอง
+ប៉ុកណូ រ៉ូយ៉ាល់
diff --git a/ChangeLog b/ChangeLog
index af37988..ea0ede9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,461 @@
+2025-05-26 Mike Gabriel
+
+ * Release 0.99.9.4 (HEAD -> master, tag: 0.99.9.4)
+ * Merge branch 'tari01-pr/menubar-shadow' (42d74db)
+
+2025-05-23 Robert Tari
+
+ * Make menubar shadow configurable (8cef7f0)
+
+2025-05-23 Mike Gabriel
+
+ * Release 0.99.9.3 (b9170bd) (tag: 0.99.9.3)
+ * data/org.ArcticaProject.arctica-greeter.gschema.xml: Set
+ menubar-alpha default to 0.3. (Originally 0.2, changed to
+ 0.5 as part of 2bc439d3, now back to a compromise).
+ (fba0c2d)
+
+2025-05-22 Mike Gabriel
+
+ * Merge branch 'tari01-pr/menubar-alpha' (608890b)
+
+2025-05-22 Robert Tari
+
+ * Apply custom menubar transparency even if theme background is used
+ (9991f3e)
+
+2025-05-22 Mike Gabriel
+
+ * Merge branch 'tari01-pr/menubar-osd-bg' (7daa7f8)
+
+2025-05-21 Robert Tari
+
+ * Use the theme menubar background colour if no custom colour is
+ specified (2bc439d)
+
+2025-05-20 naikhon
+
+ * Translated using Weblate (Burmese) (eb2e110)
+
+2025-05-15 Mike Gabriel
+
+ * Release 0.99.9.2 (df04358) (tag: 0.99.9.2)
+ * Merge branch 'tari01-pr/add-background-position' (800eaa1)
+
+2025-05-12 Robert Tari
+
+ * Add background image position (5086318)
+
+2025-05-08 Putta Anantha Lakshmi
+
+ * Translated using Weblate (Telugu) (d1d8d80)
+
+2025-05-05 Mike Gabriel
+
+ * Release 0.99.9.1 (09061b1) (tag: 0.99.9.1)
+ * Merge branch 'tari01-pr/group-filters' (17054d5)
+
+2025-05-05 Robert Tari
+
+ * src/Makefile.am: Remove arctica_greeter_vala.stamp - it keeps
+ sending config.h to valac (936f8fa)
+ * src/animate-timer.vala: EasingFunc cannot be a GLib.Object property
+ - turn it into a public variable (562b318)
+ * Allow filtering out users from hidden groups (d32c62a)
+
+2025-05-02 Hugo Carvalho
+
+ * Translated using Weblate (Portuguese) (bef6d1f)
+
+2025-04-30 Mike Gabriel
+
+ * Release 0.99.9.0 (0b9b963) (tag: 0.99.9.0)
+ * src/menubar.vala: Also apply menubar-bgcolor to menubar's shadow
+ style. (01b31d5)
+ * src/menubar.vala: Set LC_NUMERIC to C.UTF-8 more globally.
+ (17ab293)
+ * Merge branch 'tari01-pr/error-below-entry' (e6d5a9c)
+
+2025-04-28 Robert Tari
+
+ * Fix and future-proof the menubar (e221a64)
+ * Allow error label to be displayed below the login entry (652c4d7)
+
+2025-04-28 Mike Gabriel
+
+ * Release 0.99.8.11 (c6e0758) (tag: 0.99.8.11)
+ * Merge branch 'tari01-pr/message-wrap' (ca471e8)
+
+2025-04-27 Robert Tari
+
+ * Rewrite Gtk.Alignment (0e7e568)
+ * src/prompt-box.vala: Add manual text wrapping (ead00fb)
+
+2025-04-24 தமிழ்நேரம்
+
+ * Translated using Weblate (Tamil) (bb6492c)
+
+2025-04-24 GiannosOB
+
+ * Translated using Weblate (Greek) (ef40d14)
+
+2025-04-24 Mike Gabriel
+
+ * Release 0.99.8.10 (43a3900) (tag: 0.99.8.10)
+
+2025-04-22 Mike Gabriel
+
+ * Merge branch 'tari01-pr/prompt-box-tweaks' (2d6ade9)
+
+2025-04-11 Robert Tari
+
+ * src/settings.vala: Drop unused safe_get_boolean (66148f4)
+ * Fix deprecated colour overrides (f270371)
+ * Add logo positioning tweaks (4d10346)
+
+2025-04-10 Robert Tari
+
+ * Add prompt box tweaks (33ec57f)
+
+2025-04-10 Mike Gabriel
+
+ * Merge branch 'tari01-pr/size-position-fix' (65ccc9a)
+
+2025-04-08 Robert Tari
+
+ * src/shutdown-dialog: Fix possible null warning (9153eef)
+ * src/arctica-greeter.vala: Drop unused wm_message_pid (88c789a)
+ * src/main-window.vala: Drop deprecated Gdk.Screen.get_* functions
+ (c2bc2ca)
+ * src/main-window.vala: Fix content_box.margin_right and margin_left
+ (a0e8568)
+ * src/main-window.vala: Fix DBusConnection.call (b5c6f85)
+ * Fix size and position of elements (e0acacd)
+
+2025-04-08 Mike Gabriel
+
+ * Release 0.99.8.9 (81c3c04) (tag: 0.99.8.9)
+ * Merge branch 'tari01-pr/greeter-accelerators' (908972c)
+
+2025-04-07 Quentin PAGÈS
+
+ * Translated using Weblate (Occitan) (044f8b6)
+ * Translated using Weblate (Occitan) (dcc9194)
+
+2025-04-04 Robert Tari
+
+ * src/main-window.vala: Toggle a11y states when accelerators are
+ pressed (856bd77)
+
+2025-04-01 Mike Gabriel
+
+ * Release 0.99.8.8 (7a83daa) (tag: 0.99.8.8)
+ * Merge branch 'tari01-pr/datetime-high-contrast-label' (e6e3fbe)
+
+2025-04-01 Robert Tari
+
+ * src/menubar.vala: Fix DateTime Indicator high contrast label
+ (4cdc2e0)
+
+2025-03-31 Mike Gabriel
+
+ * Release 0.99.8.7 (fc8c76d) (tag: 0.99.8.7)
+ * Merge branch 'tari01-pr/greeter-list-height-fix' (f1b274e)
+
+2025-03-31 Robert Tari
+
+ * arctica-greeter/src/greeter-list.vala: Fix DashBox height when the
+ content changes (946775b)
+
+2025-03-29 Salkin
+
+ * Translated using Weblate (Uyghur) (0ddec6b)
+
+2025-03-26 Mike Gabriel
+
+ * Release 0.99.8.6 (a021f8e) (tag: 0.99.8.6)
+ * src/{arctica-greeter,menubar}.vala: Set locale to LC_NUMERIC before
+ using printf with floats. (fa0e19e)
+
+2025-03-25 Mike Gabriel
+
+ * Release 0.99.8.5 (71f38fc) (tag: 0.99.8.5)
+
+2025-03-24 Mike Gabriel
+
+ * Merge branch 'pr/high-contrast-improvements' (c3c5d4b)
+ * src/main-window.vala: Render the back-button with black background
+ and white border. As arrow we have a white png. (8a0542e)
+ * src/prompt-box.vala: Prompt box messages are always white in normal
+ mode, always black in high-contrast mode (except from
+ errors). (21ec1e7)
+ * src/menubar.vala: Render the menubar always white (background is
+ always black) and use black font for the hostname if
+ shown. (15fc13d)
+ * Merge branch 'pr/widget-scaling-factor' (41eb8e9)
+
+2025-03-22 Mike Gabriel
+
+ * Introduce UI/widget scaling per scaling factor. (e8d37d2)
+
+2025-03-24 Mike Gabriel
+
+ * Merge branch 'pr/soften-menubar-shadow' (6586045)
+ * src/menubar.vala: Soften the menubar shadow depending on
+ 'menubar-alpha' gsettings configuration. (ad0d442)
+
+2025-03-21 Mike Gabriel
+
+ * data/50-org.Arctica-Project.arctica-greeter.rules: Syntax fix.
+ (234d74d)
+
+2025-02-17 Temuri Doghonadze
+
+ * Translated using Weblate (Georgian) (39df5cd)
+
+2025-02-08 Remus-Gabriel Chelu
+
+ * Translated using Weblate (Romanian) (88f9010)
+
+2024-12-28 Mike Gabriel
+
+ * src/main-window.vala: Recuce the menubar height when settings
+ struts by 7px ( x scaling factor). (92634b8)
+ * src/main-window.vala: Apply Gdk property change to toplevel of the
+ MainWindow (just in case). (f1eaf51)
+ * src/arctica-greeter.vala: Re-arrange calls to
+ MainWindow.set_struts(). (303f1bf)
+ * src/main-window.vala: Make set_struts() a method without parameters
+ and move previous set_struts() to _set_struts() (private
+ method now). (e1447b4)
+ * src/main-window.vala: Set Gdk.WindowTypeHint.DOCK to make struts
+ not affect the main window itself. (4108d90)
+ * src/main-window.vala: Convert set_struts() method to a non-static
+ method (by its code). (b571fe5)
+
+2024-07-09 Mike Gabriel
+
+ * release 0.99.8.4 (0c86f3f)
+ * src/session-list.vala: Document SUSE's handling of default.desktop
+ in /usr/share/xsessions/. (dc2fa8e)
+ * src/session-list.vala: Skip session key 'default' when detecting
+ the session's icon name. (0a03d5e)
+ * src/session-list.vala: Use xsession_badge.png for session key
+ "default". (b63c681)
+ * src/arctica-greeter.vala: Adjust comment (Slick Greeter ->
+ arctica-greeter). (0ba9af1)
+
+2024-12-17 Distant Prince
+
+ * Translated using Weblate (English (Canada)) (430e248)
+
+2024-11-17 AbdurahmanKarisik
+
+ * Translated using Weblate (Bosnian) (37c97f0)
+
+2024-11-08 தமிழ்நேரம்
+
+ * Translated using Weblate (Tamil) (6b714e6)
+
+2024-10-07 ssantos
+
+ * Translated using Weblate (Portuguese) (4f27ae4)
+
+2024-09-28 Remus-Gabriel Chelu
+
+ * Translated using Weblate (Romanian) (802561d)
+
+2024-08-24 Aindriú Mac Giolla Eoin
+
+ * Translated using Weblate (Irish) (df177e6)
+
+2024-08-06 Jason Cai
+
+ * Translated using Weblate (Chinese (Simplified)) (a673035)
+
+2024-07-05 Andi Chandler
+
+ * Translated using Weblate (English (United Kingdom)) (242d041)
+
+2024-06-19 Mike Gabriel
+
+ * release 0.99.8.3 (1e92ca1) (tag: 0.99.8.3)
+ * arctica-greeter-check-hidpi: Import syslog module (we use it in
+ case of an occurring error). (347bbf0)
+ * src/settings-daemon.vala: Fake org.gnome.SessionManager's
+ RegisterClient D-Bus method. (8cbb98d)
+ * src/: Drop another (now) superfluous '!do_test_mode' check.
+ (f43aca3)
+ * src/: Skip start_notification_daemon() and start_real_wm() if in
+ test-mode. (e743bfb)
+ * src/: Exclude more code from being run in start_indicators() when
+ in test-mode. (1a5f9e5)
+ * src/arctica-greeter: Reduce \!do_test_mode checks by 1. (127c52a)
+ * src/: Only run enable_tap_to_click() when not in test-mode.
+ (d75bd38)
+ * src/: Only fiddle with MATE scaling factor settings if not in
+ test-mode. (6ff5b6f)
+ * src/arctica-greeter.vala: Handle get_state() return null gracefully
+ in ArcticaGreeter.GetUser(), don't operate on null as if
+ it was a string. (fb226b6)
+ * arctica-greeter-check-hidpi: Don't fail if no DISPLAY variable is
+ set, silently return scaling factor 1. (0b74a97)
+
+2024-06-19 Robert Tari
+
+ * Make position of the greeter magnifier configurable (d9736d7)
+
+2024-06-18 Mike Gabriel
+
+ * release 0.99.8.2 (c48673e) (tag: 0.99.8.2)
+ * arctica-greeter-magnifier: Enforce start without window
+ decorations. (6f803ae)
+ * src/: OSK and Magnifier: always keep above other windows, don't use
+ window decoration. Required when running under a window
+ manager such as metacity or marco. (7534bae)
+ * src/: On every toggle/enable resize/reposition the OSK. Required
+ when running under a window manager such as metacity or
+ marco. (24da945)
+ * src/: Let onboard know that it got launched for arctica-greeter.
+ (1d49f96)
+ * src/: Resize and position magnifier window. (e5040b0)
+ * release 0.99.8.1 (b98f5c0) (tag: 0.99.8.1)
+ * src/main-window.vala: Update struts when monitor setup changed.
+ (d094aad)
+ * src/main-window.vala: In set_struts() consider window scaling when
+ calculting _NET_WM_STRUT{,_PARTIAL} (fixes broken
+ geometry). (041352d)
+ * src/: In set_struts(), use already discovered geometry of the
+ primary monitor. (141a182)
+ * src/: Don't launch Geoclue agent when in test mode. (5ced7b5)
+ * src/: Launch/stop real window manager event based. (0bf37dd)
+ * d/changelog: amend revision in package version (6739f24)
+ * d/control: Switch from metacity to to marco in D:. (c0f1b48)
+ * data/org.ArcticaProject.arctica-greeter.gschema.xml: Default to
+ 'marco' as window manager. (c400b72)
+ * window manager: Alternatively to metacity, also support marco.
+ (aac3361)
+ * src/arctica-greeter.vala: Don't reference 'Marco' anymore, the WM
+ is / will be configurable. (b094a11)
+ * release 0.99.8.0 (238d956) (tag: 0.99.8.0)
+ * src/: Set _NET_WM_STRUT{,_PARTIAL} so that notification bubbles
+ don't overlay the menubar. (2757036)
+ * d/control: Add to R: metacity. (816fdae)
+ * src/: Re-introduce having a window manager (metacity this time,
+ with keybindings disabled). Make having it conifugrable
+ via GSettings. (b9911e7)
+ * src/: Assure that org.mate.interface's window-scaling-factor is set
+ to 1x scaling (we handle it ourselves via env vars and
+ don't want the HiDPI effect to duplicated. (cf054d0)
+ * src/: Use AGUtils.greeter_set_env() (includes update of the D-Bus
+ activation environment) instead of
+ GLib.Environment.set_variable(). (173a498)
+ * src/: Move all env variable settings before the cmdline option
+ parse() method to actually have an effect. (762058e)
+
+2024-06-17 Mike Gabriel
+
+ * data/50-org.Arctica-Project.arctica-greeter.rules: Make networking
+ more configurable in Arctica Greeter. (f77de32)
+ * main window: Keep always below all other windows (esp. helpful for
+ nm-applets WiFi credentials dialog). (4418e2c)
+ * Support openSUSE style of marking the default (X11) session.
+ (30e18f5)
+ * src/arctica-greeter.vala: Only load state file if it already
+ exists. (7e692b9)
+
+2024-06-12 Mike Gabriel
+
+ * Launch mate-notification-daemon in greeter session for showing
+ system notifications. (8bc357f)
+ * Wait with Ayatana Indicators startup until D-Bus mimick services
+ have come up. (7b0bf06)
+ * src/settings-daemon.vala: Also mimick org.mate.ScreenSaver D-Bus
+ service. (f4e287a)
+
+2024-06-11 Mike Gabriel
+
+ * data/50-org.Arctica-Project.arctica-greeter.rules: Make file better
+ readable. (c14dee8)
+
+2024-06-04 Mike Gabriel
+
+ * release 0.99.7.0 (f6ae4a3) (tag: 0.99.7.0)
+ * Revert "Work around GTK 3.20's new allocation logic. Ported from
+ slick-greeter." (dd603ac)
+ * src/greeter-list.vala: Redraw greeter box after showing/adding a
+ message to it. (8286af7)
+ * src/greeter-list.vala: Drop extra Gtk >= 3.20 queue_allocate(). Not
+ required anymore. (1b5446f)
+ * data/org.ArcticaProject.arctica-greeter.gschema.xml: Amend
+ phrasings in GSettings descriptions. (1196cff)
+
+2024-05-28 Mike Gabriel
+
+ * Add user filter to greeter's user list. (f5f819e)
+
+2024-05-28 Michael Webster
+
+ * Fix hidpi rendering of session badges. (5a2e16b)
+ * src/promptbox.vala: Use themed icon for unread messages. (dc19d70)
+
+2023-12-15 Michael Webster
+
+ * greeter-list.vala: Make the user and session box wider. (6faf57d)
+
+2024-05-28 Eugenio Depalo
+
+ * src/{main-window,settings}.vala: Add a setting to configure the
+ user list alignment. (67fb7bf)
+
+2024-05-20 Mike Gabriel
+
+ * src/session-list.vala: Add several more session name / badge
+ filename aliases. (6cf3cb2)
+ * data/badges/: Add badge icon for the Weston compositor. (afab250)
+ * data/badges: Port over various session badge icons from
+ slick-greeter. (6fecb87)
+ * src/session-list.vala: Auto-find session badges if session name
+ matches badge filename. (6b0c722)
+
+2023-07-17 Sam Lane
+
+ * Add man pages for arctica-greeter's helper scripts. (fcbc29e)
+
+2024-05-20 Mike Gabriel
+
+ * Drop to-be-reviewed slick-greeter patches. 0025 is already applied,
+ 0027 will not be applied. (a3aa22f)
+
+2024-04-08 Mike Gabriel
+
+ * release 0.99.6.0 (872a22e)
+
+2024-05-17 Giorgio Berardi
+
+ * Translated using Weblate (Italian) (0fc62a9)
+
+2024-04-08 Mike Gabriel
+
+ * debian/control: Sort deps in D: (arctica-greeter). (3fff402)
+ * debian/control: Satisfy dependencies of arctica-greeter-magnifier.
+ (3b0e9c8)
+ * debian/arctica-greeter.install: Install arctica-greeter-magnifier
+ into bin:pkg arctica-greeter. (8e386b8)
+ * src/arctica-greeter.vala: Permission fix (0755 -> 0644) (4a9ee4f)
+ * Merge branch 'tari01-pr/magnifier-focus' (0a20bb2)
+
+2024-03-04 Robert Tari
+
+ * Add a Magnus fork and wrap it in a new window (f9a1300)
+
+2024-03-14 이정희
+
+ * Translated using Weblate (Korean) (e09ca75)
+
2024-02-06 Mike Gabriel
- * release 0.99.5.0 (HEAD -> master, tag: 0.99.5.0)
+ * release 0.99.5.0 (b8773a7) (tag: 0.99.5.0)
* debian/arctica-greeter.install: Adjust to new binary installation
path. (ffb69e1)
* src/Makefile.am: Install arctica-greeter to <prefix>/bin (instead
diff --git a/NEWS b/NEWS
index 18c11c2..b4aaa6a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,236 @@
+Overview of changes in arctica-greeter 0.99.9.4
+
+ - Make menubar shadow configurable.
+
+Overview of changes in arctica-greeter 0.99.9.3
+
+ - data/org.ArcticaProject.arctica-greeter.gschema.xml: Set
+ menubar-alpha default to 0.3. (Originally 0.2, changed to 0.5 as
+ part of 2bc439d3, now back to a compromise).
+ - Apply custom menubar transparency even if theme background is used.
+ - Use the theme menubar background colour if no custom colour is
+ specified.
+ - Translation updates (thanks to all contributors on
+ hosted.weblate.org).
+
+Overview of changes in arctica-greeter 0.99.9.2
+
+ - Add background image position.
+ - Translation updates (thanks to all contributors on
+ hosted.weblate.org).
+
+Overview of changes in arctica-greeter 0.99.9.1
+
+ - Allow filtering out users from hidden groups.
+ - Translation updates (thanks to all contributors on
+ hosted.weblate.org).
+
+Overview of changes in arctica-greeter 0.99.9.0
+
+ - Allow error label to be displayed below the login entry.
+ - Fix and future-proof the menubar.
+ - src/menubar.vala: Also apply menubar-bgcolor to menubar's shadow
+ style.
+ - src/menubar.vala: Set LC_NUMERIC to C.UTF-8 more globally.
+
+Overview of changes in arctica-greeter 0.99.8.11
+
+ - Rewrite Gtk.Alignment.
+ - src/prompt-box.vala: Add manual text wrapping.
+ - Translation updates (thanks to all contributors on
+ hosted.weblate.org).
+
+Overview of changes in arctica-greeter 0.99.8.10
+
+ - src/settings.vala: Drop unused safe_get_boolean.
+ - Fix deprecated colour overrides.
+ - Add logo positioning tweaks.
+ - Add prompt box tweaks.
+ - src/shutdown-dialog: Fix possible null warning.
+ - src/arctica-greeter.vala: Drop unused wm_message_pid.
+ - src/main-window.vala: Drop deprecated Gdk.Screen.get_* functions.
+ - src/main-window.vala: Fix content_box.margin_right and margin_left.
+ - src/main-window.vala: Fix DBusConnection.call.
+ - Fix size and position of elements.
+
+Overview of changes in arctica-greeter 0.99.8.9
+
+ - src/main-window.vala: Toggle a11y states when accelerators are
+ pressed.
+ - Translation updates (thanks to all contributors on
+ hosted.weblate.org).
+
+Overview of changes in arctica-greeter 0.99.8.8
+
+ - src/menubar.vala: Fix DateTime Indicator high contrast label.
+
+Overview of changes in arctica-greeter 0.99.8.7
+
+ - arctica-greeter/src/greeter-list.vala: Fix DashBox height when the
+ content changes.
+ - Translation updates (thanks to all contributors on
+ hosted.weblate.org).
+
+Overview of changes in arctica-greeter 0.99.8.6
+
+ - Regression fix for 0.99.8.5 for non-English systems:
+ src/{arctica-greeter,menubar}.vala: Set locale to LC_NUMERIC before
+ using printf with floats.
+
+Overview of changes in arctica-greeter 0.99.8.5
+
+ - src/main-window.vala: Render the back-button with black background
+ and white border. As arrow we have a white png.
+ - src/prompt-box.vala: Prompt box messages are always white in normal
+ mode, always black in high-contrast mode (except from errors).
+ - src/menubar.vala: Render the menubar always white (background is
+ always black) and use black font for the hostname if shown.
+ - Introduce UI/widget scaling per scaling factor.
+ - src/menubar.vala: Soften the menubar shadow depending on
+ 'menubar-alpha' gsettings configuration.
+ - data/50-org.Arctica-Project.arctica-greeter.rules: Syntax fix.
+ - src/main-window.vala: Recuce the menubar height when settings
+ struts by 7px ( x scaling factor).
+ - src/main-window.vala: Apply Gdk property change to toplevel of the
+ MainWindow (just in case).
+ - src/arctica-greeter.vala: Re-arrange calls to
+ MainWindow.set_struts().
+ - src/main-window.vala: Make set_struts() a method without parameters
+ and move previous set_struts() to _set_struts() (private method
+ now).
+ - src/main-window.vala: Set Gdk.WindowTypeHint.DOCK to make struts
+ not affect the main window itself.
+ - src/main-window.vala: Convert set_struts() method to a non-static
+ method (by its code).
+ - Translation updates (thanks to all contributors on
+ hosted.weblate.org).
+
+Overview of changes in arctica-greeter 0.99.8.4
+
+ - src/arctica-greeter.vala: Adjust comment (Slick Greeter ->
+ arctica-greeter).
+ - src/session-list.vala: Use xsession_badge.png for session key
+ "default".
+ - src/session-list.vala: Skip session key 'default' when detecting
+ the session's real icon name.
+ - src/session-list.vala: Document SUSE's handling of default.desktop
+ in /usr/share/xsessions/.
+ - Translation updates.
+
+Overview of changes in arctica-greeter 0.99.8.3
+
+ - Make position of the greeter magnifier configurable.
+ - arctica-greeter-check-hidpi: Don't fail if no DISPLAY variable is
+ set, silently return scaling factor 1.
+ - src/arctica-greeter.vala: Handle get_state() return null gracefully
+ in ArcticaGreeter.GetUser(), don't operate on null as if it was
+ a string.
+ - src/: Only fiddle with MATE scaling factor settings if not in
+ test-mode.
+ - src/: Only run enable_tap_to_click() when not in test-mode.
+ - src/arctica-greeter: Reduce '!do_test_mode' checks by 1.
+ - src/: Exclude more code from being run in start_indicators() when
+ in test-mode.
+ - src/: Skip start_notification_daemon() and start_real_wm() if in
+ test-mode.
+ - src/: Drop another (now) superfluous '!do_test_mode' check.
+ - src/settings-daemon.vala: Fake org.gnome.SessionManager's
+ RegisterClient D-Bus method.
+ - arctica-greeter-check-hidpi: Import syslog module (we use it in
+ case of an occurring error).
+
+Overview of changes in arctica-greeter 0.99.8.2
+
+ - src/: Resize and position magnifier window.
+ - src/: Let onboard know that it got launched for arctica-greeter.
+ - src/: On every toggle/enable resize/reposition the OSK. Required
+ when running under a window manager such as metacity or marco.
+ - src/: OSK and Magnifier: always keep above other windows, don't use
+ window decorations. Required when running under a window manager
+ such as metacity or marco.
+ - arctica-greeter-magnifier: Enforce start without window
+ decorations.
+
+Overview of changes in arctica-greeter 0.99.8.1
+
+ - src/arctica-greeter.vala: Don't reference 'Marco' anymore, the WM
+ is / will be configurable.
+ - window manager: Alternatively to metacity, also support marco.
+ - data/org.ArcticaProject.arctica-greeter.gschema.xml: Default to
+ 'marco' as window manager.
+ - src/: Launch/stop real window manager event based.
+ - src/: Don't launch Geoclue agent when in test mode.
+ - src/: In set_struts(), use already discovered geometry of the
+ primary monitor.
+ - src/main-window.vala: In set_struts() consider window scaling when
+ calculting _NET_WM_STRUT{,_PARTIAL} (fixes broken geometry).
+ - src/main-window.vala: Update struts when monitor setup changed.
+
+Overview of changes in arctica-greeter 0.99.8.0
+
+ - data/50-org.Arctica-Project.arctica-greeter.rules: Make file better
+ readable.
+ - src/settings-daemon.vala: Also mimick org.mate.ScreenSaver D-Bus
+ service.
+ - Wait with Ayatana Indicators startup until D-Bus mimick services
+ have come up.
+ - Launch mate-notification-daemon in greeter session for showing
+ system notifications.
+ - src/arctica-greeter.vala: Only load state file if it already
+ exists.
+ - Support openSUSE style of marking the default (X11) session.
+ - main window: Keep always below all other windows (esp. helpful for
+ nm-applets WiFi credentials dialog).
+ - data/50-org.Arctica-Project.arctica-greeter.rules: Make networking
+ more configurable in Arctica Greeter.
+ - src/: Move all env variable settings before the cmdline option
+ parse() method to actually have an effect.
+ - src/: Use AGUtils.greeter_set_env() (includes update of the D-Bus
+ activation environment) instead of
+ GLib.Environment.set_variable().
+ - src/: Assure that org.mate.interface's window-scaling-factor is set
+ to 1x scaling (we handle it ourselves via env vars and don't
+ want the HiDPI effect to duplicated.
+ - src/: Re-introduce having a window manager (metacity this time,
+ with keybindings disabled). Make having it conifugrable via
+ GSettings.
+ - d/control: Add to R: metacity.
+ - src/: Set _NET_WM_STRUT{,_PARTIAL} so that notification bubbles
+ don't overlay the menubar.
+
+Overview of changes in arctica-greeter 0.99.7.0
+
+ - Drop to-be-reviewed slick-greeter patches. 0025 is already applied,
+ 0027 will not be applied.
+ - Add man pages for arctica-greeter's helper scripts.
+ - src/session-list.vala: Auto-find session badges if session name
+ matches badge filename.
+ - data/badges: Port over various session badge icons from
+ slick-greeter.
+ - data/badges/: Add badge icon for the Weston compositor.
+ - src/session-list.vala: Add several more session name / badge
+ filename aliases.
+ - src/{main-window,settings}.vala: Add a setting to configure the
+ user list alignment.
+ - greeter-list.vala: Make the user and session box wider.
+ - src/promptbox.vala: Use themed icon for unread messages.
+ - Fix hidpi rendering of session badges.
+ - Add user filter to greeter's user list.
+ - data/org.ArcticaProject.arctica-greeter.gschema.xml: Amend
+ phrasings in GSettings descriptions.
+ - src/greeter-list.vala: Drop extra Gtk >= 3.20 queue_allocate(). Not
+ required anymore.
+ - src/greeter-list.vala: Redraw greeter box after showing/adding a
+ message to it.
+ - Revert "Work around GTK 3.20's new allocation logic. Ported from
+ slick-greeter."
+ - Translation updates.
+
+Overview of changes in arctica-greeter 0.99.6.0
+
+ - Add a Magnus fork and wrap it in a new window.
+ - Translation updates.
+
Overview of changes in arctica-greeter 0.99.5.0
- data/arctica-greeter.pkla: Fix Results* keys.
diff --git a/arctica-greeter-check-hidpi b/arctica-greeter-check-hidpi
index 8674300..ec75768 100755
--- a/arctica-greeter-check-hidpi
+++ b/arctica-greeter-check-hidpi
@@ -21,6 +21,7 @@ import gi
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk
import sys
+import syslog
import os
HIDPI_LIMIT = 192
@@ -29,29 +30,30 @@ def get_window_scale():
window_scale = 1
try:
display = Gdk.Display.get_default()
- monitor = display.get_primary_monitor()
- rect = monitor.get_geometry()
- width_mm = monitor.get_width_mm()
- height_mm = monitor.get_height_mm()
- monitor_scale = monitor.get_scale_factor()
+ if display != None:
+ monitor = display.get_primary_monitor()
+ rect = monitor.get_geometry()
+ width_mm = monitor.get_width_mm()
+ height_mm = monitor.get_height_mm()
+ monitor_scale = monitor.get_scale_factor()
- # Return 1 if the screen size isn't available (some TVs report their aspect ratio instead ... 16/9 or 16/10)
- if ((width_mm == 160 and height_mm == 90) \
- or (width_mm == 160 and height_mm == 100) \
- or (width_mm == 16 and height_mm == 9) \
- or (width_mm == 16 and height_mm == 10)):
- return 1
+ # Return 1 if the screen size isn't available (some TVs report their aspect ratio instead ... 16/9 or 16/10)
+ if ((width_mm == 160 and height_mm == 90) \
+ or (width_mm == 160 and height_mm == 100) \
+ or (width_mm == 16 and height_mm == 9) \
+ or (width_mm == 16 and height_mm == 10)):
+ return 1
- if rect.height * monitor_scale < 1500:
- return 1
+ if rect.height * monitor_scale < 1500:
+ return 1
- if width_mm > 0 and height_mm > 0:
- witdh_inch = width_mm / 25.4
- height_inch = height_mm / 25.4
- dpi_x = rect.width * monitor_scale / witdh_inch
- dpi_y = rect.height * monitor_scale / height_inch
- if dpi_x > HIDPI_LIMIT and dpi_y > HIDPI_LIMIT:
- window_scale = 2
+ if width_mm > 0 and height_mm > 0:
+ width_inch = width_mm / 25.4
+ height_inch = height_mm / 25.4
+ dpi_x = rect.width * monitor_scale / width_inch
+ dpi_y = rect.height * monitor_scale / height_inch
+ if dpi_x > HIDPI_LIMIT and dpi_y > HIDPI_LIMIT:
+ window_scale = 2
except Exception as detail:
syslog.syslog("Error while detecting hidpi mode: %s" % detail)
diff --git a/arctica-greeter-magnifier b/arctica-greeter-magnifier
index c4e5180..96a7813 100755
--- a/arctica-greeter-magnifier
+++ b/arctica-greeter-magnifier
@@ -16,6 +16,7 @@ class Main(object):
self.w = Gtk.Window.new(Gtk.WindowType.TOPLEVEL)
self.w.set_size_request(300, 300)
self.w.set_title("Magnus")
+ self.w.set_decorated(False)
self.w.connect("destroy", lambda a: Gtk.main_quit())
self.w.connect("configure-event", self.window_configure)
self.img = Gtk.Image()
diff --git a/configure.ac b/configure.ac
index 5ae59e6..4e0a491 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(arctica-greeter, 0.99.5.0)
+AC_INIT(arctica-greeter, 0.99.9.4)
AC_CONFIG_MACRO_DIR(m4)
AM_INIT_AUTOMAKE(subdir-objects)
AM_PROG_CC_C_O
diff --git a/data/50-org.Arctica-Project.arctica-greeter.rules b/data/50-org.Arctica-Project.arctica-greeter.rules
index b194628..0fd6fa9 100644
--- a/data/50-org.Arctica-Project.arctica-greeter.rules
+++ b/data/50-org.Arctica-Project.arctica-greeter.rules
@@ -1,33 +1,76 @@
-polkit.addRule (function (action, subject) {
- if (subject.user == "lightdm") {
- switch (action.id) {
- // Disable Controlling of Network Devices
- case 'org.freedesktop.NetworkManager.enable-disable-network':
- case 'org.freedesktop.NetworkManager.enable-disable-wifi':
- case 'org.freedesktop.NetworkManager.enable-disable-wwan':
- case 'org.freedesktop.NetworkManager.enable-disable-wimax':
- // Disable Sleep and Wake
- case 'org.freedesktop.NetworkManager.sleep-wake':
- // Disable WiFi Sharing
- case 'org.freedesktop.NetworkManager.wifi.share.protected':
- case 'org.freedesktop.NetworkManager.wifi.share.open':
- // Disable Settings Modifications
- case 'org.freedesktop.NetworkManager.settings.modify.own':
- case 'org.freedesktop.NetworkManager.settings.modify.system':
- case 'org.freedesktop.NetworkManager.settings.modify.hostname':
- // Disable User Connections
- case 'org.freedesktop.NetworkManager.use-user-connections':
- // Enable Controlling of Network Connections
- case 'org.freedesktop.NetworkManager.network-control':
+// Allow enabling/disabling of Network Devices in arctica-greeter / LightDM
+polkit.addRule(function(action, subject) {
+ if (subject.user !== 'lightdm') {
+ return undefined;
+ }
+
+ if (action.id == "org.freedesktop.NetworkManager.enable-disable-network" ||
+ action.id == "org.freedesktop.NetworkManager.enable-disable-wifi" ||
+ action.id == "org.freedesktop.NetworkManager.enable-disable-wwan" ||
+ action.id == "org.freedesktop.NetworkManager.enable-disable-wimax") {
+ return polkit.Result.YES;
+ }
+});
+
+// Allow Sleep and Wake in LightDM (for power management purposes)
+polkit.addRule(function(action, subject) {
+ if (subject.user !== 'lightdm') {
+ return undefined;
+ }
+
+ if (action.id == "org.freedesktop.NetworkManager.sleep-wake") {
+ return polkit.Result.YES;
+ }
+});
+
+// Disable WiFi Sharing in LightDM
+polkit.addRule(function(action, subject) {
+ if (subject.user !== 'lightdm') {
+ return undefined;
+ }
+
+ if ((action.id == "org.freedesktop.NetworkManager.wifi.share.protected" ||
+ action.id == "org.freedesktop.NetworkManager.wifi.share.open")) {
+ return polkit.Result.NO;
+ }
+});
+
+// Allow system settings modifications via arctica-greeter / LightDM
+// This leads to the greeter's nm-applet creating non-private WiFi connection profiles
+// by default, see:
+// https://gitlab.gnome.org/GNOME/network-manager-applet/-/commit/a0f95d83ff946ba854143414c97c4ed7af19b7fa
+//
+// As a result, all users can use WiFi connection profiles that were originally configured
+// in the greeter. Security implications are that all users with access to the greeter can
+// via WiFi credentials that other users configured previously via the greeter.
+polkit.addRule(function(action, subject) {
+ if (subject.user !== 'lightdm') {
+ return undefined;
+ }
+
+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.system") {
+ return polkit.Result.YES;
+ }
+});
+
+// Allow users to create new WiFi connection profiles via arctica-greeter / LightDM
+polkit.addRule(function(action, subject) {
+ if (subject.user !== 'lightdm')
+ return undefined;
+
+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.own" ||
+ action.id == "org.freedesktop.NetworkManager.settings.modify.hostname") {
return polkit.Result.NO;
- break;
- default:
- /*
- * Do nothing... for now.
- *
- * This means that polkit will continue scanning for other rules.
- */
- break;
- }
- }
+ }
+});
+
+// Enable Controlling of Network Connections in LightDM
+polkit.addRule(function(action, subject) {
+ if (subject.user !== 'lightdm')
+ return undefined;
+
+ if (action.id.match("org.freedesktop.NetworkManager.network-control") &&
+ subject.active == true) {
+ return polkit.Result.YES;
+ }
});
diff --git a/data/Makefile.am b/data/Makefile.am
index 8975d24..592730a 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -55,31 +55,65 @@ dist_soundsstereo_DATA = \
sounds/stereo/system-ready.ogg
dist_pkgdata_DATA = \
+ badges/aewm++_badge.png \
+ badges/afterstep_badge.png \
+ badges/amiwm_badge.png \
badges/awesome_badge.png \
+ badges/blackbox_badge.png \
badges/budgie_badge.png \
+ badges/cairo-dock_badge.png \
+ badges/cde_badge.svg \
+ badges/chromium_badge.svg \
+ badges/cinnamon_badge.svg \
+ badges/deepin_badge.png \
+ badges/dwm_badge.svg \
+ badges/ede_badge.png \
+ badges/enlightenment_badge.svg \
+ badges/etoile_badge.svg \
+ badges/evilwm_badge.png \
+ badges/fluxbox_badge.svg \
+ badges/fvwm_badge.png \
+ badges/fynedesk_badge.svg \
badges/gnome_badge.png \
+ badges/gnome-bluetile_badge.svg \
badges/gnustep_badge.png \
+ badges/herbstluftwm_badge.png \
badges/i3_badge.png \
badges/icewm_badge.png \
- badges/fynedesk_badge.svg \
badges/kde_badge.png \
+ badges/larswm_badge.png \
badges/lomiri_badge.png \
badges/lxde_badge.png \
badges/lxqt_badge.png \
badges/matchbox_badge.png \
badges/mate_badge.png \
badges/mirshell_badge.png \
+ badges/mythbuntu_badge.png \
badges/openbox_badge.png \
+ badges/openbsd-cwm_badge.png \
badges/pademelon_badge.png \
- badges/remote_login_help.png \
+ badges/pantheon_badge.png \
+ badges/pekwm_badge.png \
+ badges/ratpoison_badge.png \
+ badges/razor_badge.png \
badges/recovery_console_badge.png \
+ badges/remote_login_help.png \
+ badges/sawfish_badge.png \
badges/sleclassic_badge.png \
+ badges/steamos_badge.svg \
+ badges/stumpwm_badge.png \
+ badges/subtle_badge.png \
badges/sugar_badge.png \
badges/surf_badge.png \
badges/sway_badge.svg \
+ badges/trinity_badge.png \
badges/twm_badge.png \
badges/ubuntu_badge.png \
+ badges/ubuntustudio_badge.svg \
badges/unknown_badge.png \
+ badges/weston_badge.png \
+ badges/wmii_badge.png \
+ badges/xbmc_badge.png \
badges/xfce_badge.png \
badges/xmonad_badge.png \
badges/xsession_badge.png \
@@ -103,7 +137,8 @@ dist_pkgdata_DATA = \
suspend.png \
switcher_corner.png \
switcher_left.png \
- switcher_top.png
+ switcher_top.png \
+ $(NULL)
logo.png: logo-bare.png
../src/logo-generator --logo logo-bare.png --text '$(VERSION)' --output logo.png
@@ -112,7 +147,14 @@ logo.png: logo-bare.png
gsettings_SCHEMAS = \
org.ArcticaProject.arctica-greeter.gschema.xml
-dist_man1_MANS = arctica-greeter.1
+dist_man1_MANS = \
+ arctica-greeter.1 \
+ arctica-greeter-check-hidpi.1 \
+ arctica-greeter-enable-tap-to-click.1 \
+ arctica-greeter-magnifier.1 \
+ arctica-greeter-set-keyboard-layout.1 \
+ $(NULL)
+
dist_man8_MANS = arctica-greeter-guest-account-script.8
EXTRA_DIST = \
diff --git a/data/arctica-greeter-check-hidpi.1 b/data/arctica-greeter-check-hidpi.1
new file mode 100644
index 0000000..e3b0226
--- /dev/null
+++ b/data/arctica-greeter-check-hidpi.1
@@ -0,0 +1,20 @@
+.TH ARCTICA-GREETER 1 "May 2025" "Version 0.99.9.4" "LightDM Greeter"
+.SH NAME
+arctica-greeter-check-hidpi \- Check for HiDPI display in Arctica Greeter
+.SH SYNOPSIS
+.B arctica-greeter-check-hidpi
+
+.SH DESCRIPTION
+.B Arctica Greeter
+is a LightDM greeter for the modern desktop. It is run by the LightDM
+daemon if configured in lightdm.conf.
+.PP
+
+.B arctica-greeter-check-hidpi
+is a simple checking tool to see if the current resolution is less than
+1500px in height (returns 1) or returns 2 if the resolution is considered
+as HiDPI.
+.PP
+
+.SH SEE ALSO
+.B arctica-greeter
diff --git a/data/arctica-greeter-enable-tap-to-click.1 b/data/arctica-greeter-enable-tap-to-click.1
new file mode 100644
index 0000000..c99c3ed
--- /dev/null
+++ b/data/arctica-greeter-enable-tap-to-click.1
@@ -0,0 +1,18 @@
+.TH ARCTICA-GREETER 1 "May 2025" "Version 0.99.9.4" "LightDM Greeter"
+.SH NAME
+arctica-greeter-enable-tap-to-click \- Enable tap-to-click in Arctica Greeter
+.SH SYNOPSIS
+.B arctica-greeter-enable-tap-to-click
+
+.SH DESCRIPTION
+.B Arctica Greeter
+is a LightDM greeter for the modern desktop. It is run by the LightDM
+daemon if configured in lightdm.conf.
+.PP
+
+.B arctica-greeter-enable-tap-to-click
+is an internal executable of arctica-greeter that is used to enable touchpad tap-to-click.
+.PP
+
+.SH SEE ALSO
+.B arctica-greeter
diff --git a/data/arctica-greeter-guest-account-script.8 b/data/arctica-greeter-guest-account-script.8
index 5a28fb7..6c2a0ac 100644
--- a/data/arctica-greeter-guest-account-script.8
+++ b/data/arctica-greeter-guest-account-script.8
@@ -1,4 +1,4 @@
-.TH ARCTICA-GREETER 8 "Mar 16, 2018"
+.TH ARCTICA-GREETER 8 "May 2025" "Version 0.99.9.4" "LightDM Greeter"
.SH NAME
arctica-greeter-guest-account-script \- Create temp user for an Arctica Greeter's Guest Session
.SH SYNOPSIS
diff --git a/data/arctica-greeter-magnifier.1 b/data/arctica-greeter-magnifier.1
new file mode 100644
index 0000000..6c015ed
--- /dev/null
+++ b/data/arctica-greeter-magnifier.1
@@ -0,0 +1,19 @@
+.TH ARCTICA-GREETER 1 "May 2025" "Version 0.99.9.4" "LightDM Greeter"
+.SH NAME
+arctica-greeter-magnifier \- Magnifying glass for Arctica Greeter
+.SH SYNOPSIS
+.B arctica-greeter-magnifier
+
+.SH DESCRIPTION
+.B Arctica Greeter
+is a LightDM greeter for the modern desktop. It is run by the LightDM
+daemon if configured in lightdm.conf.
+.PP
+
+.B arctica-greeter-magnifier
+is a helper window that can be anabled via the a11y indicator. It
+shows a magnified view of the screen portion below the mouse pointer.
+.PP
+
+.SH SEE ALSO
+.B arctica-greeter
diff --git a/data/arctica-greeter-set-keyboard-layout.1 b/data/arctica-greeter-set-keyboard-layout.1
new file mode 100644
index 0000000..066fb1f
--- /dev/null
+++ b/data/arctica-greeter-set-keyboard-layout.1
@@ -0,0 +1,20 @@
+.TH ARCTICA-GREETER 1 "May 2025" "Version 0.99.9.4" "LightDM Greeter"
+.SH NAME
+arctica-greeter-set-keyboard-layout \- Tool to set the keyboard layout in Arctica Greeter
+.SH SYNOPSIS
+.B arctica-greeter-set-keyboard-layout
+
+.SH DESCRIPTION
+.B Arctica Greeter
+is a LightDM greeter for the modern desktop. It is run by the LightDM
+daemon if configured in lightdm.conf.
+.PP
+
+.B arctica-greeter-set-keyboard-layout
+is a helper script for arctica-greeter to set the X11 keyboard layout in
+Arctica Greeter. It parses the settings in /etc/default/keyboard and
+applies them to the greeter's X11 session.
+.PP
+
+.SH SEE ALSO
+.B arctica-greeter
diff --git a/data/arctica-greeter.1 b/data/arctica-greeter.1
index f3190d1..a7014ac 100644
--- a/data/arctica-greeter.1
+++ b/data/arctica-greeter.1
@@ -1,4 +1,4 @@
-.TH ARCTICA-GREETER 1 "Feb 2024" "Version 0.99.5.0" "LightDM Greeter"
+.TH ARCTICA-GREETER 1 "May 2025" "Version 0.99.9.4" "LightDM Greeter"
.SH NAME
arctica-greeter \- LightDM greeter for the modern desktop
.SH SYNOPSIS
diff --git a/data/badges/COPYING.badges b/data/badges/COPYING.badges
index 0a7a1db..915eb83 100644
--- a/data/badges/COPYING.badges
+++ b/data/badges/COPYING.badges
@@ -29,6 +29,51 @@ License: GPL-3
----
Files:
+ aewm++_badge.png
+ afterstep_badge.png
+ amiwm_badge.png
+ blackbox_badge.png
+ cairo-dock_badge.png
+ cde_badge.svg
+ chromium_badge.svg
+ cinnamon_badge.svg
+ deepin_badge.png
+ dwm_badge.svg
+ ede_badge.png
+ enlightenment_badge.svg
+ etoile_badge.svg
+ evilwm_badge.png
+ fluxbox_badge.svg
+ fvwm_badge.png
+ gnome-bluetile_badge.svg
+ herbstluftwm_badge.png
+ larswm_badge.png
+ mythbuntu_badge.png
+ openbsd-cwm_badge.png
+ pantheon_badge.png
+ pekwm_badge.png
+ ratpoison_badge.png
+ razor_badge.png
+ sawfish_badge.png
+ steamos_badge.svg
+ stumpwm_badge.png
+ subtle_badge.png
+ trinity_badge.png
+ ubuntustudio_badge.svg
+ weston_badge.png
+ weston_badge.xcf
+ wmii_badge.png
+ xbmc_badge.png
+
+These files have been created for slick-greeter, we can only assume a
+copyright holdership and license from their debian/copyright file. There, those files
+are attributed to (C) 2013 zombifier.
+
+Licensed under the CC-by-SA-v3.0 license (full text see below).
+
+----
+
+Files:
*.xcf
<all PNGs derived from those .xcf files>
diff --git a/data/badges/aewm++_badge.png b/data/badges/aewm++_badge.png
new file mode 100644
index 0000000..97927f8
--- /dev/null
+++ b/data/badges/aewm++_badge.png
Binary files differ
diff --git a/data/badges/afterstep_badge.png b/data/badges/afterstep_badge.png
new file mode 100644
index 0000000..f4faa8c
--- /dev/null
+++ b/data/badges/afterstep_badge.png
Binary files differ
diff --git a/data/badges/amiwm_badge.png b/data/badges/amiwm_badge.png
new file mode 100644
index 0000000..59cefa6
--- /dev/null
+++ b/data/badges/amiwm_badge.png
Binary files differ
diff --git a/data/badges/blackbox_badge.png b/data/badges/blackbox_badge.png
new file mode 100644
index 0000000..e32c45e
--- /dev/null
+++ b/data/badges/blackbox_badge.png
Binary files differ
diff --git a/data/badges/cairo-dock_badge.png b/data/badges/cairo-dock_badge.png
new file mode 100644
index 0000000..a948b38
--- /dev/null
+++ b/data/badges/cairo-dock_badge.png
Binary files differ
diff --git a/data/badges/cde_badge.svg b/data/badges/cde_badge.svg
new file mode 100644
index 0000000..f5a1e01
--- /dev/null
+++ b/data/badges/cde_badge.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px"
+ height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g id="Layer_3">
+ <path fill="#FFFFFF" d="M11,0C4.925,0,0,4.926,0,11c0,6.074,4.925,11,11,11c6.074,0,11-4.926,11-11C22,4.926,17.074,0,11,0z
+ M7.404,17.836H5.223C4.35,16.963,2.75,14.273,2.75,10.854c0-3.418,1.6-5.818,2.473-6.691h2.181
+ c-0.873,0.873-2.908,3.273-2.908,6.691C4.496,14.273,6.531,16.963,7.404,17.836z M9.877,17.836H8.276V4.164h1.601V17.836z
+ M12.204,17.836h-2.182c0.873-0.873,2.91-3.563,2.91-6.981c0-3.418-2.037-5.818-2.91-6.691h2.182
+ c0.873,0.873,2.474,3.273,2.474,6.691C14.678,14.273,13.077,16.963,12.204,17.836z M18.75,9.837v1.745h-1.893v4.51h1.893
+ l-0.583,1.744h-2.908V4.164h2.908l0.583,1.746h-1.893v3.928H18.75z"/>
+</g>
+</svg>
diff --git a/data/badges/chromium_badge.svg b/data/badges/chromium_badge.svg
new file mode 100644
index 0000000..a8de2e3
--- /dev/null
+++ b/data/badges/chromium_badge.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px"
+ height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g id="Layer_3">
+ <path fill="#FFFFFF" d="M11,0C4.926,0,0,4.926,0,11s4.926,11,11,11s11-4.926,11-11S17.074,0,11,0z M11,2
+ c3.529,0,6.581,2.031,8.057,4.987l-7.823-0.045l0.006,0.005c-0.091-0.006-0.185-0.01-0.277-0.01c-1.32,0-2.494,0.637-3.228,1.62
+ l-3.48-3.513C5.903,3.177,8.314,2,11,2z M13.65,10.884c0,1.516-1.229,2.744-2.745,2.744s-2.744-1.229-2.744-2.744
+ c0-1.516,1.229-2.745,2.744-2.745S13.65,9.368,13.65,10.884z M2,11c0-1.849,0.558-3.569,1.515-4.998l3.84,6.741
+ c0.584,1.179,1.729,2.032,3.086,2.208l-1.324,4.851C5.051,18.937,2,15.325,2,11z M11,20c-0.228,0-0.453-0.009-0.676-0.025
+ l3.876-6.623c0.494-0.668,0.787-1.496,0.787-2.391c0-0.562-0.115-1.096-0.322-1.581l4.856-1.278C19.832,9.011,20,9.987,20,11
+ C20,15.97,15.971,20,11,20z"/>
+</g>
+</svg>
diff --git a/data/badges/cinnamon_badge.svg b/data/badges/cinnamon_badge.svg
new file mode 100644
index 0000000..65af4d2
--- /dev/null
+++ b/data/badges/cinnamon_badge.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 22 22.000001"
+ xml:space="preserve"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="cinnamon.svg"
+ width="22"
+ height="22"><metadata
+ id="metadata36"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs34" /><sodipodi:namedview
+ pagecolor="#545454"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1267"
+ inkscape:window-height="754"
+ id="namedview32"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ inkscape:zoom="16.9196"
+ inkscape:cx="17.666695"
+ inkscape:cy="11.59441"
+ inkscape:window-x="115"
+ inkscape:window-y="161"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"><inkscape:grid
+ type="xygrid"
+ id="grid4763" /></sodipodi:namedview><style
+ type="text/css"
+ id="style3">
+ .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#DC682E;}
+ .st1{fill-rule:evenodd;clip-rule:evenodd;fill:none;stroke:#DC682E;stroke-width:2;stroke-miterlimit:10;}
+ .text{fill:#FFFFFF;}
+</style><path
+ style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd;fill-opacity:1"
+ d="M 11 0 C 4.9359608 0 0 4.9359606 0 11 C 0 17.06404 4.9359608 22 11 22 C 17.06404 22 22 17.06404 22 11 C 22 4.9359606 17.06404 0 11 0 z M 11 2 C 15.98358 2 20 6.0164203 20 11 C 20 11.744924 19.899763 12.464728 19.730469 13.15625 L 15.476562 8.4277344 L 9.953125 14.714844 L 12.619141 9.3808594 L 11.285156 7 L 3.4882812 15.962891 C 2.5488973 14.541112 2 12.837695 2 11 C 2 6.0164203 6.0164205 2 11 2 z "
+ id="XMLID_9_-7" /></svg> \ No newline at end of file
diff --git a/data/badges/deepin_badge.png b/data/badges/deepin_badge.png
new file mode 100644
index 0000000..bdf4a6f
--- /dev/null
+++ b/data/badges/deepin_badge.png
Binary files differ
diff --git a/data/badges/dwm_badge.svg b/data/badges/dwm_badge.svg
new file mode 100644
index 0000000..1dd4ccb
--- /dev/null
+++ b/data/badges/dwm_badge.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px"
+ height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g id="Layer_1">
+ <g>
+ <rect x="3.083" y="11.293" fill="#FFFFFF" width="3.167" height="1.582"/>
+ <path fill="#FFFFFF" d="M11,0C4.925,0,0,4.925,0,11s4.925,11,11,11s11-4.925,11-11S17.075,0,11,0z M18.917,14.457v-3.164h-1.584
+ v3.164H15.75v-3.164h-1.583v3.164H1.5V9.708h4.75V6.543h1.583v6.332h1.583V9.708H11v3.167h1.584V9.708H20.5v4.749H18.917z"/>
+ </g>
+</g>
+</svg>
diff --git a/data/badges/ede_badge.png b/data/badges/ede_badge.png
new file mode 100644
index 0000000..99fbc5c
--- /dev/null
+++ b/data/badges/ede_badge.png
Binary files differ
diff --git a/data/badges/enlightenment_badge.svg b/data/badges/enlightenment_badge.svg
new file mode 100644
index 0000000..15028f7
--- /dev/null
+++ b/data/badges/enlightenment_badge.svg
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px"
+ height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g id="Layer_1">
+ <path fill="#FFFFFF" d="M11,0C4.925,0,0,4.925,0,11s4.925,11,11,11s11-4.925,11-11S17.075,0,11,0z M5.156,2.869
+ C6.004,3.834,6.639,4.411,7.185,4.36c0.343-0.438,0.181-1.277-0.221-2.52C7.587,2.95,8.084,3.642,8.623,3.718
+ C9.038,3.354,9.05,2.503,8.91,1.216c0.393,1.236,0.744,2.022,1.272,2.185c0.484-0.267,0.666-1.11,0.794-2.401
+ c0.131,1.299,0.313,2.144,0.804,2.406c0.536-0.153,0.89-0.941,1.287-2.188c-0.14,1.288-0.128,2.138,0.288,2.501
+ c0.538-0.076,1.035-0.768,1.659-1.876c-0.402,1.241-0.565,2.082-0.223,2.519c0.548,0.051,1.181-0.526,2.029-1.491
+ c-0.645,1.121-0.986,1.911-0.754,2.41c0.524,0.17,1.266-0.264,2.301-1.039c-0.908,1.019-1.421,1.746-1.214,2.294
+ c-0.327-0.438-0.364-0.478-0.548-0.678c-0.174-0.189-0.226-0.244-0.574-0.555c-0.333-0.292-0.397-0.34-0.604-0.488
+ c-0.205-0.146-0.271-0.193-0.652-0.412c-0.419-0.235-0.485-0.266-0.723-0.371c-0.232-0.102-0.306-0.132-0.738-0.273
+ c-0.417-0.132-0.497-0.15-0.742-0.203c-0.238-0.05-0.324-0.065-0.727-0.111l0,0c-0.543-0.054-0.598-0.054-0.87-0.054
+ c-0.247,0-0.332,0.002-0.749,0.042c-0.5,0.054-0.566,0.068-0.824,0.122C9.157,3.608,9.079,3.626,8.652,3.762
+ c-0.423,0.138-0.498,0.169-0.729,0.27C7.688,4.134,7.619,4.167,7.213,4.395C6.82,4.621,6.755,4.666,6.548,4.813
+ C6.343,4.96,6.278,5.008,5.945,5.3C5.597,5.612,5.544,5.667,5.371,5.856c-0.184,0.2-0.221,0.24-0.548,0.678
+ C5.03,5.986,4.518,5.259,3.608,4.24C4.643,5.015,5.385,5.45,5.91,5.279C6.143,4.779,5.801,3.99,5.156,2.869z M15.798,13.065
+ c0.666-1.415,0.823-4.581-1.864-6.403c-2.552-1.685-5.779-0.968-7.339,1.386c-1.585,2.344-1.079,5.691,1.494,7.396
+ c1.672,1.138,3.844,1.021,5.697,0.044l0.857,1.472c-1.719,0.954-4.525,1.823-7.517-0.153c-3.421-2.316-3.895-6.688-1.914-9.667
+ c2.07-3.073,6.413-4.091,9.671-1.896c3.245,2.158,3.961,6.562,1.905,9.633c-0.242,0.361-0.242,0.361-0.62,0.755L7.024,9.525
+ C7.184,9.099,7.184,9.099,7.47,8.666c1.466-2.187,4.089-2.393,5.896-1.184c1.536,1.028,2.315,2.99,1.549,4.977
+ C15.209,12.662,15.504,12.863,15.798,13.065z M16.843,19.131c-0.848-0.967-1.483-1.543-2.028-1.491
+ c-0.343,0.438-0.181,1.278,0.222,2.519c-0.623-1.109-1.122-1.802-1.659-1.876c-0.414,0.364-0.427,1.214-0.287,2.501
+ c-0.396-1.246-0.75-2.036-1.286-2.189C11.313,18.855,11.129,19.7,11,21c-0.129-1.29-0.311-2.132-0.794-2.4
+ c-0.528,0.162-0.88,0.949-1.273,2.186c0.141-1.289,0.128-2.14-0.288-2.502c-0.538,0.075-1.035,0.769-1.659,1.876
+ c0.402-1.242,0.565-2.082,0.221-2.52c-0.545-0.05-1.18,0.526-2.028,1.491c0.645-1.121,0.987-1.91,0.754-2.409
+ c-0.524-0.171-1.266,0.264-2.301,1.039c0.909-1.019,1.422-1.747,1.214-2.294c0.328,0.437,0.364,0.477,0.548,0.677
+ c0.173,0.189,0.226,0.244,0.573,0.555c0.335,0.293,0.399,0.343,0.604,0.489c0.212,0.151,0.271,0.192,0.69,0.433
+ c0.381,0.214,0.456,0.248,0.685,0.35c0.234,0.103,0.306,0.131,0.746,0.274c0.411,0.131,0.492,0.149,0.736,0.2
+ c0.25,0.054,0.326,0.067,0.784,0.118c0.457,0.045,0.534,0.047,0.79,0.047c0.265,0,0.33-0.001,0.838-0.052
+ c0.431-0.047,0.513-0.063,0.757-0.114c0.265-0.057,0.32-0.067,0.834-0.231c0.348-0.114,0.432-0.149,0.646-0.244
+ c0.248-0.108,0.3-0.131,0.77-0.396c0.337-0.196,0.41-0.246,0.605-0.386c0.2-0.143,0.269-0.194,0.578-0.465
+ c0.375-0.335,0.422-0.384,0.6-0.577c0.185-0.201,0.221-0.241,0.549-0.679c-0.208,0.548,0.304,1.276,1.214,2.294
+ c-1.035-0.774-1.776-1.209-2.301-1.039C15.856,17.22,16.199,18.009,16.843,19.131z"/>
+</g>
+</svg>
diff --git a/data/badges/etoile_badge.svg b/data/badges/etoile_badge.svg
new file mode 100644
index 0000000..566864f
--- /dev/null
+++ b/data/badges/etoile_badge.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px"
+ height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g id="Layer_1">
+ <g>
+ <circle fill="#FFFFFF" cx="11.599" cy="13.596" r="0.611"/>
+ <circle fill="#FFFFFF" cx="9.532" cy="10.044" r="0.612"/>
+ <circle fill="#FFFFFF" cx="12.006" cy="9.462" r="0.611"/>
+ <circle fill="#FFFFFF" cx="9.24" cy="12.537" r="0.611"/>
+ <path fill="#FFFFFF" d="M11,0C4.925,0,0,4.925,0,11c0,6.074,4.925,11,11,11c6.074,0,11-4.926,11-11C22,4.925,17.074,0,11,0z
+ M18.387,17.789c0,0-0.313-0.038-2.875-0.687c-2.9-0.731-3.537-1.857-3.537-1.857c-0.388,2.213-4.876,5.008-4.876,5.008
+ s-0.054-0.313-0.185-2.95c-0.147-2.988,0.717-3.965,0.717-3.965c-2.224,0.315-6.13-2.982-6.13-2.982s0.103-0.209,2.515-1.203
+ c2.333-0.961,4.08-0.507,4.08-0.507C7.116,5.939,9.103,1.747,9.103,1.747s0.421,0.251,2.075,2.312
+ c1.721,2.144,1.563,3.563,1.563,3.563C14.033,5.979,19.5,6.438,19.5,6.438s-0.401,0.948-1.51,2.715
+ c-1.243,1.986-2.929,2.531-2.929,2.531C17.065,12.703,18.387,17.789,18.387,17.789z"/>
+ <circle fill="#FFFFFF" cx="13.326" cy="11.675" r="0.612"/>
+ </g>
+</g>
+</svg>
diff --git a/data/badges/evilwm_badge.png b/data/badges/evilwm_badge.png
new file mode 100644
index 0000000..9e57b28
--- /dev/null
+++ b/data/badges/evilwm_badge.png
Binary files differ
diff --git a/data/badges/fluxbox_badge.svg b/data/badges/fluxbox_badge.svg
new file mode 100644
index 0000000..3d2a4d5
--- /dev/null
+++ b/data/badges/fluxbox_badge.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px"
+ height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g id="Layer_1">
+ <path fill="#FFFFFF" d="M10.999,0C4.925,0,0,4.926,0,11s4.925,11,10.999,11C17.074,22,22,17.074,22,11S17.074,0,10.999,0z
+ M3.765,15.529c1.531,0.395,3.219,0.5,5.057,0.119c1.065-0.258,2.129-0.699,3.073-1.494c0.6-0.539,0.954-1.176,1.247-1.799
+ c-0.109,0.93-0.489,1.908-1.15,2.789c-0.575,0.734-1.358,1.201-2.179,1.508c-0.698,0.268-1.298,0.354-1.946,0.402
+ c-0.6,0.025-1.139-0.049-1.666-0.135c-0.954-0.184-1.835-0.492-2.651-0.891c-0.153,0.416-0.257,0.852-0.299,1.309
+ c-0.398-0.557-0.621-1.193-0.678-1.848c-0.448-0.275-0.875-0.574-1.281-0.896c0.407,0.203,0.829,0.389,1.266,0.553
+ c0-0.363,0.05-0.729,0.15-1.086c-0.472-1.195-0.294-2.6,0.481-3.713c1.285-1.86,3.134-2.754,5.081-3.514
+ c3.845-1.383,7.933-1.566,11.923-1.138c-4.896,0-9.78,1.187-13.82,4.272c-0.321,0.245-0.634,0.505-0.932,0.78
+ c0.908-0.6,1.912-1.041,2.939-1.441c3.844-1.371,7.932-1.567,11.912-1.139c-4.885,0-9.782,1.188-13.821,4.271
+ C5.373,13.287,4.356,14.311,3.765,15.529z M6.434,13.713l-0.44,0.588l-0.808,0.025l0.453-0.613H6.434z"/>
+</g>
+</svg>
diff --git a/data/badges/fvwm_badge.png b/data/badges/fvwm_badge.png
new file mode 100644
index 0000000..93f85df
--- /dev/null
+++ b/data/badges/fvwm_badge.png
Binary files differ
diff --git a/data/badges/gnome-bluetile_badge.svg b/data/badges/gnome-bluetile_badge.svg
new file mode 100644
index 0000000..ed9df82
--- /dev/null
+++ b/data/badges/gnome-bluetile_badge.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="svg2" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g>
+ <path fill="#FFFFFF" d="M11.549,4.281c-0.061-0.011-0.122-0.015-0.184-0.012c-0.523,0.031-0.979,0.593-1.078,1.33
+ c-0.113,0.836,0.269,1.602,0.852,1.711C11.723,7.42,12.287,6.83,12.4,5.992C12.514,5.156,12.133,4.39,11.549,4.281z"/>
+ <path fill="#FFFFFF" d="M5.908,7.377c-0.051,0-0.1,0.006-0.146,0.02C5.371,7.505,5.204,8.041,5.389,8.592S6.039,9.5,6.43,9.389
+ c0.39-0.11,0.556-0.646,0.371-1.195C6.643,7.72,6.269,7.378,5.908,7.377z"/>
+ <path fill="#FFFFFF" d="M11,0C4.925,0,0,4.925,0,11s4.925,11,11,11c6.076,0,11-4.925,11-11S17.076,0,11,0z M17.922,18.074h-4.193
+ c0.133-0.073,0.258-0.152,0.369-0.236c0.926-0.704,1.633-2.734,0.785-3.102s-1.264,1.979-2.277,2.021
+ c-1.013,0.042-2.348-0.407-2.248-1.462s4.012-2.359,4.797-4.377c0.223-0.571,0.096-1.579-0.82-1.895
+ c-0.299-0.087-0.844-0.149-1.514-0.16c-2.01-0.034-5.19,0.085-6.232,1.742c-1.199,1.831-1.136,3.49-0.403,4.652
+ c0.617,0.98,1.343,2.107,3.043,2.816H3.921v-14h10.573c-0.072,0.067-0.146,0.131-0.217,0.209c-0.773,0.869-1.045,2.101-0.605,2.754
+ c0.439,0.652,1.424,0.478,2.197-0.391c0.709-0.795,0.988-1.891,0.695-2.572h1.357V18.074z"/>
+ <path fill="#FFFFFF" d="M8.301,5.49c-0.03-0.001-0.061-0.001-0.09,0.002C7.723,5.543,7.412,6.161,7.516,6.873
+ C7.619,7.586,8.1,8.125,8.588,8.074c0.488-0.051,0.8-0.67,0.695-1.383C9.187,6.029,8.762,5.51,8.301,5.49z"/>
+</g>
+</svg>
diff --git a/data/badges/herbstluftwm_badge.png b/data/badges/herbstluftwm_badge.png
new file mode 100644
index 0000000..8e5e4d4
--- /dev/null
+++ b/data/badges/herbstluftwm_badge.png
Binary files differ
diff --git a/data/badges/larswm_badge.png b/data/badges/larswm_badge.png
new file mode 100644
index 0000000..5902b13
--- /dev/null
+++ b/data/badges/larswm_badge.png
Binary files differ
diff --git a/data/badges/mythbuntu_badge.png b/data/badges/mythbuntu_badge.png
new file mode 100644
index 0000000..74268de
--- /dev/null
+++ b/data/badges/mythbuntu_badge.png
Binary files differ
diff --git a/data/badges/openbsd-cwm_badge.png b/data/badges/openbsd-cwm_badge.png
new file mode 100644
index 0000000..1f37efa
--- /dev/null
+++ b/data/badges/openbsd-cwm_badge.png
Binary files differ
diff --git a/data/badges/pantheon_badge.png b/data/badges/pantheon_badge.png
new file mode 100644
index 0000000..8074de5
--- /dev/null
+++ b/data/badges/pantheon_badge.png
Binary files differ
diff --git a/data/badges/pekwm_badge.png b/data/badges/pekwm_badge.png
new file mode 100644
index 0000000..996deb9
--- /dev/null
+++ b/data/badges/pekwm_badge.png
Binary files differ
diff --git a/data/badges/ratpoison_badge.png b/data/badges/ratpoison_badge.png
new file mode 100644
index 0000000..7003b21
--- /dev/null
+++ b/data/badges/ratpoison_badge.png
Binary files differ
diff --git a/data/badges/razor_badge.png b/data/badges/razor_badge.png
new file mode 100644
index 0000000..a737318
--- /dev/null
+++ b/data/badges/razor_badge.png
Binary files differ
diff --git a/data/badges/sawfish_badge.png b/data/badges/sawfish_badge.png
new file mode 100644
index 0000000..314b92c
--- /dev/null
+++ b/data/badges/sawfish_badge.png
Binary files differ
diff --git a/data/badges/steamos_badge.svg b/data/badges/steamos_badge.svg
new file mode 100644
index 0000000..4a34300
--- /dev/null
+++ b/data/badges/steamos_badge.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<g>
+ <path fill="#FFFFFF" d="M15.195,6.023c-1.381,0-2.508,1.143-2.508,2.547c0,1.417,1.127,2.56,2.508,2.56
+ c1.505,0,2.635-1.143,2.635-2.56C17.83,7.166,16.7,6.023,15.195,6.023z M15.259,10.393c-1.013,0-1.799-0.82-1.799-1.832
+ c0-1,0.786-1.821,1.799-1.821c1.011,0,1.909,0.82,1.909,1.821C17.168,9.573,16.27,10.393,15.259,10.393z"/>
+ <path fill="#FFFFFF" d="M8.799,12.673c-0.126,0-0.377,0.023-0.502,0.049l0.7,0.282c0.878,0.34,1.129,1.404,0.878,2.184
+ c-0.376,0.801-1.254,1.303-2.133,0.928c-0.376-0.127-0.449-0.181-0.825-0.37c0.376,0.689,1.003,1.066,1.882,1.066
+ c1.129,0,2.006-0.877,2.006-2.045C10.805,13.612,9.928,12.673,8.799,12.673z"/>
+ <path fill="#FFFFFF" d="M11,0C4.925,0,0,4.925,0,11c0,6.074,4.925,11,11,11c6.074,0,11-4.926,11-11C22,4.925,17.074,0,11,0z
+ M15.195,12.384l-3.639,2.658c-0.123,1.393-1.378,2.521-2.758,2.521s-2.51-0.877-2.76-2.195l-3.497-1.326l-0.042-3.625l4.792,1.905
+ c0.502-0.252,1.004-0.402,1.506-0.402c0.125,0,0.125,0.014,0.25,0.025l2.385-3.399c0-2.096,1.756-3.775,3.762-3.775
+ c2.133,0,3.889,1.705,3.889,3.8C19.084,10.677,17.328,12.384,15.195,12.384z"/>
+</g>
+</svg>
diff --git a/data/badges/stumpwm_badge.png b/data/badges/stumpwm_badge.png
new file mode 100644
index 0000000..db81e8a
--- /dev/null
+++ b/data/badges/stumpwm_badge.png
Binary files differ
diff --git a/data/badges/subtle_badge.png b/data/badges/subtle_badge.png
new file mode 100644
index 0000000..2877159
--- /dev/null
+++ b/data/badges/subtle_badge.png
Binary files differ
diff --git a/data/badges/trinity_badge.png b/data/badges/trinity_badge.png
new file mode 100644
index 0000000..faeeb51
--- /dev/null
+++ b/data/badges/trinity_badge.png
Binary files differ
diff --git a/data/badges/ubuntustudio_badge.svg b/data/badges/ubuntustudio_badge.svg
new file mode 100644
index 0000000..c8a73b8
--- /dev/null
+++ b/data/badges/ubuntustudio_badge.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="22px" height="22px" viewBox="0 0 22 22" enable-background="new 0 0 22 22" xml:space="preserve">
+<path id="path10060-3" fill="#FFFFFF" d="M11,0C4.917,0,0,4.906,0,10.977S4.917,22,11,22c6.084,0,11-4.953,11-11.023S17.084,0,11,0z
+ M13.301,1.699c0.119-0.015,0.246-0.034,0.369,0c1.641,0.459,3.043,1.263,4.234,2.48c0.104,0.103,0.184,0.274,0.229,0.413
+ c0.086,0.257,0.036,0.512-0.093,0.734c-0.076,0.134-0.182,0.238-0.321,0.322c-0.374,0.222-0.854,0.178-1.151-0.139
+ c-0.994-1.016-2.034-1.637-3.405-2.021c-0.492-0.138-0.736-0.656-0.599-1.148C12.668,1.974,12.943,1.744,13.301,1.699L13.301,1.699z
+ M10.954,4.547c1.674,0,3.332,0.614,4.603,1.883c2.543,2.538,2.543,6.693,0,9.231c-2.543,2.539-6.662,2.539-9.205,0
+ c-0.229-0.221-0.357-0.565-0.276-0.873c0.081-0.307,0.336-0.516,0.645-0.597s0.652,0.001,0.874,0.23c1.868,1.864,4.852,1.864,6.72,0
+ s1.868-4.888,0-6.752s-4.852-1.864-6.72,0C7.266,8.031,6.713,8.089,6.352,7.762C5.99,7.434,5.931,6.836,6.259,6.476
+ C6.278,6.454,6.33,6.448,6.352,6.43C7.623,5.161,9.28,4.547,10.954,4.547L10.954,4.547z M10.954,7.578
+ c0.89,0,1.765,0.338,2.439,1.011c1.35,1.346,1.35,3.568,0,4.914c-1.348,1.346-3.53,1.346-4.878,0c-1.349-1.346-1.349-3.568,0-4.914
+ C9.189,7.916,10.064,7.578,10.954,7.578L10.954,7.578z M2.577,7.899c0.154-0.001,0.317,0.015,0.46,0.092
+ c0.381,0.207,0.536,0.641,0.414,1.057c-0.368,1.372-0.368,2.577,0,3.949c0.133,0.493-0.15,0.971-0.645,1.104
+ c-0.494,0.131-1.018-0.151-1.15-0.644c-0.441-1.643-0.441-3.226,0-4.868c0.036-0.142,0.134-0.259,0.23-0.368
+ C2.064,8.017,2.32,7.903,2.577,7.899L2.577,7.899z M5.385,8.681c0.188-0.02,0.383,0.034,0.552,0.138
+ c0.339,0.206,0.524,0.629,0.415,1.01c-0.234,0.873-0.234,1.562,0,2.435c0.126,0.471-0.173,0.977-0.645,1.103
+ s-0.932-0.173-1.059-0.643c-0.304-1.133-0.304-2.222,0-3.354C4.69,9.205,4.754,9.025,4.878,8.91
+ C5.023,8.774,5.198,8.699,5.385,8.681L5.385,8.681z M10.954,9.277c-0.45,0-0.896,0.205-1.242,0.551c-0.694,0.693-0.694,1.788,0,2.48
+ c0.694,0.692,1.791,0.692,2.486,0c0.693-0.692,0.693-1.787,0-2.48C11.849,9.482,11.404,9.277,10.954,9.277z M16.982,16.351
+ c0.203-0.027,0.413,0.026,0.6,0.137c0.139,0.084,0.245,0.188,0.322,0.322c0.127,0.223,0.178,0.523,0.092,0.78
+ c-0.047,0.14-0.127,0.265-0.23,0.368c-1.196,1.212-2.592,1.981-4.234,2.435c-0.492,0.136-1.015-0.152-1.15-0.644
+ c-0.137-0.492,0.151-0.968,0.645-1.102c1.372-0.38,2.406-1.009,3.405-2.021C16.58,16.468,16.781,16.378,16.982,16.351L16.982,16.351
+ z"/>
+</svg>
diff --git a/data/badges/weston_badge.png b/data/badges/weston_badge.png
new file mode 100644
index 0000000..38fc512
--- /dev/null
+++ b/data/badges/weston_badge.png
Binary files differ
diff --git a/data/badges/weston_badge.xcf b/data/badges/weston_badge.xcf
new file mode 100644
index 0000000..454c4bd
--- /dev/null
+++ b/data/badges/weston_badge.xcf
Binary files differ
diff --git a/data/badges/wmii_badge.png b/data/badges/wmii_badge.png
new file mode 100644
index 0000000..047760c
--- /dev/null
+++ b/data/badges/wmii_badge.png
Binary files differ
diff --git a/data/badges/xbmc_badge.png b/data/badges/xbmc_badge.png
new file mode 100644
index 0000000..6447a7a
--- /dev/null
+++ b/data/badges/xbmc_badge.png
Binary files differ
diff --git a/data/org.ArcticaProject.arctica-greeter.gschema.xml b/data/org.ArcticaProject.arctica-greeter.gschema.xml
index 0af9d09..f6448c1 100644
--- a/data/org.ArcticaProject.arctica-greeter.gschema.xml
+++ b/data/org.ArcticaProject.arctica-greeter.gschema.xml
@@ -117,6 +117,15 @@
<default>'Noto Sans 11'</default>
<summary>Font to use.</summary>
</key>
+ <key name="window-manager" type="s">
+ <choices>
+ <choice value='none'/>
+ <choice value='metacity'/>
+ <choice value='marco'/>
+ </choices>
+ <default>'marco'</default>
+ <summary>If at all and if yes, which window manager to use.</summary>
+ </key>
<key name="xft-antialias" type="b">
<default>true</default>
<summary>Whether to antialias Xft fonts.</summary>
@@ -150,6 +159,16 @@
<default>false</default>
<summary>Whether to enable the onscreen keyboard.</summary>
</key>
+ <key name="magnifier-position" type="s">
+ <choices>
+ <choice value='top-left'/>
+ <choice value='top-right'/>
+ <choice value='centre-left'/>
+ <choice value='centre-right'/>
+ </choices>
+ <default>'centre-right'</default>
+ <summary>Position of the magnifier window.</summary>
+ </key>
<key name="magnifier" type="b">
<default>false</default>
<summary>Whether to enable the screen magnifier.</summary>
@@ -172,11 +191,23 @@
</key>
<key name="hidden-users" type="as">
<default>[]</default>
- <summary>List of usernames that are hidden until a special key combination is hit.</summary>
+ <summary>List of usernames that are hidden from the userlist until a special key combination is hit.</summary>
+ </key>
+ <key name="hidden-groups" type="as">
+ <default>[]</default>
+ <summary>List of user groups that are hidden from the userlist until a special key combination is hit.</summary>
+ </key>
+ <key name="user-filter" type="as">
+ <default>[]</default>
+ <summary>List of usernames that are to be shown in the userlist only.</summary>
+ </key>
+ <key name="user-filter-always" type="b">
+ <default>false</default>
+ <summary>Always filter-out users not listed in user-filter even if user-filter is empty.</summary>
</key>
<key name="group-filter" type="as">
<default>[]</default>
- <summary>List of groups that users must be part of to be shown (empty list shows all users).</summary>
+ <summary>List of groups that users must be part of to be shown in the userlist (empty list shows all users).</summary>
</key>
<key name="idle-timeout" type="i">
<default>300</default>
@@ -191,13 +222,17 @@
<default>'auto'</default>
<summary>Whether to enable HiDPI support</summary>
</key>
+ <key name="widget-scaling" type="d">
+ <default>1.0</default>
+ <summary>Scaling factor for UI elements (menubar, icons, promptboxes). Everything except from fonts.</summary>
+ </key>
<key name="font-scaling" type="d">
<default>1.0</default>
<summary>Scaling factor for fonts that can be used to adjust the greeter's font sizes.</summary>
</key>
<key name="menubar-alpha" type="d">
- <default>0.5</default>
- <summary>Alpha value for menubar, multiplied with the theme-provided transparency value. Not used in high contrast mode.</summary>
+ <default>0.3</default>
+ <summary>Alpha value for menubar. Not used in high contrast mode.</summary>
</key>
<key name="remote-service-configure-uri" type="s">
<default>''</default>
@@ -255,5 +290,81 @@
<default>true</default>
<summary>Whether to enable the GeoClue-2.0 agent (enhances ayatana-indicator-display).</summary>
</key>
+ <key name="content-align" type="s">
+ <choices>
+ <choice value='left'/>
+ <choice value='center'/>
+ <choice value='right'/>
+ </choices>
+ <default>'left'</default>
+ <summary>Alignment of the main content</summary>
+ </key>
+ <key name="dash-box-bgcolor" type="s">
+ <default>'#1A1A1A'</default>
+ <summary>The background color of the dash box in #RRGGBB format.</summary>
+ </key>
+ <key name="dash-box-opacity" type="d">
+ <range min="0.1" max="1.0"/>
+ <default>0.4</default>
+ <summary>The opacity of the dash box.</summary>
+ </key>
+ <key name="prompt-box-color-normal" type="s">
+ <default>'#ffffff'</default>
+ <summary>The normal text color of the prompt box in #RRGGBB format.</summary>
+ </key>
+ <key name="prompt-box-color-error" type="s">
+ <default>'#820900'</default>
+ <summary>The error text color of the prompt box in #RRGGBB format.</summary>
+ </key>
+ <key name="prompt-box-error-bg-opacity" type="d">
+ <range min="0.0" max="1.0"/>
+ <default>1.0</default>
+ <summary>The background opacity of the error message in the prompt box.</summary>
+ </key>
+ <key name="logo-position" type="s">
+ <choices>
+ <choice value='top-left'/>
+ <choice value='top-right'/>
+ <choice value='bottom-left'/>
+ <choice value='bottom-right'/>
+ </choices>
+ <default>'bottom-left'</default>
+ <summary>The position of the logo.</summary>
+ </key>
+ <key name="logo-offset-horizontal" type="i">
+ <default>2</default>
+ <summary>The horizontal offset of the logo from the edge of the screen in grid units.</summary>
+ </key>
+ <key name="logo-offset-vertical" type="i">
+ <default>1</default>
+ <summary>The vertical offset of the logo from the edge of the screen in grid units.</summary>
+ </key>
+ <key name="error-below-entry" type="b">
+ <default>false</default>
+ <summary>Whether to display the error label below the login entry.</summary>
+ </key>
+ <key name="menubar-bgcolor" type="s">
+ <default>''</default>
+ <summary>The background color of the menubar in #RRGGBB format. An empty string will attempt to use the OSD background of the theme.</summary>
+ </key>
+ <key name="background-position" type="s">
+ <choices>
+ <choice value='center'/>
+ <choice value='top-left'/>
+ <choice value='top-right'/>
+ <choice value='bottom-left'/>
+ <choice value='bottom-right'/>
+ </choices>
+ <default>'center'</default>
+ <summary>The position of the background image.</summary>
+ </key>
+ <key name="menubar-shadow-color" type="s">
+ <default>''</default>
+ <summary>The color of the menubar's shadow in #RRGGBB format. An empty string will attempt to use the OSD background of the theme.</summary>
+ </key>
+ <key name="menubar-shadow-alpha" type="d">
+ <default>0.3</default>
+ <summary>Opacity of the menubar's shadow.</summary>
+ </key>
</schema>
</schemalist>
diff --git a/debian/changelog b/debian/changelog
index d7f7f80..f312a9e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,129 @@
+arctica-greeter (0.99.9.4) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Mon, 26 May 2025 12:14:29 +0200
+
+arctica-greeter (0.99.9.3) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Fri, 23 May 2025 10:49:15 +0200
+
+arctica-greeter (0.99.9.2) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Thu, 15 May 2025 10:20:49 +0200
+
+arctica-greeter (0.99.9.1) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Mon, 05 May 2025 09:36:47 +0200
+
+arctica-greeter (0.99.9.0) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Wed, 30 Apr 2025 15:45:50 +0200
+
+arctica-greeter (0.99.8.11) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Mon, 28 Apr 2025 09:41:20 +0200
+
+arctica-greeter (0.99.8.10) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Thu, 24 Apr 2025 09:57:09 +0200
+
+arctica-greeter (0.99.8.9) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Tue, 08 Apr 2025 09:24:03 +0200
+
+arctica-greeter (0.99.8.8) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Tue, 01 Apr 2025 08:49:01 +0200
+
+arctica-greeter (0.99.8.7) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Mon, 31 Mar 2025 15:58:18 +0200
+
+arctica-greeter (0.99.8.6) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Wed, 26 Mar 2025 11:41:21 +0100
+
+arctica-greeter (0.99.8.5) unstable; urgency=medium
+
+ * Upstream-provided Debian package for arctica-greeter. See upstream
+ ChangeLog for recent changes.
+
+ -- UBports developers <developers@ubports.com> Tue, 25 Mar 2025 15:45:24 +0100
+
+arctica-greeter (0.99.8.4-0) unstable; urgency=medium
+
+ * Upstream-provided Debian package for Arctica Greeter.
+ See upstream ChangeLog for recent changes.
+
+ -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 09 Jul 2024 10:12:19 +0200
+
+arctica-greeter (0.99.8.3-0) unstable; urgency=medium
+
+ * Upstream-provided Debian package for Arctica Greeter.
+ See upstream ChangeLog for recent changes.
+
+ -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 19 Jun 2024 23:17:08 +0200
+
+arctica-greeter (0.99.8.2-0) unstable; urgency=medium
+
+ * Upstream-provided Debian package for Arctica Greeter.
+ See upstream ChangeLog for recent changes.
+
+ -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 18 Jun 2024 17:43:33 +0200
+
+arctica-greeter (0.99.8.1-0) unstable; urgency=medium
+
+ * Upstream-provided Debian package for Arctica Greeter.
+ See upstream ChangeLog for recent changes.
+
+ -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 18 Jun 2024 14:26:42 +0200
+
+arctica-greeter (0.99.8.0-0) unstable; urgency=medium
+
+ * Upstream-provided Debian package for Arctica Greeter.
+ See upstream ChangeLog for recent changes.
+
+ -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 18 Jun 2024 08:48:47 +0200
+
+arctica-greeter (0.99.6.0-0) unstable; urgency=medium
+
+ * Upstream-provided Debian package for Arctica Greeter.
+ See upstream ChangeLog for recent changes.
+
+ -- Mike Gabriel <sunweaver@debian.org> Mon, 08 Apr 2024 12:49:00 +0200
+
arctica-greeter (0.99.5.0-0) unstable; urgency=medium
* Upstream-provided Debian package for Arctica Greeter.
diff --git a/debian/control b/debian/control
index d692b47..51ecb9d 100644
--- a/debian/control
+++ b/debian/control
@@ -52,6 +52,7 @@ Recommends: ayatana-indicator-application,
ayatana-indicator-power,
ayatana-indicator-session,
ayatana-indicator-sound,
+ marco,
network-manager-gnome,
xinput,
numlockx,
diff --git a/po/bs.po b/po/bs.po
index d5786af..aefcd42 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -8,17 +8,17 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:13+0200\n"
-"PO-Revision-Date: 2019-08-28 11:24+0000\n"
-"Last-Translator: leela <53352@protonmail.com>\n"
-"Language-Team: Bosnian <https://hosted.weblate.org/projects/arctica-"
-"framework/greeter/bs/>\n"
+"PO-Revision-Date: 2024-11-18 13:42+0000\n"
+"Last-Translator: AbdurahmanKarisik <abdurahman.karisik@gmail.com>\n"
+"Language-Team: Bosnian <https://hosted.weblate.org/projects/"
+"arctica-framework/greeter/bs/>\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.9-dev\n"
+"X-Generator: Weblate 5.9-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -28,7 +28,7 @@ msgstr "Unesite šifru za %s"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "Unesite korisničko ime"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -36,20 +36,19 @@ msgstr "Lozinka:"
#: ../src/greeter-list.vala:842 ../src/user-list.vala:755
msgid "Username:"
-msgstr ""
+msgstr "Korisničko ime:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "Pogrešna lozinka, molimo pokušajte ponovo"
+msgstr "Pogrešno korisničko ime ili lozinka, molimo pokušajte ponovo"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
-msgstr ""
+msgstr "Neuspješna autentifikacija"
#: ../src/greeter-list.vala:965
msgid "Failed to start session"
-msgstr "Neuspjelo pokretanje sesije"
+msgstr "Neuspješno pokretanje sesije"
#: ../src/greeter-list.vala:979
msgid "Logging in…"
@@ -57,7 +56,7 @@ msgstr "Prijavljujem se…"
#: ../src/main-window.vala:56
msgid "Login Screen"
-msgstr ""
+msgstr "Ekran za prijavljivanje"
#: ../src/main-window.vala:107
msgid "Back"
@@ -106,15 +105,15 @@ msgstr "Ponovo pokreni"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "Izvršavanje odabrane radnje sada."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Čekanje još %u sekundu prije izvršavanja odabrane akcije…"
+msgstr[1] "Čekanje još %u sekunde prije izvršavanja odabrane akcije…"
+msgstr[2] "Čekanje još %u sekundi prije izvršavanja odabrane akcije…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -125,17 +124,18 @@ msgstr "%s (podrazumijevano)"
#. Help string for command line --version flag
#: ../src/arctica-greeter.vala:994
msgid "Show release version"
-msgstr ""
+msgstr "Prikaži verziju izdanja"
#. Help string for command line --test-mode flag
#: ../src/arctica-greeter.vala:997
msgid "Run in test mode"
-msgstr "Pokreni u testnom režimu"
+msgstr "Pokreni u režimu testiranja"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
msgstr ""
+"Pokreni u režimu testiranja sa a11y visokom kontrastnom temom uključenom"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -146,11 +146,11 @@ msgstr ""
#: ../src/arctica-greeter.vala:1029
#, c-format
msgid "Run '%s --help' to see a full list of available command line options."
-msgstr ""
+msgstr "Pokreni '%s --help' da bi vidio sve moguće opcije komandnih linija."
#: ../src/user-list.vala:49
msgid "Guest Session"
-msgstr ""
+msgstr "Gostujuća sesija"
#: ../src/user-list.vala:480
msgid "Please enter a complete e-mail address"
@@ -177,7 +177,7 @@ msgstr "Odustani"
#: ../src/user-list.vala:607
msgid "Set Up…"
-msgstr "Postavi..."
+msgstr "Postavi…"
#: ../src/user-list.vala:609
#, fuzzy
@@ -216,7 +216,7 @@ msgstr "Vrsta servera nije podržana"
#: ../src/user-list.vala:767
msgid "X2Go Session:"
-msgstr ""
+msgstr "X2Go Sesija:"
#: ../src/user-list.vala:787
msgid "Domain:"
@@ -229,16 +229,16 @@ msgstr ""
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
msgid "Log In"
-msgstr ""
+msgstr "Prijavite se"
#: ../src/user-list.vala:899
#, c-format
msgid "Login as %s"
-msgstr ""
+msgstr "Prijavite se kao %s"
#: ../src/user-list.vala:903
msgid "Retry"
-msgstr "Pokušaj Ponovo"
+msgstr "Pokušajte Ponovo"
#: ../src/user-list.vala:904
#, c-format
@@ -252,7 +252,7 @@ msgstr "Prijava"
#: ../arctica-greeter-guest-session-auto.sh:35
#, sh-format
msgid "Temporary Guest Session"
-msgstr ""
+msgstr "Privremena Gostujuća Sesija"
#: ../arctica-greeter-guest-session-auto.sh:36
#, sh-format
@@ -262,6 +262,10 @@ msgid ""
"Please save files on some external device, for instance a\n"
"USB stick, if you would like to access them again later."
msgstr ""
+"Svi podaci kreirani tokom ove gostujuće sesije bit će izbrisani \n"
+"kada se odjavite, a postavke će biti vraćene na zadane. \n"
+"Molimo vas da sačuvate fajlove na nekom eksternom uređaju, na primjer \n"
+"USB sticku, ako želite da im ponovo pristupite kasnije."
#: ../arctica-greeter-guest-session-auto.sh:40
#, sh-format
@@ -269,10 +273,12 @@ msgid ""
"Another alternative is to save files in the\n"
"/var/guest-data folder."
msgstr ""
+"Druga alternativa je da sačuvate fajlove u folderu\n"
+" /var/guest-data."
#: ../data/arctica-greeter.desktop.in.h:1
msgid "Arctica Greeter"
-msgstr ""
+msgstr "Arctica Greeter"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:1
msgid ""
diff --git a/po/el.po b/po/el.po
index 251504b..ba1dcc6 100644
--- a/po/el.po
+++ b/po/el.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:13+0200\n"
-"PO-Revision-Date: 2021-02-09 16:50+0000\n"
-"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
+"PO-Revision-Date: 2025-04-24 14:06+0000\n"
+"Last-Translator: GiannosOB <giannos2105@gmail.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/arctica-framework/"
"greeter/el/>\n"
"Language: el\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.5-dev\n"
+"X-Generator: Weblate 5.11.1-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -27,7 +27,7 @@ msgstr "Εισάγετε κωδικό για %s"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "Εισάγετε το όνομα χρήστη σας"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -38,9 +38,8 @@ msgid "Username:"
msgstr "Όνομα χρήστη:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "Λανθασμένος κωδικός, παρακαλώ δοκιμάστε ξανά"
+msgstr "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης, δοκιμάστε ξανά"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
@@ -105,14 +104,17 @@ msgstr "Επανεκκίνηση"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "Εκτέλεση της επιλεγμένης ενέργειας τώρα."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
msgstr[0] ""
+"Αναμονή ενός ακόμη δευτερολέπτου πριν από την εκτέλεση της επιλεγμένης "
+"ενέργειας …"
msgstr[1] ""
+"Αναμονή %u δευτερολέπτων πριν από την εκτέλεση της επιλεγμένης ενέργειας …"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -134,6 +136,8 @@ msgstr "Εκτέλεση σε λειτουργία δοκιμής"
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
msgstr ""
+"Εκτέλεση σε δοκιμαστική λειτουργία με ενεργοποιημένο το θέμα υψηλής "
+"αντίθεσης a11y"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -184,8 +188,8 @@ msgid ""
"You need a Remote Logon account to use this service. Would you like to set "
"up an account now?"
msgstr ""
-"Χρειάζεστε ένα λογαριασμό Απομακρυσμένης σύνδεσης για να χρησιμοποιήσετε "
-"αυτή την υπηρεσία. Θα θέλατε να δημιουργήσετε ένα λογαριασμό τώρα;"
+"Χρειάζεστε έναν λογαριασμό απομακρυσμένης σύνδεσης για να χρησιμοποιήσετε "
+"αυτή την υπηρεσία. Θα θέλατε να δημιουργήσετε έναν λογαριασμό τώρα;"
#: ../src/user-list.vala:613
msgid "OK"
@@ -273,8 +277,8 @@ msgid ""
"Another alternative is to save files in the\n"
"/var/guest-data folder."
msgstr ""
-"Μία εναλλακτική λύση είναι να αποθηκεύσετε τα αρχεία στον φάκελο /var/guest-"
-"data."
+"Μια άλλη εναλλακτική λύση είναι να αποθηκεύετε αρχεία στο\n"
+"/var/guest-data."
#: ../data/arctica-greeter.desktop.in.h:1
msgid "Arctica Greeter"
@@ -284,260 +288,315 @@ msgstr "Arctica Greeter"
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
msgstr ""
+"Αρχείο εικόνας φόντου που θέλετε να χρησιμοποιήσετε, είτε μια διαδρομή "
+"εικόνας είτε ένα χρώμα (π.χ. #772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
msgstr ""
+"Χρώμα φόντου (π.χ. #772953), που ορίζεται πριν από την εμφάνιση της "
+"ταπετσαρίας."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
-msgstr ""
+msgstr "Χρώμα φόντου (π.χ. #000000 ή #FFFFFF) για λειτουργία υψηλής αντίθεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
"Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-"
"selected session names in the session list."
msgstr ""
+"Χρώμα προσκηνίου γραμματοσειράς (π.χ. #A0A0A0) για τα ονόματα μη ενεργών/"
+"υπερυψωμένων και μη επιλεγμένων συνόδων στη λίστα συνόδων."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:5
msgid ""
"Font foreground color (e.g. #A0A0A0) for the active/hovered-above session "
"name in the session list."
msgstr ""
+"Χρώμα προσκηνίου γραμματοσειράς (π.χ. #A0A0A0) για το όνομα της ενεργής/"
+"υπέρτατης συνεδρίας στη λίστα συνεδριών."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:6
msgid ""
"Font foreground color (e.g. #A0A0A0) for the selected session name in the "
"session list."
msgstr ""
+"Χρώμα προσκηνίου γραμματοσειράς (π.χ. #A0A0A0) για το επιλεγμένο όνομα "
+"συνεδρίας στη λίστα συνεδριών."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:7
msgid ""
"Background color (e.g. #391C31) for non-active/-hovered and non-selected "
"session names in the session list."
msgstr ""
+"Χρώμα φόντου (π.χ. #391C31) για τα ονόματα μη ενεργών/υπερυψωμένων και μη "
+"επιλεγμένων συνόδων στη λίστα συνόδων."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:8
msgid ""
"Background color (e.g. #391C31) for the active/hovered-above session name in "
"the session list."
msgstr ""
+"Χρώμα φόντου (π.χ. #391C31) για το όνομα της ενεργής/υπέρτατης συνεδρίας στη "
+"λίστα συνεδριών."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:9
msgid ""
"Background color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Χρώμα φόντου (π.χ. #391C31) για το επιλεγμένο όνομα συνεδρίας στη λίστα "
+"συνεδριών."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:10
msgid ""
"Border color (e.g. #391C31) for non-active/-hovered and non-selected session "
"names in the session list."
msgstr ""
+"Χρώμα περιθωρίου (π.χ. #391C31) για τα ονόματα μη ενεργών/υπερυψωμένων και "
+"μη επιλεγμένων συνόδων στη λίστα συνόδων."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:11
msgid ""
"Border color (e.g. #391C31) for the active/hovered-above session name in the "
"session list."
msgstr ""
+"Χρώμα περιθωρίου (π.χ. #391C31) για το ενεργό/υπέρτατο όνομα συνεδρίας στη "
+"λίστα συνεδριών."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:12
msgid ""
"Border color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Χρώμα περιθωρίου (π.χ. #391C31) για το επιλεγμένο όνομα συνεδρίας στη λίστα "
+"συνεδριών."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:13
msgid ""
"Background color (e.g. #391C31) of flat buttons (e.g. the session chooser "
"icon)."
msgstr ""
+"Χρώμα φόντου (π.χ. #391C31) των επίπεδων κουμπιών (π.χ. το εικονίδιο "
+"επιλογής συνεδρίας)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:14
msgid ""
"Border color (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
msgstr ""
+"Χρώμα περιγράμματος (π.χ. #391C31) των επίπεδων κουμπιών (π.χ. το εικονίδιο "
+"επιλογής συνεδρίας)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:15
msgid "Determines how the background image is rendered."
-msgstr ""
+msgstr "Καθορίζει τον τρόπο απόδοσης της εικόνας φόντου."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "Αν θα σχεδιάζονται φόντα χρηστών."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
-msgstr ""
+msgstr "Εάν θέλετε να σχεδιάσετε ένα πλέγμα επικάλυψης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:18
msgid "Whether to show the hostname in the menubar."
-msgstr ""
+msgstr "Εάν θα εμφανίζεται το όνομα κεντρικού υπολογιστή στη γραμμή μενού."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:19
msgid ""
"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
msgstr ""
+"Αν θα εμφανίζονται οι ετικέτες 'Όνομα χρήστη:' και 'Κωδικός πρόσβασης:' "
+"(κ.λπ.) στο πλαίσιο σύνδεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "Αρχείο λογότυπου προς χρήση."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
-msgstr ""
+msgstr "Τιμή άλφα για την ανάμειξη του λογότυπου στο φόντο."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "Θέμα GTK+ για χρήση."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
-msgstr ""
+msgstr "Θέμα GTK+ για χρήση σε λειτουργία υψηλής αντίθεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "Θέμα εικονιδίων για χρήση."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
-msgstr ""
+msgstr "Θέμα εικονιδίων για χρήση σε λειτουργία υψηλής αντίθεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "Θέμα δρομέα για χρήση."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
-msgstr ""
+msgstr "Μέγεθος που χρησιμοποιείται για τους δρομείς."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "Γραμματοσειρά προς χρήση."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
-msgstr ""
+msgstr "Αν θέλετε να κάνετε antialias στις γραμματοσειρές Xft."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:30
msgid "Resolution for Xft in dots per inch."
-msgstr ""
+msgstr "Ανάλυση για το Xft σε κουκκίδες ανά ίντσα."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:31
msgid "What degree of hinting to use."
-msgstr ""
+msgstr "Ποιος βαθμός υπαινιγμού πρέπει να χρησιμοποιηθεί."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
-msgstr ""
+msgstr "Τύπος αντιδιαστολής υποεικονοστοιχείων."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:33
msgid "Whether to enable the onscreen keyboard."
-msgstr ""
+msgstr "Ενεργοποίηση του πληκτρολογίου οθόνης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:34
msgid "Whether to use a high contrast theme."
-msgstr ""
+msgstr "Αν θα χρησιμοποιήσετε ένα θέμα υψηλής αντίθεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:35
msgid "Whether to enable the screen reader."
-msgstr ""
+msgstr "Εάν θέλετε να ενεργοποιήσετε το πρόγραμμα ανάγνωσης οθόνης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:36
msgid "Whether to play sound when greeter is ready."
-msgstr ""
+msgstr "Αν θα αναπαράγεται ήχος όταν ο χαιρετιστής είναι έτοιμος."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
-msgstr ""
+msgstr "Ποιους δείκτες να φορτώσετε."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:38
msgid ""
"List of usernames that are hidden until a special key combination is hit."
msgstr ""
+"Λίστα με ονόματα χρηστών που είναι κρυμμένα μέχρι να πατηθεί ένας ειδικός "
+"συνδυασμός πλήκτρων."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:39
msgid ""
"List of groups that users must be part of to be shown (empty list shows all "
"users)."
msgstr ""
+"Λίστα των ομάδων στις οποίες πρέπει να ανήκουν οι χρήστες για να "
+"εμφανίζονται (η κενή λίστα εμφανίζει όλους τους χρήστες)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:40
msgid ""
"Number of seconds of inactivity before blanking the screen. Set to 0 to "
"never timeout."
msgstr ""
+"Αριθμός δευτερολέπτων αδράνειας πριν από το σβήσιμο της οθόνης. Ορίστε την "
+"τιμή 0 για να μην υπάρχει ποτέ timeout."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "Ενεργοποίηση της υποστήριξης HiDPI"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
msgstr ""
+"Συντελεστής κλιμάκωσης για γραμματοσειρές που μπορεί να χρησιμοποιηθεί για "
+"την προσαρμογή των μεγεθών γραμματοσειράς του χαιρετιστή."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:43
msgid ""
"Alpha value for menubar, multiplied with the theme-provided transparency "
"value. Not used in high contrast mode."
msgstr ""
+"Τιμή άλφα για τη γραμμή μενού, πολλαπλασιασμένη με την τιμή διαφάνειας που "
+"παρέχεται από το θέμα. Δεν χρησιμοποιείται σε λειτουργία υψηλής αντίθεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:44
msgid "Default FQDN for host offering Remote Logon Service."
msgstr ""
+"Προεπιλεγμένο FQDN για τον κεντρικό υπολογιστή που προσφέρει την υπηρεσία "
+"απομακρυσμένης σύνδεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:45
msgid ""
"Whether to activate numlock. This features requires the installation of "
"numlockx."
msgstr ""
+"Εάν θα ενεργοποιηθεί το numlock. Αυτή η λειτουργία απαιτεί την εγκατάσταση "
+"του numlockx."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:46
msgid "Monitor on which to show the Login GUI."
-msgstr ""
+msgstr "Οθόνη στην οποία θα εμφανιστεί το γραφικό περιβάλλον σύνδεσης."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:47
msgid ""
"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*."
"onboard for available layout names)."
msgstr ""
+"Όνομα της διάταξης πληκτρολογίου οθόνης (δείτε /usr/share/onboard/layouts/*"
+".onboard για τα διαθέσιμα ονόματα διάταξης)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:48
msgid ""
"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
"for available theme names)."
msgstr ""
+"Όνομα του θέματος του πληκτρολογίου οθόνης (δείτε /usr/share/onboard/themes/*"
+".theme για τα διαθέσιμα ονόματα θεμάτων)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:49
msgid ""
"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
"share/onboard/themes/*.theme for available theme names)."
msgstr ""
+"Όνομα του θέματος του πληκτρολογίου οθόνης όταν βρίσκεται σε λειτουργία "
+"υψηλής αντίθεσης (δείτε /usr/share/onboard/themes/*.theme για τα διαθέσιμα "
+"ονόματα θεμάτων)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:50
msgid "Whether to hide the 'lightdm-xsession' default X11 session type."
msgstr ""
+"Εάν θέλετε να αποκρύψετε τον προεπιλεγμένο τύπο συνόδου X11 'lightdm-"
+"xsession'."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:51
msgid "Whether to hide X11 sessions."
-msgstr ""
+msgstr "Εάν θέλετε να αποκρύψετε συνεδρίες X11."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:52
msgid "Whether to hide Wayland sessions."
-msgstr ""
+msgstr "Εάν θέλετε να αποκρύψετε συνεδρίες Wayland."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:53
msgid ""
"Ordered list of preferred desktop sessions (for detecting the default "
"session type)."
msgstr ""
+"Ταξινομημένος κατάλογος προτιμώμενων συνόδων εργασίας (για τον εντοπισμό του "
+"προεπιλεγμένου τύπου συνόδου)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:54
msgid ""
"Time in seconds until the shutdown dialog forcefully selects the default "
"action. Set to 0 to disable."
msgstr ""
+"Χρόνος σε δευτερόλεπτα έως ότου το παράθυρο διαλόγου τερματισμού επιλέξει "
+"αναγκαστικά την προεπιλεγμένη ενέργεια. Ορίστε την τιμή 0 για απενεργοποίηση."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:55
msgid ""
@@ -545,6 +604,10 @@ msgid ""
"explicitly listed sessions types will be offered by the greeter). Takes "
"precedence over the excluded-sessions list."
msgstr ""
+"Μη διατεταγμένη λίστα των συνόδων επιφάνειας εργασίας που περιλαμβάνουν μόνο "
+"τις συνεδρίες (αν δεν είναι κενές, μόνο οι τύποι συνεδριών που αναφέρονται "
+"ρητά θα προσφερθούν από την υπηρεσία υποδοχής). Έχει προτεραιότητα έναντι "
+"της λίστας excluded-sessions."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:56
msgid ""
@@ -552,6 +615,9 @@ msgid ""
"types will not be offered by the greeter). Only used if includeonly-sessions "
"is empty."
msgstr ""
+"Μη διατεταγμένη λίστα των αποκλεισμένων συνόδων γραφείου (αν δεν είναι κενή, "
+"οι τύποι συνόδων που παρατίθενται δεν θα προσφέρονται από την υπηρεσία "
+"υποδοχής). Χρησιμοποιείται μόνο αν το includeonly-sessions είναι κενό."
#~ msgid "Onscreen keyboard"
#~ msgstr "Πληκτρολόγιο οθόνης"
diff --git a/po/en_CA.po b/po/en_CA.po
index 226ed06..602a3a2 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:13+0200\n"
-"PO-Revision-Date: 2019-08-28 11:24+0000\n"
-"Last-Translator: Swann Martinet <swann.ranskassa@laposte.net>\n"
-"Language-Team: English (Canada) <https://hosted.weblate.org/projects/arctica-"
-"framework/greeter/en_CA/>\n"
+"PO-Revision-Date: 2024-12-17 17:32+0000\n"
+"Last-Translator: Distant Prince <distantprinceca@gmail.com>\n"
+"Language-Team: English (Canada) <https://hosted.weblate.org/projects/"
+"arctica-framework/greeter/en_CA/>\n"
"Language: en_CA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.9-dev\n"
+"X-Generator: Weblate 5.9.2-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -26,9 +26,8 @@ msgid "Enter password for %s"
msgstr "Enter password for %s"
#: ../src/greeter-list.vala:308
-#, fuzzy
msgid "Enter your username"
-msgstr "Enter username"
+msgstr "Enter your username"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -39,9 +38,8 @@ msgid "Username:"
msgstr "Username:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "Invalid password, please try again"
+msgstr "Invalid username or password, please try again"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
@@ -88,7 +86,6 @@ msgid ""
"Other users are currently logged in to this computer, shutting down now will "
"also close these other sessions."
msgstr ""
-"Copy text \t\r\n"
"Other users are currently logged in to this computer, shutting down now will "
"also close these other sessions."
@@ -107,14 +104,14 @@ msgstr "Restart"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "Executing selected action now."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Waiting one more second before executing selected action …"
+msgstr[1] "Waiting %u seconds before executing selected action …"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -135,7 +132,7 @@ msgstr "Run in test mode"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
-msgstr ""
+msgstr "Run in test mode with a11y highcontrast theme enabled"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -281,260 +278,304 @@ msgstr "- Arctica Greeter"
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
msgstr ""
+"Background image file to use, either an image path or a colour (e.g. "
+"#772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
-msgstr ""
+msgstr "Background colour (e.g. #772953), set before wallpaper is seen."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
-msgstr ""
+msgstr "Background colour (e.g. #000000 or #FFFFFF) for high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
"Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-"
"selected session names in the session list."
msgstr ""
+"Font foreground colour (e.g. #A0A0A0) for non-active/-hovered and non-"
+"selected session names in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:5
msgid ""
"Font foreground color (e.g. #A0A0A0) for the active/hovered-above session "
"name in the session list."
msgstr ""
+"Font foreground colour (e.g. #A0A0A0) for the active/hovered-above session "
+"name in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:6
msgid ""
"Font foreground color (e.g. #A0A0A0) for the selected session name in the "
"session list."
msgstr ""
+"Font foreground colour (e.g. #A0A0A0) for the selected session name in the "
+"session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:7
msgid ""
"Background color (e.g. #391C31) for non-active/-hovered and non-selected "
"session names in the session list."
msgstr ""
+"Background colour (e.g. #391C31) for non-active/-hovered and non-selected "
+"session names in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:8
msgid ""
"Background color (e.g. #391C31) for the active/hovered-above session name in "
"the session list."
msgstr ""
+"Background colour (e.g. #391C31) for the active/hovered-above session name "
+"in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:9
msgid ""
"Background color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Background colour (e.g. #391C31) for the selected session name in the "
+"session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:10
msgid ""
"Border color (e.g. #391C31) for non-active/-hovered and non-selected session "
"names in the session list."
msgstr ""
+"Border colour (e.g. #391C31) for non-active/-hovered and non-selected "
+"session names in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:11
msgid ""
"Border color (e.g. #391C31) for the active/hovered-above session name in the "
"session list."
msgstr ""
+"Border colour (e.g. #391C31) for the active/hovered-above session name in "
+"the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:12
msgid ""
"Border color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Border colour (e.g. #391C31) for the selected session name in the session "
+"list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:13
msgid ""
"Background color (e.g. #391C31) of flat buttons (e.g. the session chooser "
"icon)."
msgstr ""
+"Background colour (e.g. #391C31) of flat buttons (e.g. the session chooser "
+"icon)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:14
msgid ""
"Border color (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
msgstr ""
+"Border colour (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:15
msgid "Determines how the background image is rendered."
-msgstr ""
+msgstr "Determines how the background image is rendered."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "Whether to draw user backgrounds."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
-msgstr ""
+msgstr "Whether to draw an overlay grid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:18
msgid "Whether to show the hostname in the menubar."
-msgstr ""
+msgstr "Whether to show the hostname in the menubar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:19
msgid ""
"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
msgstr ""
+"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "Logo file to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
-msgstr ""
+msgstr "Alpha value for blending the logo onto the background."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "GTK+ theme to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
-msgstr ""
+msgstr "GTK+ theme to use in high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "Icon theme to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
-msgstr ""
+msgstr "Icon theme to use in high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "Cursor theme to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
-msgstr ""
+msgstr "Size to use for cursors."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "Font to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
-msgstr ""
+msgstr "Whether to antialias Xft fonts."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:30
msgid "Resolution for Xft in dots per inch."
-msgstr ""
+msgstr "Resolution for Xft in dots per inch."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:31
msgid "What degree of hinting to use."
-msgstr ""
+msgstr "What degree of hinting to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
-msgstr ""
+msgstr "Type of subpixel antialiasing."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:33
msgid "Whether to enable the onscreen keyboard."
-msgstr ""
+msgstr "Whether to enable the onscreen keyboard."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:34
msgid "Whether to use a high contrast theme."
-msgstr ""
+msgstr "Whether to use a high contrast theme."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:35
msgid "Whether to enable the screen reader."
-msgstr ""
+msgstr "Whether to enable the screen reader."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:36
msgid "Whether to play sound when greeter is ready."
-msgstr ""
+msgstr "Whether to play sound when greeter is ready."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
-msgstr ""
+msgstr "Which indicators to load."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:38
msgid ""
"List of usernames that are hidden until a special key combination is hit."
msgstr ""
+"List of usernames that are hidden until a special key combination is hit."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:39
msgid ""
"List of groups that users must be part of to be shown (empty list shows all "
"users)."
msgstr ""
+"List of groups that users must be part of to be shown (empty list shows all "
+"users)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:40
msgid ""
"Number of seconds of inactivity before blanking the screen. Set to 0 to "
"never timeout."
msgstr ""
+"Number of seconds of inactivity before blanking the screen. Set to 0 to "
+"never timeout."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "Whether to enable HiDPI support"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
msgstr ""
+"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:43
msgid ""
"Alpha value for menubar, multiplied with the theme-provided transparency "
"value. Not used in high contrast mode."
msgstr ""
+"Alpha value for menubar, multiplied with the theme-provided transparency "
+"value. Not used in high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:44
msgid "Default FQDN for host offering Remote Logon Service."
-msgstr ""
+msgstr "Default FQDN for host offering Remote Logon Service."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:45
msgid ""
"Whether to activate numlock. This features requires the installation of "
"numlockx."
msgstr ""
+"Whether to activate numlock. This features requires the installation of "
+"numlockx."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:46
msgid "Monitor on which to show the Login GUI."
-msgstr ""
+msgstr "Monitor on which to show the Login GUI."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:47
msgid ""
"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*."
"onboard for available layout names)."
msgstr ""
+"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*"
+".onboard for available layout names)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:48
msgid ""
"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
"for available theme names)."
msgstr ""
+"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
+"for available theme names)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:49
msgid ""
"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
"share/onboard/themes/*.theme for available theme names)."
msgstr ""
+"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
+"share/onboard/themes/*.theme for available theme names)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:50
msgid "Whether to hide the 'lightdm-xsession' default X11 session type."
-msgstr ""
+msgstr "Whether to hide the 'lightdm-xsession' default X11 session type."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:51
msgid "Whether to hide X11 sessions."
-msgstr ""
+msgstr "Whether to hide X11 sessions."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:52
msgid "Whether to hide Wayland sessions."
-msgstr ""
+msgstr "Whether to hide Wayland sessions."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:53
msgid ""
"Ordered list of preferred desktop sessions (for detecting the default "
"session type)."
msgstr ""
+"Ordered list of preferred desktop sessions (for detecting the default "
+"session type)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:54
msgid ""
"Time in seconds until the shutdown dialog forcefully selects the default "
"action. Set to 0 to disable."
msgstr ""
+"Time in seconds until the shutdown dialog forcefully selects the default "
+"action. Set to 0 to disable."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:55
msgid ""
@@ -542,6 +583,9 @@ msgid ""
"explicitly listed sessions types will be offered by the greeter). Takes "
"precedence over the excluded-sessions list."
msgstr ""
+"Unordered list of include-only desktop sessions (if non-empty, only "
+"explicitly listed sessions types will be offered by the greeter). Takes "
+"precedence over the excluded-sessions list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:56
msgid ""
@@ -549,6 +593,9 @@ msgid ""
"types will not be offered by the greeter). Only used if includeonly-sessions "
"is empty."
msgstr ""
+"Unordered list of excluded desktop sessions (if non-empty, listed sessions "
+"types will not be offered by the greeter). Only used if includeonly-sessions "
+"is empty."
#~ msgid "Onscreen keyboard"
#~ msgstr "Onscreen keyboard"
diff --git a/po/en_GB.po b/po/en_GB.po
index 0db1058..0801069 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:13+0200\n"
-"PO-Revision-Date: 2023-02-10 22:38+0000\n"
+"PO-Revision-Date: 2024-07-06 17:09+0000\n"
"Last-Translator: Andi Chandler <andi@gowling.com>\n"
"Language-Team: English (United Kingdom) <https://hosted.weblate.org/projects/"
"arctica-framework/greeter/en_GB/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.16-dev\n"
+"X-Generator: Weblate 5.7-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -38,9 +38,8 @@ msgid "Username:"
msgstr "Username:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "Invalid password, please try again"
+msgstr "Invalid username or password, please try again"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
@@ -105,14 +104,14 @@ msgstr "Restart"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "Executing selected action now."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Waiting one more second before executing selected action …"
+msgstr[1] "Waiting %u seconds before executing selected action …"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -133,7 +132,7 @@ msgstr "Run in test mode"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
-msgstr ""
+msgstr "Run in test mode with a11y highcontrast theme enabled"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -279,260 +278,304 @@ msgstr "Arctica Greeter"
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
msgstr ""
+"Background image file to use, either an image path or a colour (e.g. "
+"#772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
-msgstr ""
+msgstr "Background colour (e.g. #772953), set before wallpaper is seen."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
-msgstr ""
+msgstr "Background colour (e.g. #000000 or #FFFFFF) for high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
"Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-"
"selected session names in the session list."
msgstr ""
+"Font foreground colour (e.g. #A0A0A0) for non-active/-hovered and non-"
+"selected session names in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:5
msgid ""
"Font foreground color (e.g. #A0A0A0) for the active/hovered-above session "
"name in the session list."
msgstr ""
+"Font foreground colour (e.g. #A0A0A0) for the active/hovered-above session "
+"name in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:6
msgid ""
"Font foreground color (e.g. #A0A0A0) for the selected session name in the "
"session list."
msgstr ""
+"Font foreground colour (e.g. #A0A0A0) for the selected session name in the "
+"session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:7
msgid ""
"Background color (e.g. #391C31) for non-active/-hovered and non-selected "
"session names in the session list."
msgstr ""
+"Background colour (e.g. #391C31) for non-active/-hovered and non-selected "
+"session names in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:8
msgid ""
"Background color (e.g. #391C31) for the active/hovered-above session name in "
"the session list."
msgstr ""
+"Background colour (e.g. #391C31) for the active/hovered-above session name "
+"in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:9
msgid ""
"Background color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Background colour (e.g. #391C31) for the selected session name in the "
+"session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:10
msgid ""
"Border color (e.g. #391C31) for non-active/-hovered and non-selected session "
"names in the session list."
msgstr ""
+"Border colour (e.g. #391C31) for non-active/-hovered and non-selected "
+"session names in the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:11
msgid ""
"Border color (e.g. #391C31) for the active/hovered-above session name in the "
"session list."
msgstr ""
+"Border colour (e.g. #391C31) for the active/hovered-above session name in "
+"the session list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:12
msgid ""
"Border color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Border colour (e.g. #391C31) for the selected session name in the session "
+"list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:13
msgid ""
"Background color (e.g. #391C31) of flat buttons (e.g. the session chooser "
"icon)."
msgstr ""
+"Background colour (e.g. #391C31) of flat buttons (e.g. the session chooser "
+"icon)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:14
msgid ""
"Border color (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
msgstr ""
+"Border colour (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:15
msgid "Determines how the background image is rendered."
-msgstr ""
+msgstr "Determines how the background image is rendered."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "Whether to draw user backgrounds."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
-msgstr ""
+msgstr "Whether to draw an overlay grid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:18
msgid "Whether to show the hostname in the menubar."
-msgstr ""
+msgstr "Whether to show the hostname in the menubar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:19
msgid ""
"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
msgstr ""
+"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "Logo file to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
-msgstr ""
+msgstr "Alpha value for blending the logo onto the background."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "GTK+ theme to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
-msgstr ""
+msgstr "GTK+ theme to use in high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "Icon theme to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
-msgstr ""
+msgstr "Icon theme to use in high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "Cursor theme to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
-msgstr ""
+msgstr "Size to use for cursors."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "Font to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
-msgstr ""
+msgstr "Whether to antialias Xft fonts."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:30
msgid "Resolution for Xft in dots per inch."
-msgstr ""
+msgstr "Resolution for Xft in dots per inch."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:31
msgid "What degree of hinting to use."
-msgstr ""
+msgstr "What degree of hinting to use."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
-msgstr ""
+msgstr "Type of subpixel antialiasing."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:33
msgid "Whether to enable the onscreen keyboard."
-msgstr ""
+msgstr "Whether to enable the onscreen keyboard."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:34
msgid "Whether to use a high contrast theme."
-msgstr ""
+msgstr "Whether to use a high contrast theme."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:35
msgid "Whether to enable the screen reader."
-msgstr ""
+msgstr "Whether to enable the screen reader."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:36
msgid "Whether to play sound when greeter is ready."
-msgstr ""
+msgstr "Whether to play sound when greeter is ready."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
-msgstr ""
+msgstr "Which indicators to load."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:38
msgid ""
"List of usernames that are hidden until a special key combination is hit."
msgstr ""
+"List of usernames that are hidden until a special key combination is hit."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:39
msgid ""
"List of groups that users must be part of to be shown (empty list shows all "
"users)."
msgstr ""
+"List of groups that users must be part of to be shown (empty list shows all "
+"users)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:40
msgid ""
"Number of seconds of inactivity before blanking the screen. Set to 0 to "
"never timeout."
msgstr ""
+"Number of seconds of inactivity before blanking the screen. Set to 0 to "
+"never timeout."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "Whether to enable HiDPI support"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
msgstr ""
+"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:43
msgid ""
"Alpha value for menubar, multiplied with the theme-provided transparency "
"value. Not used in high contrast mode."
msgstr ""
+"Alpha value for menubar, multiplied with the theme-provided transparency "
+"value. Not used in high contrast mode."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:44
msgid "Default FQDN for host offering Remote Logon Service."
-msgstr ""
+msgstr "Default FQDN for host offering Remote Logon Service."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:45
msgid ""
"Whether to activate numlock. This features requires the installation of "
"numlockx."
msgstr ""
+"Whether to activate numlock. This features requires the installation of "
+"numlockx."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:46
msgid "Monitor on which to show the Login GUI."
-msgstr ""
+msgstr "Monitor on which to show the Login GUI."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:47
msgid ""
"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*."
"onboard for available layout names)."
msgstr ""
+"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*."
+"onboard for available layout names)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:48
msgid ""
"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
"for available theme names)."
msgstr ""
+"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
+"for available theme names)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:49
msgid ""
"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
"share/onboard/themes/*.theme for available theme names)."
msgstr ""
+"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
+"share/onboard/themes/*.theme for available theme names)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:50
msgid "Whether to hide the 'lightdm-xsession' default X11 session type."
-msgstr ""
+msgstr "Whether to hide the 'lightdm-xsession' default X11 session type."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:51
msgid "Whether to hide X11 sessions."
-msgstr ""
+msgstr "Whether to hide X11 sessions."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:52
msgid "Whether to hide Wayland sessions."
-msgstr ""
+msgstr "Whether to hide Wayland sessions."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:53
msgid ""
"Ordered list of preferred desktop sessions (for detecting the default "
"session type)."
msgstr ""
+"Ordered list of preferred desktop sessions (for detecting the default "
+"session type)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:54
msgid ""
"Time in seconds until the shutdown dialog forcefully selects the default "
"action. Set to 0 to disable."
msgstr ""
+"Time in seconds until the shutdown dialogue forcefully selects the default "
+"action. Set to 0 to disable."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:55
msgid ""
@@ -540,6 +583,9 @@ msgid ""
"explicitly listed sessions types will be offered by the greeter). Takes "
"precedence over the excluded-sessions list."
msgstr ""
+"Unordered list of include-only desktop sessions (if non-empty, only "
+"explicitly listed sessions types will be offered by the greeter). Takes "
+"precedence over the excluded-sessions list."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:56
msgid ""
@@ -547,6 +593,9 @@ msgid ""
"types will not be offered by the greeter). Only used if includeonly-sessions "
"is empty."
msgstr ""
+"Unordered list of excluded desktop sessions (if non-empty, listed sessions "
+"types will not be offered by the greeter). Only used if includeonly-sessions "
+"is empty."
#~ msgid "Onscreen keyboard"
#~ msgstr "Onscreen Keyboard"
diff --git a/po/ga.po b/po/ga.po
index 2029060..5e0d9e9 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -8,15 +8,18 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:13+0200\n"
-"PO-Revision-Date: 2012-01-24 16:14+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Irish <ga@li.org>\n"
+"PO-Revision-Date: 2024-08-25 13:09+0000\n"
+"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>\n"
+"Language-Team: Irish <https://hosted.weblate.org/projects/arctica-framework/"
+"greeter/ga/>\n"
"Language: ga\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :("
+"n>6 && n<11) ? 3 : 4;\n"
+"X-Generator: Weblate 5.7.1-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
-"X-Generator: Launchpad (build 17656)\n"
#: ../src/greeter-list.vala:306
#, c-format
@@ -25,7 +28,7 @@ msgstr "Cuir isteach focal faire do %s"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "Cuir isteach d'ainm úsáideora"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -36,9 +39,8 @@ msgid "Username:"
msgstr "Ainm úsáideora:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "Focal faire mícheart, triail arís é"
+msgstr "Ainm úsáideora nó pasfhocal neamhbhailí, bain triail eile as"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
@@ -103,14 +105,17 @@ msgstr "Atosaigh"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "Gníomh roghnaithe a chur i gcrích anois."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Ag fanacht soicind eile roimh an ngníomh roghnaithe a chur i gcrích …"
+msgstr[1] "Ag fanacht %u soicind roimh an ngníomh roghnaithe a chur i gcrích …"
+msgstr[2] "Ag fanacht %u soicind roimh an ngníomh roghnaithe a chur i gcrích …"
+msgstr[3] "Ag fanacht %u soicind roimh an ngníomh roghnaithe a chur i gcrích …"
+msgstr[4] "Ag fanacht %u soicind roimh an ngníomh roghnaithe a chur i gcrích …"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -131,7 +136,7 @@ msgstr "Rith i mhodh scrúdú"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
-msgstr ""
+msgstr "Rith i mód tástála le téama ardchodarsnachta a11y cumasaithe"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -161,13 +166,12 @@ msgstr "Seoladh ríomhphoist nó focal faire mícheart"
#. dialog.secondary_text = _("If you have an account on an RDP or Citrix server, Remote Login lets you run applications from that server.");
#. For 12.10 we still don't support Citrix
#: ../src/user-list.vala:603
-#, fuzzy
msgid ""
"If you have an account on an RDP server or X2Go server, Remote Login lets "
"you run applications from that server."
msgstr ""
-"Má tá cúntas agat ar freastalaí RDP, is féidir leat feidhmeanna a cur ar "
-"siúl ón freastalaí sin le cianlogáil-isteach."
+"Má tá cuntas agat ar fhreastalaí RDP nó ar fhreastalaí X2Go, ligeann Logáil "
+"isteach Cianda duit feidhmchláir a rith ón bhfreastalaí sin."
#: ../src/user-list.vala:606
msgid "Cancel"
@@ -178,44 +182,41 @@ msgid "Set Up…"
msgstr "Cumraigh"
#: ../src/user-list.vala:609
-#, fuzzy
msgid ""
"You need a Remote Logon account to use this service. Would you like to set "
"up an account now?"
msgstr ""
-"Is gá duit cúntas Logáil Isteach Cianda Ubuntu chun an seirbhís seo a "
-"húsáid. Ba mhaith leat cúntas a chruthú anois?"
+"Teastaíonn cuntas Cian-logála uait chun an tseirbhís seo a úsáid. Ar mhaith "
+"leat cuntas a shocrú anois?"
#: ../src/user-list.vala:613
msgid "OK"
msgstr "Ceart go leor"
#: ../src/user-list.vala:615
-#, fuzzy, c-format
+#, c-format
msgid ""
"You need a Remote Logon account to use this service. Visit %s to request an "
"account."
msgstr ""
-"Is gá duit cúntas Logáil Isteach Cianda Ubuntu chun an seirbhís seo a "
-"húsáid. Tabhair cuairt do uccs.canonical.com chun cúntas a chruthú."
+"Teastaíonn cuntas Cian-logála uait chun an tseirbhís seo a úsáid. Tabhair "
+"cuairt ar %s chun cuntas a iarraidh."
#: ../src/user-list.vala:617
-#, fuzzy
msgid ""
"You need a Remote Logon account to use this service. Please ask your site "
"administrator for details."
msgstr ""
-"Is gá duit cúntas Logáil Isteach Cianda Ubuntu chun an seirbhís seo a "
-"húsáid. Ba mhaith leat cúntas a chruthú anois?"
+"Teastaíonn cuntas Cian-logála uait chun an tseirbhís seo a úsáid. Iarr "
+"sonraí ar do riarthóir láithreáin."
#: ../src/user-list.vala:739
msgid "Server type not supported."
msgstr "Níl saghas an freastalaí faoi thacaíocht."
#: ../src/user-list.vala:767
-#, fuzzy
msgid "X2Go Session:"
-msgstr "Seisiún Aoi"
+msgstr "Seisiún X2Go:"
#: ../src/user-list.vala:787
msgid "Domain:"
@@ -223,7 +224,7 @@ msgstr "Fearann:"
#: ../src/user-list.vala:849
msgid "Account ID"
-msgstr ""
+msgstr "Aitheantas cuntais"
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
@@ -249,9 +250,9 @@ msgid "Login"
msgstr "Logáil isteach"
#: ../arctica-greeter-guest-session-auto.sh:35
-#, fuzzy, sh-format
+#, sh-format
msgid "Temporary Guest Session"
-msgstr "Seisiún Aoi"
+msgstr "Seisiún Aoi Sealadach"
#: ../arctica-greeter-guest-session-auto.sh:36
#, sh-format
@@ -261,6 +262,10 @@ msgid ""
"Please save files on some external device, for instance a\n"
"USB stick, if you would like to access them again later."
msgstr ""
+"Scriosfar na sonraí go léir a cruthaíodh le linn an tseisiúin aoi seo\n"
+"nuair a logálann tú amach, agus athshocrófar socruithe go mainneachtainí.\n"
+"Sábháil comhaid ar ghléas seachtrach éigin, mar shampla a\n"
+"USB bata, más mian leat rochtain a fháil orthu arís níos déanaí."
#: ../arctica-greeter-guest-session-auto.sh:40
#, sh-format
@@ -268,270 +273,321 @@ msgid ""
"Another alternative is to save files in the\n"
"/var/guest-data folder."
msgstr ""
+"Rogha eile is ea comhaid a shábháil sa\n"
+"/var/guest-data fillteán."
#: ../data/arctica-greeter.desktop.in.h:1
-#, fuzzy
msgid "Arctica Greeter"
-msgstr "- Beannachtóir Arctica"
+msgstr "Beannacht Artach"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:1
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
-msgstr ""
+msgstr "Comhad íomhá cúlra le húsáid, cosán íomhá nó dath (m.sh. #772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
msgstr ""
+"Dath an chúlra (m.sh. #772953), socraithe sula bhfeictear páipéar balla."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
msgstr ""
+"Dath an chúlra (m.sh. #000000 nó #FFFFFF) le haghaidh mód ardchodarsnachta."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
"Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-"
"selected session names in the session list."
msgstr ""
+"Dath cló-tulra (m.sh. #A0A0A0) le haghaidh ainmneacha seisiún neamhghní"
+"omhach/-hovered agus neamhroghnaithe sa liosta seisiún."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:5
msgid ""
"Font foreground color (e.g. #A0A0A0) for the active/hovered-above session "
"name in the session list."
msgstr ""
+"Dath cló-tulra (m.sh. #A0A0A0) don ainm seisiúin gníomhach/hovered-thuas sa "
+"liosta seisiúin."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:6
msgid ""
"Font foreground color (e.g. #A0A0A0) for the selected session name in the "
"session list."
msgstr ""
+"Clónna dath tulra (m.sh. #A0A0A0) don ainm seisiúin roghnaithe sa liosta "
+"seisiúin."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:7
msgid ""
"Background color (e.g. #391C31) for non-active/-hovered and non-selected "
"session names in the session list."
msgstr ""
+"Dath an chúlra (m.sh. #391C31) le haghaidh ainmneacha seisiún neamhghní"
+"omhach/-folaithe agus neamhroghnaithe sa liosta seisiún."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:8
msgid ""
"Background color (e.g. #391C31) for the active/hovered-above session name in "
"the session list."
msgstr ""
+"Dath an chúlra (m.sh. #391C31) don ainm seisiúin gníomhach/hovered-thuas sa "
+"liosta seisiúin."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:9
msgid ""
"Background color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Dath an chúlra (m.sh. #391C31) don ainm seisiúin roghnaithe sa liosta "
+"seisiúin."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:10
msgid ""
"Border color (e.g. #391C31) for non-active/-hovered and non-selected session "
"names in the session list."
msgstr ""
+"Dath teorann (m.sh. #391C31) d’ainmneacha seisiúin neamhghníomhacha/-"
+"folaithe agus neamhroghnaithe sa liosta seisiún."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:11
msgid ""
"Border color (e.g. #391C31) for the active/hovered-above session name in the "
"session list."
msgstr ""
+"Dath teorann (m.sh. #391C31) don ainm seisiúin gníomhach/hovered-thuas ar an "
+"liosta seisiúin."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:12
msgid ""
"Border color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Dath teorann (m.sh. #391C31) don ainm seisiúin roghnaithe sa liosta seisiúin."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:13
msgid ""
"Background color (e.g. #391C31) of flat buttons (e.g. the session chooser "
"icon)."
msgstr ""
+"Dath cúlra (m.sh. #391C31) na gcnaipí cothroma (m.sh. deilbhín an roghnóir "
+"seisiúin)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:14
msgid ""
"Border color (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
msgstr ""
+"Dath teorann (m.sh. #391C31) de chnaipí cothroma (m.sh. deilbhín an roghnóir "
+"seisiúin)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:15
msgid "Determines how the background image is rendered."
-msgstr ""
+msgstr "Cinneann sé conas a rindreáiltear an íomhá chúlra."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "Cibé ar cheart cúlraí úsáideora a tharraingt."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
-msgstr ""
+msgstr "Cé acu ar cheart greille forleagan a tharraingt."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:18
msgid "Whether to show the hostname in the menubar."
-msgstr ""
+msgstr "Cibé an dtaispeánfar an t-óstainm sa bharra roghchláir."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:19
msgid ""
"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
msgstr ""
+"Cibé an dtaispeánfar lipéid 'Ainm Úsáideora:' agus 'Pasfhocal:' (etc.) sa "
+"bhosca logáil isteach."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "Comhad lógó le húsáid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
-msgstr ""
+msgstr "Luach alfa chun an lógó a chumasc leis an gcúlra."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "Téama GTK+ le húsáid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
-msgstr ""
+msgstr "Téama GTK+ le húsáid i mód ardchodarsnachta."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "Téama deilbhín le húsáid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
-msgstr ""
+msgstr "Téama deilbhín le húsáid i mód ardchodarsnachta."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "Téama cúrsóra le húsáid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
-msgstr ""
+msgstr "Méid le húsáid le haghaidh cúrsóirí."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "Cló le húsáid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
-msgstr ""
+msgstr "Cibé an bhfuil an antialias clónna Xft."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:30
msgid "Resolution for Xft in dots per inch."
-msgstr ""
+msgstr "Taifeach do Xft ina poncanna san orlach."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:31
msgid "What degree of hinting to use."
-msgstr ""
+msgstr "Cén méid leid atá le húsáid."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
-msgstr ""
+msgstr "Cineál antialiasing subpixel."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:33
msgid "Whether to enable the onscreen keyboard."
-msgstr ""
+msgstr "Cibé ar cheart an méarchlár ar an scáileán a chumasú."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:34
msgid "Whether to use a high contrast theme."
-msgstr ""
+msgstr "Cibé an úsáidfear téama ardchodarsnachta."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:35
msgid "Whether to enable the screen reader."
-msgstr ""
+msgstr "Cé acu an féidir an léitheoir scáileáin a chumasú."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:36
msgid "Whether to play sound when greeter is ready."
-msgstr ""
+msgstr "Cibé an seinnfear fuaim nuair a bhíonn an beannachtaí réidh."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
-msgstr ""
+msgstr "Cad iad na táscairí a luchtú."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:38
msgid ""
"List of usernames that are hidden until a special key combination is hit."
msgstr ""
+"Liosta de na hainmneacha úsáideoirí atá i bhfolach go dtí go bhfuil teaglaim "
+"eochair speisialta buailte."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:39
msgid ""
"List of groups that users must be part of to be shown (empty list shows all "
"users)."
msgstr ""
+"Liosta de na grúpaí nach mór d’úsáideoirí a bheith mar chuid díobh le "
+"taispeáint (léiríonn liosta folamh gach úsáideoir)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:40
msgid ""
"Number of seconds of inactivity before blanking the screen. Set to 0 to "
"never timeout."
msgstr ""
+"Líon soicind neamhghníomhaíochta roimh an scáileán a bhánú. Socraigh ar 0 "
+"gan teorainn ama riamh."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "Cibé ar cheart tacaíocht HiDPI a chumasú"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
msgstr ""
+"Fachtóir scálaithe le haghaidh clónna is féidir a úsáid chun clómhéid an "
+"bheannóra a choigeartú."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:43
msgid ""
"Alpha value for menubar, multiplied with the theme-provided transparency "
"value. Not used in high contrast mode."
msgstr ""
+"Luach alfa don bharra roghchláir, arna iolrú leis an luach trédhearcachta a "
+"sholáthraíonn an téama. Ní úsáidtear i mód codarsnachta ard."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:44
msgid "Default FQDN for host offering Remote Logon Service."
-msgstr ""
+msgstr "Réamhshocrú FQDN don óstríomhaire a thairgeann Seirbhís Logála Cianda."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:45
msgid ""
"Whether to activate numlock. This features requires the installation of "
"numlockx."
msgstr ""
+"Cibé an ndéanfar numlock a ghníomhachtú. Éilíonn an gnéithe seo a shuiteáil "
+"numlockx."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:46
msgid "Monitor on which to show the Login GUI."
-msgstr ""
+msgstr "Monatóireacht a dhéanamh chun an GUI Logála a thaispeáint."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:47
msgid ""
"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*."
"onboard for available layout names)."
msgstr ""
+"Ainm leagan amach an mhéarchláir ar an scáileán (féach /usr/share/onboard/"
+"layouts/*.onboard le haghaidh ainmneacha leagan amach atá ar fáil)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:48
msgid ""
"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
"for available theme names)."
msgstr ""
+"Ainm an téama méarchláir ar an scáileán (féach /usr/share/onboard/themes/*."
+"theme le haghaidh ainmneacha na dtéamaí atá ar fáil)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:49
msgid ""
"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
"share/onboard/themes/*.theme for available theme names)."
msgstr ""
+"Ainm an téama méarchláir ar an scáileán agus é i mód ardchodarsnachta (féach "
+"/usr/share/onboard/themes/*.theme le haghaidh ainmneacha na dtéamaí atá ar "
+"fáil)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:50
msgid "Whether to hide the 'lightdm-xsession' default X11 session type."
msgstr ""
+"Cibé ar cheart an cineál seisiúin X11 réamhshocraithe 'lightdm-xsession' a "
+"cheilt."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:51
msgid "Whether to hide X11 sessions."
-msgstr ""
+msgstr "Cibé ar cheart seisiúin X11 a chur i bhfolach."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:52
msgid "Whether to hide Wayland sessions."
-msgstr ""
+msgstr "Cé acu seisiúin Wayland a cheilt."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:53
msgid ""
"Ordered list of preferred desktop sessions (for detecting the default "
"session type)."
msgstr ""
+"Liosta ordaithe de na seisiúin deisce roghnaithe (chun an cineál seisiúin "
+"réamhshocraithe a bhrath)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:54
msgid ""
"Time in seconds until the shutdown dialog forcefully selects the default "
"action. Set to 0 to disable."
msgstr ""
+"Am i soicindí go dtí go roghnaíonn an dialóg múchta go láidir an gníomh "
+"réamhshocraithe. Socraigh go 0 chun é a dhíchumasú."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:55
msgid ""
@@ -539,6 +595,9 @@ msgid ""
"explicitly listed sessions types will be offered by the greeter). Takes "
"precedence over the excluded-sessions list."
msgstr ""
+"Liosta neamhordúil de sheisiúin deisce lena n-áirítear amháin (mura bhfuil "
+"siad folamh, ní thairgfidh an beannachtaí ach cineálacha seisiún atá "
+"liostaithe go sainráite). Bíonn tosaíocht aige ar liosta na seisiún eisiata."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:56
msgid ""
@@ -546,6 +605,9 @@ msgid ""
"types will not be offered by the greeter). Only used if includeonly-sessions "
"is empty."
msgstr ""
+"Liosta neamhordúil de sheisiúin deisce eisiata (mura bhfuil siad folamh, ní "
+"thairgfidh an beannachtaí cineálacha seisiún liostaithe). Ní úsáidtear é ach "
+"amháin má bhíonn seisiúin áirimh amháin folamh."
#~ msgid "Onscreen keyboard"
#~ msgstr "Méarchláir ar-scáileán"
diff --git a/po/it.po b/po/it.po
index 44e86dc..e92202d 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:13+0200\n"
-"PO-Revision-Date: 2019-08-28 11:24+0000\n"
-"Last-Translator: Swann Martinet <swann.ranskassa@laposte.net>\n"
-"Language-Team: Italian <https://hosted.weblate.org/projects/arctica-"
-"framework/greeter/it/>\n"
+"PO-Revision-Date: 2024-05-18 07:01+0000\n"
+"Last-Translator: Giorgio Berardi <giorgio.berardi@outlook.com>\n"
+"Language-Team: Italian <https://hosted.weblate.org/projects/"
+"arctica-framework/greeter/it/>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.9-dev\n"
+"X-Generator: Weblate 5.6-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -27,7 +27,7 @@ msgstr "Inserire la password per %s"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "Inserire il nome utente"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -105,14 +105,15 @@ msgstr "Riavvia"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "Attivazione dell'azione selezionata."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
msgstr[0] ""
-msgstr[1] ""
+"Attesa di un altro secondo prima dell'attivazione dell'azione selezionata…"
+msgstr[1] "Attesa di %u secondi prima dell'attivazione dell'azione selezionata…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -134,6 +135,7 @@ msgstr "Esegui in modalità di test"
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
msgstr ""
+"Avvio in modalità test con l'abilitazione del tema ally a elevato contrasto"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -279,14 +281,19 @@ msgstr "Schermata di benvenuto di Arctica"
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
msgstr ""
+"File dell'immagine di sfondo da utilizzare, sotto forma di percorso file "
+"immagine o colore (p.es. #772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
msgstr ""
+"Colore di sfondo (p.es. 772953), impostato prima della visualizzazione dello "
+"sfondo dello schermo."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
msgstr ""
+"Colore di sfondo (p.es. #000000 o #FFFFFF) per modalità a elevato contrasto."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
diff --git a/po/ka.po b/po/ka.po
index 6ec2cb4..4259f06 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -8,122 +8,126 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:13+0200\n"
-"PO-Revision-Date: 2012-02-21 00:39+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Georgian <ka@li.org>\n"
+"PO-Revision-Date: 2025-02-17 03:03+0000\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: Georgian <https://hosted.weblate.org/projects/"
+"arctica-framework/greeter/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.10\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
-"X-Generator: Launchpad (build 17656)\n"
#: ../src/greeter-list.vala:306
#, c-format
msgid "Enter password for %s"
-msgstr ""
+msgstr "შეიყვანეთ პაროლი %s-სთვის"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "შეიყვანეთ თქვენი მომხმარებლის სახელი"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
-msgstr ""
+msgstr "პაროლი:"
#: ../src/greeter-list.vala:842 ../src/user-list.vala:755
msgid "Username:"
-msgstr ""
+msgstr "მომხმარებლის სახელი:"
#: ../src/greeter-list.vala:906
msgid "Invalid username or password, please try again"
-msgstr ""
+msgstr "არასწორი მომხმარებლის სახელი ან პაროლი. თავიდან სცადეთ"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
-msgstr ""
+msgstr "ავთენტიკაცია ჩავარდა"
#: ../src/greeter-list.vala:965
msgid "Failed to start session"
-msgstr ""
+msgstr "სესიის დაწყება ჩავარდა"
#: ../src/greeter-list.vala:979
msgid "Logging in…"
-msgstr ""
+msgstr "მიმდინარეობს შესვლა…"
#: ../src/main-window.vala:56
msgid "Login Screen"
-msgstr ""
+msgstr "შესვლის ეკრანი"
#: ../src/main-window.vala:107
msgid "Back"
-msgstr ""
+msgstr "უკან"
#: ../src/prompt-box.vala:305
msgid "Session Options"
-msgstr ""
+msgstr "სესიის მორგება"
#: ../src/session-list.vala:36
msgid "Select desktop environment"
-msgstr ""
+msgstr "აირჩიეთ სამუშაო გარემო"
#: ../src/shutdown-dialog.vala:146
msgid "Goodbye. Would you like to…"
-msgstr ""
+msgstr "ნახვამდის. ხომ არ გნებავთ…"
#: ../src/shutdown-dialog.vala:152 ../src/shutdown-dialog.vala:252
msgid "Shut Down"
-msgstr ""
+msgstr "გამორთვა"
#: ../src/shutdown-dialog.vala:156
msgid "Are you sure you want to shut down the computer?"
-msgstr ""
+msgstr "მართლა გნებავთ კომპიუტერი გამორთოთ?"
#: ../src/shutdown-dialog.vala:181
msgid ""
"Other users are currently logged in to this computer, shutting down now will "
"also close these other sessions."
msgstr ""
+"ამ კომპიუტერზე სხვა მომხმარებლებიც არიან შესულები. მისი გამორთვა სხვა "
+"სესიებსაც დახურავს."
#: ../src/shutdown-dialog.vala:198
msgid "Suspend"
-msgstr ""
+msgstr "ძილი"
#: ../src/shutdown-dialog.vala:215
msgid "Hibernate"
-msgstr ""
+msgstr "პროგრამული ძილი"
#: ../src/shutdown-dialog.vala:233
msgid "Restart"
-msgstr ""
+msgstr "გადატვირთვა"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "მიმდინარეობს არჩეული ქმედების შესრულება."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "არჩეული ქმედების შესრულებამდე დარჩენილია კიდევ ერთი წამი …"
+msgstr[1] "არჩეული ქმედების შესრულებამდე დარჩენილია %u წამი …"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
#, c-format
msgid "%s (Default)"
-msgstr ""
+msgstr "%s (ნაგულისხმევი)"
#. Help string for command line --version flag
#: ../src/arctica-greeter.vala:994
msgid "Show release version"
-msgstr ""
+msgstr "რელიზის ვერსიის ჩვენება"
#. Help string for command line --test-mode flag
#: ../src/arctica-greeter.vala:997
msgid "Run in test mode"
-msgstr ""
+msgstr "გაშვება სატესტო რეჟიმში"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
@@ -133,7 +137,7 @@ msgstr ""
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
msgid "- Arctica Greeter"
-msgstr ""
+msgstr "- Arctica Greeter"
#. Text printed out when an unknown command-line argument provided
#: ../src/arctica-greeter.vala:1029
@@ -143,7 +147,7 @@ msgstr ""
#: ../src/user-list.vala:49
msgid "Guest Session"
-msgstr ""
+msgstr "სტუმრის სესია"
#: ../src/user-list.vala:480
msgid "Please enter a complete e-mail address"
@@ -151,7 +155,7 @@ msgstr ""
#: ../src/user-list.vala:569
msgid "Incorrect e-mail address or password"
-msgstr ""
+msgstr "არასწორი ელფოსტის მისამართი, ან პაროლი"
#. dialog.secondary_text = _("If you have an account on an RDP or Citrix server, Remote Login lets you run applications from that server.");
#. For 12.10 we still don't support Citrix
@@ -163,11 +167,11 @@ msgstr ""
#: ../src/user-list.vala:606
msgid "Cancel"
-msgstr ""
+msgstr "გაუქმება"
#: ../src/user-list.vala:607
msgid "Set Up…"
-msgstr ""
+msgstr "მორგება…"
#: ../src/user-list.vala:609
msgid ""
@@ -177,7 +181,7 @@ msgstr ""
#: ../src/user-list.vala:613
msgid "OK"
-msgstr ""
+msgstr "დიახ"
#: ../src/user-list.vala:615
#, c-format
@@ -194,47 +198,47 @@ msgstr ""
#: ../src/user-list.vala:739
msgid "Server type not supported."
-msgstr ""
+msgstr "სერვერის ტიპი მხარდაჭერილი არაა."
#: ../src/user-list.vala:767
msgid "X2Go Session:"
-msgstr ""
+msgstr "X2Go-ის სესია:"
#: ../src/user-list.vala:787
msgid "Domain:"
-msgstr ""
+msgstr "დომენი:"
#: ../src/user-list.vala:849
msgid "Account ID"
-msgstr ""
+msgstr "ანგარიშის ID"
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
msgid "Log In"
-msgstr ""
+msgstr "შესვლა"
#: ../src/user-list.vala:899
#, c-format
msgid "Login as %s"
-msgstr ""
+msgstr "შესვლა, როგორც %s"
#: ../src/user-list.vala:903
msgid "Retry"
-msgstr ""
+msgstr "თავიდან ცდა"
#: ../src/user-list.vala:904
#, c-format
msgid "Retry as %s"
-msgstr ""
+msgstr "თავიდან ცდა, როგორც %s"
#: ../src/user-list.vala:948
msgid "Login"
-msgstr ""
+msgstr "შესვლა"
#: ../arctica-greeter-guest-session-auto.sh:35
#, sh-format
msgid "Temporary Guest Session"
-msgstr ""
+msgstr "დროებითი სტუმრის სესია"
#: ../arctica-greeter-guest-session-auto.sh:36
#, sh-format
@@ -254,7 +258,7 @@ msgstr ""
#: ../data/arctica-greeter.desktop.in.h:1
msgid "Arctica Greeter"
-msgstr ""
+msgstr "Arctica Greeter"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:1
msgid ""
@@ -340,7 +344,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "დაიხატება თუ არა მომხმარებლის ფონი."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
@@ -357,7 +361,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "ლოგოს ფაილი."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
@@ -365,7 +369,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "GTK+-ის თემა."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
@@ -373,7 +377,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "ხატულას თემა."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
@@ -381,7 +385,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "კურსორის თემა."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
@@ -389,7 +393,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "ფონტი."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
@@ -405,7 +409,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
-msgstr ""
+msgstr "ქვეპიქსელის მოგლუვების ტიპი."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:33
msgid "Whether to enable the onscreen keyboard."
@@ -425,7 +429,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
-msgstr ""
+msgstr "რომელი ინდიკატორები ჩაიტვირთება."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:38
msgid ""
@@ -446,7 +450,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "ჩაირთვება თუ არა HiDPI-ის მხარდაჭერა"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
@@ -497,11 +501,11 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:51
msgid "Whether to hide X11 sessions."
-msgstr ""
+msgstr "დაიმალება თუ არა X11-ის სესიები."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:52
msgid "Whether to hide Wayland sessions."
-msgstr ""
+msgstr "დაიმალება, თუ არა Wayland-ის სესიები."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:53
msgid ""
diff --git a/po/my.po b/po/my.po
index 01f00e4..fac2012 100644
--- a/po/my.po
+++ b/po/my.po
@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2022-04-22 17:10+0000\n"
-"Last-Translator: Michael Kha <michaelkha69@gmail.com>\n"
-"Language-Team: Burmese <https://hosted.weblate.org/projects/arctica-"
-"framework/greeter/my/>\n"
+"PO-Revision-Date: 2025-05-20 10:10+0000\n"
+"Last-Translator: naikhon <naikhon5@gmail.com>\n"
+"Language-Team: Burmese <https://hosted.weblate.org/projects/"
+"arctica-framework/greeter/my/>\n"
"Language: my\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12.1-dev\n"
+"X-Generator: Weblate 5.12-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -72,7 +72,7 @@ msgstr "desktop ပုံစံရွေးရန်"
#: ../src/shutdown-dialog.vala:146
msgid "Goodbye. Would you like to…"
-msgstr ""
+msgstr "သွားတော့မယ်။ သင် လဲသွားချင်ပါသလား…"
#: ../src/shutdown-dialog.vala:152 ../src/shutdown-dialog.vala:252
msgid "Shut Down"
@@ -105,7 +105,7 @@ msgstr "အစမှ ပြန်ဖွင့်မည်"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "ရွေးချယ်ထားသောလုပ်ဆောင်ချက်ကို ယခုလုပ်ဆောင်နေပါသည်။"
#: ../src/shutdown-dialog.vala:331
#, c-format
@@ -122,22 +122,23 @@ msgstr "%s (မူလ)"
#. Help string for command line --version flag
#: ../src/arctica-greeter.vala:994
msgid "Show release version"
-msgstr ""
+msgstr "ထွက်ရှိသည့်ဗားရှင်းကိုပြသပါ။"
#. Help string for command line --test-mode flag
#: ../src/arctica-greeter.vala:997
msgid "Run in test mode"
-msgstr ""
+msgstr "စမ်းသပ်မုဒ်တွင် လုပ်ဆောင်ပါ။"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
msgstr ""
+"a11y high contrast အပြင်အဆင်ကို ဖွင့်ထားခြင်းဖြင့် စမ်းသပ်မုဒ်တွင် လုပ်ဆောင်ပါ။"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
msgid "- Arctica Greeter"
-msgstr "Arctica Greeter"
+msgstr "အာတိတ် နှုတ်ဆက်စကား"
#. Text printed out when an unknown command-line argument provided
#: ../src/arctica-greeter.vala:1029
@@ -174,7 +175,7 @@ msgstr "ပယ်ဖျက်မည်"
#: ../src/user-list.vala:607
msgid "Set Up…"
-msgstr "အကောင့် ဖွင့် ခြင်း ...."
+msgstr "အကောင့် ဖွင့် ခြင်း .…"
#: ../src/user-list.vala:609
#, fuzzy
@@ -222,7 +223,7 @@ msgstr "ဒိုမိန်း -"
#: ../src/user-list.vala:849
msgid "Account ID"
-msgstr ""
+msgstr "အကောင့် ID"
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
diff --git a/po/oc.po b/po/oc.po
index c40b140..d5255aa 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2023-12-14 20:09+0000\n"
+"PO-Revision-Date: 2025-04-07 03:14+0000\n"
"Last-Translator: Quentin PAGÈS <quentinantonin@free.fr>\n"
"Language-Team: Occitan <https://hosted.weblate.org/projects/"
"arctica-framework/greeter/oc/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 5.3\n"
+"X-Generator: Weblate 5.11-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -441,11 +441,11 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:35
msgid "Whether to enable the screen reader."
-msgstr ""
+msgstr "Indica se cal activar lo lector d'ecran."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:36
msgid "Whether to play sound when greeter is ready."
-msgstr ""
+msgstr "Indica se cal jogar un son quand l'aculhença es prèsta"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
@@ -467,10 +467,12 @@ msgid ""
"Number of seconds of inactivity before blanking the screen. Set to 0 to "
"never timeout."
msgstr ""
+"Nombre de segondas d'inactivitat abans d'enfoscar l'ecran. Definir a 0 per "
+"indicar jamai."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "Indica se cal activar la presa en carga HiDPI"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
@@ -495,7 +497,7 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:46
msgid "Monitor on which to show the Login GUI."
-msgstr ""
+msgstr "Monitor ont afichar l'interfàcia de la fenèstra de connexion."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:47
msgid ""
diff --git a/po/pt.po b/po/pt.po
index d6ff4c8..5f8b676 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2020-09-14 17:36+0000\n"
-"Last-Translator: ssantos <ssantos@web.de>\n"
-"Language-Team: Portuguese <https://hosted.weblate.org/projects/arctica-"
-"framework/greeter/pt/>\n"
+"PO-Revision-Date: 2025-05-02 16:54+0000\n"
+"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
+"Language-Team: Portuguese <https://hosted.weblate.org/projects/"
+"arctica-framework/greeter/pt/>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.3-dev\n"
+"X-Generator: Weblate 5.12-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -27,7 +27,7 @@ msgstr "Introduza a palavra-passe para %s"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "Insira o seu nome de utilizador"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -38,9 +38,8 @@ msgid "Username:"
msgstr "Nome de utilizador:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "Palavra-passe inválida, tente novamente"
+msgstr "Utilizador ou palavra-passe inválida, tente novamente"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
@@ -105,14 +104,14 @@ msgstr "Reiniciar"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "A executar a ação selecionada agora."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "A aguardar mais um segundo antes de executar a ação selecionada…"
+msgstr[1] "A aguardar %u segundos antes de executar a ação selecionada…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -133,7 +132,7 @@ msgstr "Executar no modo de teste"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
-msgstr ""
+msgstr "Executar no modo teste com tema a11y highcontrast ativado"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -154,7 +153,7 @@ msgstr "Sessão de Convidado"
#: ../src/user-list.vala:480
msgid "Please enter a complete e-mail address"
-msgstr "Por favor, insira um endereço de e-mail completo"
+msgstr "Insira um endereço de e-mail completo"
#: ../src/user-list.vala:569
msgid "Incorrect e-mail address or password"
@@ -204,8 +203,8 @@ msgid ""
"You need a Remote Logon account to use this service. Please ask your site "
"administrator for details."
msgstr ""
-"Precisa de uma conta de 'Acesso Remoto'para utilizar este serviço. Por "
-"favor, peça detalhes ao administrador do seu site."
+"Precisa de uma conta de 'Acesso Remoto' para utilizar este serviço. Peça "
+"detalhes ao administrador do seu site."
#: ../src/user-list.vala:739
msgid "Server type not supported."
@@ -221,7 +220,7 @@ msgstr "Domínio:"
#: ../src/user-list.vala:849
msgid "Account ID"
-msgstr "Id. da Conta"
+msgstr "ID da Conta"
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
@@ -262,7 +261,7 @@ msgstr ""
"Todos os dados criados durante esta sessão de convidado\n"
"serão eliminados quando terminar a sessão e as definições\n"
"serão redefinidas para as predefinições. Por favor, grave\n"
-"os ficheiros num aparelho externo, por exemplo, uma\n"
+"os ficheiros num dispositivo externo, por exemplo, uma\n"
"pen USB, se pretender aceder aos mesmos mais tarde."
#: ../arctica-greeter-guest-session-auto.sh:40
@@ -282,20 +281,26 @@ msgstr "Bem-vindo ao Arctica"
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
msgstr ""
+"Ficheiro de imagem de fundo a utilizar, seja um caminho de imagem ou uma cor "
+"(por exemplo, #772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
msgstr ""
+"Cor de fundo (por exemplo, #772953), definido antes de ver o papel de parede."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
msgstr ""
+"Cor de fundo (por exemplo, #000000 ou #FFFFFF) para o modo de alto contraste."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
"Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-"
"selected session names in the session list."
msgstr ""
+"Cor do tipo de letra em primeiro plano (por exemplo, #A0A0A0) para nomes de "
+"sessões não ativas/-hovered e não selecionadas na lista de sessões."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:5
msgid ""
@@ -358,11 +363,11 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:15
msgid "Determines how the background image is rendered."
-msgstr ""
+msgstr "Determina a forma como a imagem de fundo é apresentada."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "Se deve desenhar os fundos do utilizador."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
@@ -379,51 +384,51 @@ msgstr ""
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "Ficheiro do logótipo a utilizar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
-msgstr ""
+msgstr "Valor alfa para misturar o logótipo com o fundo."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "Tema GTK+ a utilizar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
-msgstr ""
+msgstr "Tema GTK+ a utilizar no modo de alto contraste."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "Tema de ícones a utilizar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
-msgstr ""
+msgstr "Tema de ícones a utilizar no modo de alto contraste."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "Tema do cursor a utilizar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
-msgstr ""
+msgstr "Tamanho a utilizar para os cursores."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "Tipo de letra a utilizar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
-msgstr ""
+msgstr "Se é necessário anti-alias de tipos de letra Xft."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:30
msgid "Resolution for Xft in dots per inch."
-msgstr ""
+msgstr "Resolução para Xft em pontos por polegada."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:31
msgid "What degree of hinting to use."
-msgstr ""
+msgstr "Qual o grau de sugestão a utilizar."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
diff --git a/po/ro.po b/po/ro.po
index 039666d..b66de61 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -8,17 +8,17 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2020-03-24 12:46+0000\n"
-"Last-Translator: Buescu Bogdan <bbuescu@pentalog.com>\n"
-"Language-Team: Romanian <https://hosted.weblate.org/projects/arctica-"
-"framework/greeter/ro/>\n"
+"PO-Revision-Date: 2025-02-08 19:41+0000\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
+"Language-Team: Romanian <https://hosted.weblate.org/projects/"
+"arctica-framework/greeter/ro/>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-"X-Generator: Weblate 4.0-dev\n"
+"X-Generator: Weblate 5.10-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -28,7 +28,7 @@ msgstr "Introduceți parola pentru %s"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "Introduceți numele dvs. de utilizato"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -39,17 +39,16 @@ msgid "Username:"
msgstr "Nume de utilizator:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "Parola invalidă, încearcă din nou"
+msgstr "Nume de utilizator sau parolă nevalidă, încercați din nou"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
-msgstr "Autentificare esuata"
+msgstr "Autentificare eșuată"
#: ../src/greeter-list.vala:965
msgid "Failed to start session"
-msgstr "Eșec la pornirea sesiunii"
+msgstr "Eșec la începerea sesiunii"
#: ../src/greeter-list.vala:979
msgid "Logging in…"
@@ -57,7 +56,7 @@ msgstr "Autentificare în curs…"
#: ../src/main-window.vala:56
msgid "Login Screen"
-msgstr "Autentificare"
+msgstr "Ecranul de autentificare"
#: ../src/main-window.vala:107
msgid "Back"
@@ -65,11 +64,11 @@ msgstr "Înapoi"
#: ../src/prompt-box.vala:305
msgid "Session Options"
-msgstr "Optiuni sesiune"
+msgstr "Opțiuni sesiune"
#: ../src/session-list.vala:36
msgid "Select desktop environment"
-msgstr "Alege mediul desktop"
+msgstr "Alege mediul de birou"
#: ../src/shutdown-dialog.vala:146
msgid "Goodbye. Would you like to…"
@@ -81,7 +80,7 @@ msgstr "Oprire"
#: ../src/shutdown-dialog.vala:156
msgid "Are you sure you want to shut down the computer?"
-msgstr "Sigur doriți să închideți calculatorul?"
+msgstr "Sunteți sigur că doriți să opriți calculatorul?"
#: ../src/shutdown-dialog.vala:181
msgid ""
@@ -106,15 +105,15 @@ msgstr "Repornire"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "Se execută acțiunea selectată."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Se așteaptă încă o secundă înainte de a executa acțiunea selectată …"
+msgstr[1] "Se așteaptă %u secunde înainte de a executa acțiunea selectată …"
+msgstr[2] "Se așteaptă %u de secunde înainte de a executa acțiunea selectată …"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -125,38 +124,38 @@ msgstr "%s (Implicit)"
#. Help string for command line --version flag
#: ../src/arctica-greeter.vala:994
msgid "Show release version"
-msgstr "Arata versiune"
+msgstr "Afișează numărul de versiune"
#. Help string for command line --test-mode flag
#: ../src/arctica-greeter.vala:997
msgid "Run in test mode"
-msgstr "Ruleaza in mod test"
+msgstr "Rulează în modul test"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
-msgstr ""
+msgstr "Rulează în modul test cu tema de contrast ridicat pentru a11y activată"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
msgid "- Arctica Greeter"
-msgstr ""
+msgstr "- Recepția Arctica"
#. Text printed out when an unknown command-line argument provided
#: ../src/arctica-greeter.vala:1029
#, c-format
msgid "Run '%s --help' to see a full list of available command line options."
msgstr ""
-"Rulează '%s --help' pentru a vedea lista completa de opțiuni disponibile "
-"pentru comanda."
+"Rulați «%s -- help» pentru a vedea o listă completă a opțiunilor din linia "
+"de comandă disponibile."
#: ../src/user-list.vala:49
msgid "Guest Session"
-msgstr "Sesiune neautentificata"
+msgstr "Sesiune invitat"
#: ../src/user-list.vala:480
msgid "Please enter a complete e-mail address"
-msgstr "Introduceți o adresă de email completă"
+msgstr "Introduceți o adresă de e-mail completă"
#: ../src/user-list.vala:569
msgid "Incorrect e-mail address or password"
@@ -169,7 +168,7 @@ msgid ""
"If you have an account on an RDP server or X2Go server, Remote Login lets "
"you run applications from that server."
msgstr ""
-"Dacă aveți un cont pe un server RDP sau X2Go, Autentificare la Distanță vă "
+"Dacă aveți un cont pe un server RDP sau X2Go, autentificarea la distanță vă "
"permite să rulați aplicații de pe serverul respectiv."
#: ../src/user-list.vala:606
@@ -185,33 +184,33 @@ msgid ""
"You need a Remote Logon account to use this service. Would you like to set "
"up an account now?"
msgstr ""
-"Pentru a utiliza acest serviciu aveți nevoie de un cont de Conectare la "
-"Distanta. Doriți să creați un cont acum?"
+"Pentru a utiliza acest serviciu aveți nevoie de un cont de autentificare la "
+"distanță. Doriți să creați un cont acum?"
#: ../src/user-list.vala:613
msgid "OK"
-msgstr "OK"
+msgstr "Ok"
#: ../src/user-list.vala:615
-#, fuzzy, c-format
+#, c-format
msgid ""
"You need a Remote Logon account to use this service. Visit %s to request an "
"account."
msgstr ""
-"Pentru a utiliza acest serviciu aveți nevoie de un cont Autentificare la "
-"Distanță. Pentru a crea un cont vizitați %s."
+"Pentru a utiliza acest serviciu aveți nevoie de un cont autentificare la "
+"distanță. Vizitați %s pentru a solicita un cont."
#: ../src/user-list.vala:617
msgid ""
"You need a Remote Logon account to use this service. Please ask your site "
"administrator for details."
msgstr ""
-"Pentru a utiliza acest serviciu aveți nevoie de un cont de Conectare la "
-"Distanță. Va rugam sa cereți detalii de la administratorul site-ului."
+"Pentru a utiliza acest serviciu aveți nevoie de un cont de autentificare la "
+"distanță. Va rugam sa cereți detalii de la administratorul sitului."
#: ../src/user-list.vala:739
msgid "Server type not supported."
-msgstr "Tipul de server nu este suportat."
+msgstr "Tipul de server nu este acceptat."
#: ../src/user-list.vala:767
msgid "X2Go Session:"
@@ -223,7 +222,7 @@ msgstr "Domeniu:"
#: ../src/user-list.vala:849
msgid "Account ID"
-msgstr "ID utilizator"
+msgstr "ID-ul contului"
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
@@ -251,7 +250,7 @@ msgstr "Autentificare"
#: ../arctica-greeter-guest-session-auto.sh:35
#, sh-format
msgid "Temporary Guest Session"
-msgstr "Sesiune temporara vizitator"
+msgstr "Sesiune temporară pentru invitat"
#: ../arctica-greeter-guest-session-auto.sh:36
#, sh-format
@@ -261,6 +260,11 @@ msgid ""
"Please save files on some external device, for instance a\n"
"USB stick, if you would like to access them again later."
msgstr ""
+"Toate datele create în timpul acestei sesiuni pentru invitat vor fi\n"
+"șterse atunci când vă deconectați, iar configurările vor fi restabilite\n"
+"la valorile implicite.\n"
+"Vă rugăm să salvați fișierele pe un dispozitiv extern, de exemplu un\n"
+"dispozitiv USB, dacă doriți să le accesați mai târziu."
#: ../arctica-greeter-guest-session-auto.sh:40
#, sh-format
@@ -268,269 +272,324 @@ msgid ""
"Another alternative is to save files in the\n"
"/var/guest-data folder."
msgstr ""
+"O altă alternativă este să salvați fișierele în\n"
+"dosarul „/var/guest-data”."
#: ../data/arctica-greeter.desktop.in.h:1
msgid "Arctica Greeter"
-msgstr ""
+msgstr "Recepția Arctica"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:1
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
msgstr ""
+"Fișierul de imagine de fundal care urmează să fie utilizat, fie ruta către o "
+"imagine, fie o culoare (de exemplu, #772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
msgstr ""
+"Culoarea fundalului (de ex. #772953), definită înainte ca fundalul să fie "
+"văzut."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
msgstr ""
+"Culoarea fundalului (de exemplu #000000 sau #FFFFFF) pentru modul de "
+"contrast ridicat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
"Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-"
"selected session names in the session list."
msgstr ""
+"Culoarea fontului de prim-plan (de exemplu #A0A0A0) pentru numele sesiunilor "
+"neactive/neselectate din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:5
msgid ""
"Font foreground color (e.g. #A0A0A0) for the active/hovered-above session "
"name in the session list."
msgstr ""
+"Culoarea fontului de prim-plan (de exemplu, #A0A0A0) pentru numele sesiunii "
+"active/evidențiate din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:6
msgid ""
"Font foreground color (e.g. #A0A0A0) for the selected session name in the "
"session list."
msgstr ""
+"Culoarea fontului de prim-plan (de exemplu #A0A0A0) pentru numele sesiunii "
+"selectate din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:7
msgid ""
"Background color (e.g. #391C31) for non-active/-hovered and non-selected "
"session names in the session list."
msgstr ""
+"Culoarea de fundal (de exemplu, #391C31) pentru numele de sesiuni neactive/"
+"neselectate din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:8
msgid ""
"Background color (e.g. #391C31) for the active/hovered-above session name in "
"the session list."
msgstr ""
+"Culoarea de fundal (de exemplu, #391C31) pentru numele sesiunii active/"
+"evidențiate din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:9
msgid ""
"Background color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Culoarea de fundal (de exemplu, #391C31) pentru numele sesiunii selectate "
+"din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:10
msgid ""
"Border color (e.g. #391C31) for non-active/-hovered and non-selected session "
"names in the session list."
msgstr ""
+"Culoarea conturului (de exemplu, #391C31) pentru numele de sesiuni neactive/"
+"neselectate din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:11
msgid ""
"Border color (e.g. #391C31) for the active/hovered-above session name in the "
"session list."
msgstr ""
+"Culoarea conturului (de exemplu, #391C31) pentru numele sesiunii active/"
+"evidențiate din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:12
msgid ""
"Border color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"Culoarea conturului (de exemplu, #391C31) pentru numele sesiunii selectate "
+"din lista de sesiuni."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:13
msgid ""
"Background color (e.g. #391C31) of flat buttons (e.g. the session chooser "
"icon)."
msgstr ""
+"Culoarea de fundal (de exemplu, #391C31) a butoanelor plate (de exemplu, "
+"pictograma selectorului de sesiuni)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:14
msgid ""
"Border color (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
msgstr ""
+"Culoarea conturului (de ex. #391C31) butoanelor plate (de ex. pictograma de "
+"selectare a sesiunii)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:15
msgid "Determines how the background image is rendered."
-msgstr ""
+msgstr "Determină modul de redare a imaginii de fundal."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "Dacă se vor afișa fundalurile utilizatorilor."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
-msgstr ""
+msgstr "Dacă se afișează o grilă suprapusă."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:18
msgid "Whether to show the hostname in the menubar."
-msgstr ""
+msgstr "Dacă să se afișeze numele de gazdă în bara de meniu."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:19
msgid ""
"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
msgstr ""
+"Dacă să se afișeze etichetele „Nume utilizator:” și „Parola:” (etc.) în "
+"căsuța de conectare."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "Fișierul de logo de utilizat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
-msgstr ""
+msgstr "Valoarea alfa pentru fuzionarea logo-ului pe fundal."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "Tema GTK+ de utilizat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
-msgstr ""
+msgstr "Tema GTK+ de utilizat în modul de contrast ridicat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "Tema de pictograme de utilizat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
-msgstr ""
+msgstr "Tema de pictograme de utilizat în modul de contrast ridicat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "Tema cursorului de utilizat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
-msgstr ""
+msgstr "Dimensiunea de utilizat pentru cursor."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "Fontul de utilizat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
-msgstr ""
+msgstr "Dacă se efectuează anti-aliasing (netezirea) pentru fonturile Xft."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:30
msgid "Resolution for Xft in dots per inch."
-msgstr ""
+msgstr "Rezoluția pentru Xft în puncte pe inch."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:31
msgid "What degree of hinting to use."
-msgstr ""
+msgstr "Ce grad de îmbunătățire al redării fonturilor trebuie utilizat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
-msgstr ""
+msgstr "Tipul de anti-aliasing (netezire) la nivel de subpixel."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:33
msgid "Whether to enable the onscreen keyboard."
-msgstr ""
+msgstr "Dacă se activează sau nu tastatura pe ecran."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:34
msgid "Whether to use a high contrast theme."
-msgstr ""
+msgstr "Dacă se utilizează o temă cu contrast ridicat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:35
msgid "Whether to enable the screen reader."
-msgstr ""
+msgstr "Dacă se activează cititorul de ecran."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:36
msgid "Whether to play sound when greeter is ready."
-msgstr ""
+msgstr "Dacă se va reda un sunet atunci când recepția Arctica este afișată."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
-msgstr ""
+msgstr "Ce indicatori se încarcă."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:38
msgid ""
"List of usernames that are hidden until a special key combination is hit."
msgstr ""
+"Listă de nume de utilizator care sunt ascunse până când este apăsată o "
+"combinație specială de taste."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:39
msgid ""
"List of groups that users must be part of to be shown (empty list shows all "
"users)."
msgstr ""
+"Lista grupurilor din care trebuie să facă parte utilizatorii pentru a fi "
+"afișați (lista goală afișează toți utilizatorii)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:40
msgid ""
"Number of seconds of inactivity before blanking the screen. Set to 0 to "
"never timeout."
msgstr ""
+"Numărul de secunde de inactivitate înainte de ștergerea ecranului. Stabiliți-"
+"l la 0 pentru a nu depăși niciodată timpul de așteptare."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "Dacă se activează sau nu suportul HiDPI"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
msgstr ""
+"Factorul de scalare pentru fonturi care poate fi utilizat pentru a ajusta "
+"dimensiunile fonturilor din ecranul de recepție Artica."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:43
msgid ""
"Alpha value for menubar, multiplied with the theme-provided transparency "
"value. Not used in high contrast mode."
msgstr ""
+"Valoarea alfa pentru bara de meniu, multiplicată cu valoarea de transparență "
+"furnizată de temă. Nu se utilizează în modul de contrast ridicat."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:44
msgid "Default FQDN for host offering Remote Logon Service."
msgstr ""
+"FQDN implicit pentru gazda care oferă serviciul de autentificare la distanță."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:45
msgid ""
"Whether to activate numlock. This features requires the installation of "
"numlockx."
msgstr ""
+"Dacă se activează sau nu blocarea tastelor numerice (NumLock). Această "
+"caracteristică necesită instalarea aplicației «numlockx»."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:46
msgid "Monitor on which to show the Login GUI."
-msgstr ""
+msgstr "Monitorul pe care să se afișeze interfața grafică de conectare."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:47
msgid ""
"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*."
"onboard for available layout names)."
msgstr ""
+"Numele aranjamentului tastaturii pe ecran (consultați „/usr/share/onboard/"
+"layouts/*.onboard” pentru numele aranjamentelor disponibile)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:48
msgid ""
"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
"for available theme names)."
msgstr ""
+"Numele temei tastaturii pe ecran (consultați „/usr/share/onboard/themes/*."
+"theme” pentru numele temelor disponibile)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:49
msgid ""
"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
"share/onboard/themes/*.theme for available theme names)."
msgstr ""
+"Numele temei tastaturii pe ecran în modul contrast ridicat (consultați „/usr/"
+"share/onboard/themes/*.theme” pentru numele temelor disponibile)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:50
msgid "Whether to hide the 'lightdm-xsession' default X11 session type."
-msgstr ""
+msgstr "Dacă să se ascundă tipul de sesiune X11 implicit „lightdm-xsession”."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:51
msgid "Whether to hide X11 sessions."
-msgstr ""
+msgstr "Dacă să se ascundă sesiunile X11."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:52
msgid "Whether to hide Wayland sessions."
-msgstr ""
+msgstr "Dacă să se ascundă sesiunile „Wayland”."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:53
msgid ""
"Ordered list of preferred desktop sessions (for detecting the default "
"session type)."
msgstr ""
+"Lista ordonată a sesiunilor de birou preferate (pentru detectarea tipului de "
+"sesiune implicit)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:54
msgid ""
"Time in seconds until the shutdown dialog forcefully selects the default "
"action. Set to 0 to disable."
msgstr ""
+"Timpul în secunde până când dialogul de oprire selectează forțat acțiunea "
+"implicită. Stabiliți la 0 pentru dezactivare."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:55
msgid ""
@@ -538,6 +597,9 @@ msgid ""
"explicitly listed sessions types will be offered by the greeter). Takes "
"precedence over the excluded-sessions list."
msgstr ""
+"Listă neordonată de sesiuni de birou incluse (dacă nu este goală, doar "
+"tipurile de sesiuni enumerate explicit vor fi oferite de recepția Artica). "
+"Are prioritate față de lista de sesiuni excluse „excluded-sessions”."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:56
msgid ""
@@ -545,6 +607,9 @@ msgid ""
"types will not be offered by the greeter). Only used if includeonly-sessions "
"is empty."
msgstr ""
+"Listă neordonată de sesiuni de birou excluse (dacă nu este goală, tipurile "
+"de sesiuni enumerate nu vor fi oferite de recepția Artica). Se utilizează "
+"numai dacă lista de sesiuni incluse „includeonly-sessions” este goală."
#~ msgid "Onscreen keyboard"
#~ msgstr "Tastatura virtuala"
diff --git a/po/sd.po b/po/sd.po
index 2be6ace..410cd9a 100644
--- a/po/sd.po
+++ b/po/sd.po
@@ -8,15 +8,17 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2012-01-24 16:14+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: Sindhi <sd@li.org>\n"
+"PO-Revision-Date: 2025-06-26 19:03+0000\n"
+"Last-Translator: Javaid Ahmed Solangi <jasolangi786@gmail.com>\n"
+"Language-Team: Sindhi <https://hosted.weblate.org/projects/arctica-framework/"
+"greeter/sd/>\n"
"Language: sd\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.13-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
-"X-Generator: Launchpad (build 17656)\n"
#: ../src/greeter-list.vala:306
#, c-format
@@ -50,7 +52,7 @@ msgstr ""
#: ../src/greeter-list.vala:979
msgid "Logging in…"
-msgstr "داخل ٿيندي..."
+msgstr "داخل ٿيندي…"
#: ../src/main-window.vala:56
msgid "Login Screen"
diff --git a/po/ta.po b/po/ta.po
index 63acb09..6a7dc16 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2018-12-26 08:08+0000\n"
-"Last-Translator: Yadhesh Assassin <yadheshwarran@gmail.com>\n"
+"PO-Revision-Date: 2025-04-25 09:29+0000\n"
+"Last-Translator: தமிழ்நேரம் <anishprabu.t@gmail.com>\n"
"Language-Team: Tamil <https://hosted.weblate.org/projects/arctica-framework/"
"greeter/ta/>\n"
"Language: ta\n"
@@ -17,35 +17,33 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.4-dev\n"
+"X-Generator: Weblate 5.11.1-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
-#, fuzzy, c-format
+#, c-format
msgid "Enter password for %s"
-msgstr "கடவு சொல்லை"
+msgstr "%s க்கு கடவுச்சொல்லை உள்ளிடவும்"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "உங்கள் பயனர்பெயரை உள்ளிடவும்"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
-msgstr "கடவு சொல்"
+msgstr "கடவுசொல்:"
#: ../src/greeter-list.vala:842 ../src/user-list.vala:755
-#, fuzzy
msgid "Username:"
-msgstr "பயனாளர் பெயர்"
+msgstr "பயனர்பெயர்:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "தவறான கடவு சொல், மீண்டும் முயற்சிக்கவும்."
+msgstr "தவறான பயனர்பெயர் அல்லது கடவுச்சொல், தயவுசெய்து மீண்டும் முயற்சிக்கவும்"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
-msgstr ""
+msgstr "அங்கீகரிக்கத் தவறிவிட்டது"
#: ../src/greeter-list.vala:965
msgid "Failed to start session"
@@ -53,7 +51,7 @@ msgstr "அமர்வை தொடக்குவதில் தோல்
#: ../src/greeter-list.vala:979
msgid "Logging in…"
-msgstr "உள்நுழைகிறது..."
+msgstr "உள்நுழைகிறது…"
#: ../src/main-window.vala:56
msgid "Login Screen"
@@ -65,7 +63,7 @@ msgstr "பின்செல்"
#: ../src/prompt-box.vala:305
msgid "Session Options"
-msgstr ""
+msgstr "அமர்வு விருப்பங்கள்"
#: ../src/session-list.vala:36
msgid "Select desktop environment"
@@ -73,7 +71,7 @@ msgstr "திசைமேசை சூளலை தேர்ந்தெடு"
#: ../src/shutdown-dialog.vala:146
msgid "Goodbye. Would you like to…"
-msgstr "நன்றி வணக்கம். நீங்கள் விரும்புகிறீர்களா..."
+msgstr "நன்றி வணக்கம். நீங்கள் விரும்புகிறீர்களா…"
#: ../src/shutdown-dialog.vala:152 ../src/shutdown-dialog.vala:252
msgid "Shut Down"
@@ -106,14 +104,16 @@ msgstr "மீள்துவக்கம்"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "தேர்ந்தெடுக்கப்பட்ட செயலை இப்போது செயல்படுத்துகிறது."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
msgstr[0] ""
+"தேர்ந்தெடுக்கப்பட்ட செயலைச் செய்வதற்கு முன் இன்னும் ஒரு நொடி காத்திருக்கிறது…"
msgstr[1] ""
+"தேர்ந்தெடுக்கப்பட்ட செயலைச் செய்வதற்கு முன் %u வினாடிகள் காத்திருக்கிறது…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -124,32 +124,34 @@ msgstr "%s (முன்னிருப்பு)"
#. Help string for command line --version flag
#: ../src/arctica-greeter.vala:994
msgid "Show release version"
-msgstr ""
+msgstr "வெளியீட்டு பதிப்பைக் காட்டு"
#. Help string for command line --test-mode flag
#: ../src/arctica-greeter.vala:997
msgid "Run in test mode"
-msgstr ""
+msgstr "சோதனை பயன்முறையில் இயக்கவும்"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
msgstr ""
+"A11Y HighContrast கருப்பொருள் இயக்கப்பட்ட மூலம் சோதனை பயன்முறையில் இயக்கவும்"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
msgid "- Arctica Greeter"
-msgstr ""
+msgstr "- ஆர்க்டிக் கிரீட்டர்"
#. Text printed out when an unknown command-line argument provided
#: ../src/arctica-greeter.vala:1029
#, c-format
msgid "Run '%s --help' to see a full list of available command line options."
msgstr ""
+"கிடைக்கக்கூடிய கட்டளை வரி விருப்பங்களின் முழு பட்டியலையும் காண '%s - -help' ஐ இயக்கவும்."
#: ../src/user-list.vala:49
msgid "Guest Session"
-msgstr ""
+msgstr "விருந்தினர் அமர்வு"
#: ../src/user-list.vala:480
msgid "Please enter a complete e-mail address"
@@ -162,13 +164,12 @@ msgstr "மின்னஞ்சல் அல்லது கடவுச்ச
#. dialog.secondary_text = _("If you have an account on an RDP or Citrix server, Remote Login lets you run applications from that server.");
#. For 12.10 we still don't support Citrix
#: ../src/user-list.vala:603
-#, fuzzy
msgid ""
"If you have an account on an RDP server or X2Go server, Remote Login lets "
"you run applications from that server."
msgstr ""
-"உங்களுக்கு ஆர்டிபி சேவகனில் கணக்கிருந்தால், அந்த சேவகனிலிருந்து தொலைவிலிருந்து "
-"உள்நுழைந்து பயன்பாடுகளை இயக்க வழிவகுக்கும்."
+"RDP சேவையகம் அல்லது X2GO சேவையகத்தில் உங்களிடம் கணக்கு இருந்தால், அந்த சேவையகத்திலிருந்து பயன்பாடுகளை இயக்க "
+"ரிமோட் உள்நுழைவு உங்களை அனுமதிக்கிறது."
#: ../src/user-list.vala:606
msgid "Cancel"
@@ -176,46 +177,41 @@ msgstr "இரத்துசெய்"
#: ../src/user-list.vala:607
msgid "Set Up…"
-msgstr "அமைக்க..."
+msgstr "அமைக்க…"
#: ../src/user-list.vala:609
-#, fuzzy
msgid ""
"You need a Remote Logon account to use this service. Would you like to set "
"up an account now?"
msgstr ""
-"இந்த சேவையை பயன்படுத்த உங்களுக்கு உபுண்டுவின் உள்நுழைவு கணக்கு தேவை. இப்போது உங்களுடைய "
-"கணக்கை அமைத்துக்கொள்ள விருப்பமா?"
+"இந்த சேவையைப் பயன்படுத்த உங்களுக்கு தொலை உள்நுழைவு கணக்கு தேவை. இப்போது ஒரு கணக்கை அமைக்க விரும்புகிறீர்களா?"
#: ../src/user-list.vala:613
msgid "OK"
msgstr "சரி"
#: ../src/user-list.vala:615
-#, fuzzy, c-format
+#, c-format
msgid ""
"You need a Remote Logon account to use this service. Visit %s to request an "
"account."
msgstr ""
-"இந்த சேவையை பயன்படுத்த உங்களுக்கு உபுண்டுவின் உள்நுழைவு கணக்கு தேவை. uccs.canonical."
-"com பக்கத்தை பார்த்து கணக்கை அமைத்துக்கொள்ளவும்."
+"இந்த சேவையைப் பயன்படுத்த உங்களுக்கு தொலை உள்நுழைவு கணக்கு தேவை. ஒரு கணக்கைக் கோர %s ஐப் பார்வையிடவும்."
#: ../src/user-list.vala:617
-#, fuzzy
msgid ""
"You need a Remote Logon account to use this service. Please ask your site "
"administrator for details."
msgstr ""
-"இந்த சேவையை பயன்படுத்த உங்களுக்கு உபுண்டுவின் உள்நுழைவு கணக்கு தேவை. இப்போது உங்களுடைய "
-"கணக்கை அமைத்துக்கொள்ள விருப்பமா?"
+"இந்த சேவையைப் பயன்படுத்த உங்களுக்கு தொலை உள்நுழைவு கணக்கு தேவை. விவரங்களை உங்கள் தள நிர்வாகியிடம் கேளுங்கள்."
#: ../src/user-list.vala:739
msgid "Server type not supported."
-msgstr "சேவகன் வகை ஆதரிக்கப்படதாதது"
+msgstr "சேவகன் வகை ஆதரிக்கப்படதாதது."
#: ../src/user-list.vala:767
msgid "X2Go Session:"
-msgstr ""
+msgstr "X2go அமர்வு:"
#: ../src/user-list.vala:787
msgid "Domain:"
@@ -223,17 +219,17 @@ msgstr "செயற்களம்:"
#: ../src/user-list.vala:849
msgid "Account ID"
-msgstr ""
+msgstr "கணக்கு ஐடி"
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
msgid "Log In"
-msgstr ""
+msgstr "புகுபதிகை"
#: ../src/user-list.vala:899
#, c-format
msgid "Login as %s"
-msgstr ""
+msgstr "%s ஆக உள்நுழைக"
#: ../src/user-list.vala:903
msgid "Retry"
@@ -246,12 +242,12 @@ msgstr "%s ஆக மீண்டும் முயற்சி"
#: ../src/user-list.vala:948
msgid "Login"
-msgstr ""
+msgstr "புகுபதிவு"
#: ../arctica-greeter-guest-session-auto.sh:35
#, sh-format
msgid "Temporary Guest Session"
-msgstr ""
+msgstr "தற்காலிக விருந்தினர் அமர்வு"
#: ../arctica-greeter-guest-session-auto.sh:36
#, sh-format
@@ -261,6 +257,10 @@ msgid ""
"Please save files on some external device, for instance a\n"
"USB stick, if you would like to access them again later."
msgstr ""
+"இந்த விருந்தினர் அமர்வின் போது உருவாக்கப்பட்ட அனைத்து தரவும் நீக்கப்படும்\n"
+" நீங்கள் வெளியேறும்போது, அமைப்புகள் இயல்புநிலைகளுக்கு மீட்டமைக்கப்படும்.\n"
+" சில வெளிப்புற சாதனத்தில் கோப்புகளைச் சேமிக்கவும், உதாரணமாக a\n"
+" யூ.எச்.பி ச்டிக், நீங்கள் பின்னர் அவற்றை மீண்டும் அணுக விரும்பினால்."
#: ../arctica-greeter-guest-session-auto.sh:40
#, sh-format
@@ -268,269 +268,305 @@ msgid ""
"Another alternative is to save files in the\n"
"/var/guest-data folder."
msgstr ""
+"மற்றொரு மாற்று கோப்புகளை சேமிப்பது\n"
+" /var/விருந்தினர்-தரவு கோப்புறை."
#: ../data/arctica-greeter.desktop.in.h:1
msgid "Arctica Greeter"
-msgstr ""
+msgstr "ஆர்க்டிக் கிரீட்டர்"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:1
msgid ""
"Background image file to use, either an image path or a color (e.g. #772953)."
msgstr ""
+"பயன்படுத்த வேண்டிய பின்னணி படக் கோப்பு, பட பாதை அல்லது வண்ணம் (எ.கா. #772953)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:2
msgid "Background color (e.g. #772953), set before wallpaper is seen."
msgstr ""
+"பின்னணி நிறம் (எ.கா. #772953), வால்பேப்பர் காணப்படுவதற்கு முன்பு அமைக்கப்பட்டது."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:3
msgid "Background color (e.g. #000000 or #FFFFFF) for high contrast mode."
msgstr ""
+"உயர் மாறுபட்ட பயன்முறையில் பின்னணி நிறம் (எ.கா. #000000 அல்லது #FFFFFF)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:4
msgid ""
"Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-"
"selected session names in the session list."
msgstr ""
+"அமர்வு பட்டியலில் செயலில் இல்லாத/-ஓவர் மற்றும் தேர்ந்தெடுக்கப்படாத அமர்வு பெயர்களுக்கான எழுத்துரு முன்புற வண்ணம் (எ."
+"கா. #A0A0A0)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:5
msgid ""
"Font foreground color (e.g. #A0A0A0) for the active/hovered-above session "
"name in the session list."
msgstr ""
+"அமர்வு பட்டியலில் செயலில்/சுற்றியுள்ள அமர்வு பெயருக்கான எழுத்துரு முன்புற வண்ணம் (எ.கா. #A0A0A0)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:6
msgid ""
"Font foreground color (e.g. #A0A0A0) for the selected session name in the "
"session list."
msgstr ""
+"அமர்வு பட்டியலில் தேர்ந்தெடுக்கப்பட்ட அமர்வு பெயருக்கான எழுத்துரு முன்புற வண்ணம் (எ.கா. #A0A0A0)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:7
msgid ""
"Background color (e.g. #391C31) for non-active/-hovered and non-selected "
"session names in the session list."
msgstr ""
+"அமர்வு பட்டியலில் செயலில் இல்லாத/-ஓவர் மற்றும் தேர்ந்தெடுக்கப்படாத அமர்வு பெயர்களுக்கான பின்னணி நிறம் (எ.கா. "
+"#391C31)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:8
msgid ""
"Background color (e.g. #391C31) for the active/hovered-above session name in "
"the session list."
msgstr ""
+"அமர்வு பட்டியலில் செயலில்/சுற்றப்பட்ட அமர்வு பெயருக்கான பின்னணி நிறம் (எ.கா. #391C31)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:9
msgid ""
"Background color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"அமர்வு பட்டியலில் தேர்ந்தெடுக்கப்பட்ட அமர்வு பெயருக்கு பின்னணி நிறம் (எ.கா. #391C31)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:10
msgid ""
"Border color (e.g. #391C31) for non-active/-hovered and non-selected session "
"names in the session list."
msgstr ""
+"அமர்வு பட்டியலில் செயலில் இல்லாத/-ஓவர் மற்றும் தேர்ந்தெடுக்கப்படாத அமர்வு பெயர்களுக்கான எல்லை நிறம் (எ.கா. "
+"#391C31)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:11
msgid ""
"Border color (e.g. #391C31) for the active/hovered-above session name in the "
"session list."
msgstr ""
+"அமர்வு பட்டியலில் செயலில்/சுற்றிய அமர்வு பெயருக்கான எல்லை நிறம் (எ.கா. #391C31)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:12
msgid ""
"Border color (e.g. #391C31) for the selected session name in the session "
"list."
msgstr ""
+"அமர்வு பட்டியலில் தேர்ந்தெடுக்கப்பட்ட அமர்வு பெயருக்கு எல்லை நிறம் (எ.கா. #391C31)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:13
msgid ""
"Background color (e.g. #391C31) of flat buttons (e.g. the session chooser "
"icon)."
msgstr ""
+"தட்டையான பொத்தான்களின் பின்னணி நிறம் (எ.கா. #391C31) (எ.கா. அமர்வு தேர்வு ஐகான்)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:14
msgid ""
"Border color (e.g. #391C31) of flat buttons (e.g. the session chooser icon)."
msgstr ""
+"தட்டையான பொத்தான்களின் எல்லை நிறம் (எ.கா. #391C31) (எ.கா. அமர்வு தேர்வு ஐகான்)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:15
msgid "Determines how the background image is rendered."
-msgstr ""
+msgstr "பின்னணி படம் எவ்வாறு வழங்கப்படுகிறது என்பதை தீர்மானிக்கிறது."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:16
msgid "Whether to draw user backgrounds."
-msgstr ""
+msgstr "பயனர் பின்னணியை வரைய வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:17
msgid "Whether to draw an overlay grid."
-msgstr ""
+msgstr "மேலடுக்கு கட்டத்தை வரைய வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:18
msgid "Whether to show the hostname in the menubar."
-msgstr ""
+msgstr "மெனுபாரில் ஓச்ட்பெயரைக் காட்ட வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:19
msgid ""
"Whether to show 'Username:' and 'Password:' labels (etc.) in the login box."
msgstr ""
+"உள்நுழைவு பெட்டியில் 'பயனர்பெயர்:' மற்றும் 'கடவுச்சொல்:' லேபிள்கள் (முதலியன) காட்ட வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:20
msgid "Logo file to use."
-msgstr ""
+msgstr "பயன்படுத்த லோகோ கோப்பு."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:21
msgid "Alpha value for blending the logo onto the background."
-msgstr ""
+msgstr "லோகோவை பின்னணியில் கலப்பதற்கான ஆல்பா மதிப்பு."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:22
msgid "GTK+ theme to use."
-msgstr ""
+msgstr "பயன்படுத்த GTK+ கருப்பொருள்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:23
msgid "GTK+ theme to use in high contrast mode."
-msgstr ""
+msgstr "சி.டி.கே+ கருப்பொருள் உயர் மாறுபட்ட பயன்முறையில் பயன்படுத்த."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:24
msgid "Icon theme to use."
-msgstr ""
+msgstr "பயன்படுத்த படவுரு கருப்பொருள்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:25
msgid "Icon theme to use in high contrast mode."
-msgstr ""
+msgstr "அதிக மாறுபட்ட பயன்முறையில் பயன்படுத்த படவுரு கருப்பொருள்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:26
msgid "Cursor theme to use."
-msgstr ""
+msgstr "பயன்படுத்த கர்சர் கருப்பொருள்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:27
msgid "Size to use for cursors."
-msgstr ""
+msgstr "கர்சர்களுக்கு பயன்படுத்த வேண்டிய அளவு."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:28
msgid "Font to use."
-msgstr ""
+msgstr "பயன்படுத்த எழுத்துரு."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:29
msgid "Whether to antialias Xft fonts."
-msgstr ""
+msgstr "ஆன்டியாலியாச் எக்ச்எஃப்டி எழுத்துருக்கள்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:30
msgid "Resolution for Xft in dots per inch."
-msgstr ""
+msgstr "ஒரு அங்குலத்திற்கு புள்ளிகளில் XFT க்கான தீர்மானம்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:31
msgid "What degree of hinting to use."
-msgstr ""
+msgstr "எந்த அளவிலான குறிப்பைப் பயன்படுத்த வேண்டும்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:32
msgid "Type of subpixel antialiasing."
-msgstr ""
+msgstr "சப் படப்புள்ளி ஆன்டியாலியாசிங் வகை."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:33
msgid "Whether to enable the onscreen keyboard."
-msgstr ""
+msgstr "திரை விசைப்பலகை இயக்க வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:34
msgid "Whether to use a high contrast theme."
-msgstr ""
+msgstr "உயர் மாறுபட்ட கருப்பொருளைப் பயன்படுத்த வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:35
msgid "Whether to enable the screen reader."
-msgstr ""
+msgstr "திரை வாசகரை இயக்க வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:36
msgid "Whether to play sound when greeter is ready."
-msgstr ""
+msgstr "வாழ்த்துக்காரர் தயாராக இருக்கும்போது ஒலி இயக்க வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:37
msgid "Which indicators to load."
-msgstr ""
+msgstr "எந்த குறிகாட்டிகள் ஏற்ற வேண்டும்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:38
msgid ""
"List of usernames that are hidden until a special key combination is hit."
msgstr ""
+"ஒரு சிறப்பு முக்கிய சேர்க்கை தாக்கும் வரை மறைக்கப்பட்ட பயனர்பெயர்களின் பட்டியல்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:39
msgid ""
"List of groups that users must be part of to be shown (empty list shows all "
"users)."
msgstr ""
+"பயனர்கள் காட்டப்பட வேண்டிய ஒரு பகுதியாக இருக்க வேண்டிய குழுக்களின் பட்டியல் (வெற்று பட்டியல் அனைத்து பயனர்களையும் "
+"காட்டுகிறது)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:40
msgid ""
"Number of seconds of inactivity before blanking the screen. Set to 0 to "
"never timeout."
msgstr ""
+"திரையை வெடிக்கச் செய்வதற்கு முன் செயலற்ற வினாடிகளின் எண்ணிக்கை. ஒருபோதும் நேரம் முடிவடையாது."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:41
msgid "Whether to enable HiDPI support"
-msgstr ""
+msgstr "HIDPI ஆதரவை இயக்க வேண்டுமா"
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:42
msgid ""
"Scaling factor for fonts that can be used to adjust the greeter's font sizes."
msgstr ""
+"கல்லீரல் எழுத்துரு அளவுகளை சரிசெய்ய பயன்படுத்தக்கூடிய எழுத்துருக்களுக்கான அளவிடுதல் காரணி."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:43
msgid ""
"Alpha value for menubar, multiplied with the theme-provided transparency "
"value. Not used in high contrast mode."
msgstr ""
+"மெனுபாருக்கான ஆல்பா மதிப்பு, கருப்பொருள் வழங்கிய வெளிப்படைத்தன்மை மதிப்புடன் பெருக்கப்படுகிறது. உயர் மாறுபட்ட பயன்முறையில்"
+" பயன்படுத்தப்படவில்லை."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:44
msgid "Default FQDN for host offering Remote Logon Service."
-msgstr ""
+msgstr "தொலைநிலை உள்நுழைவு சேவையை வழங்குவதற்கான இயல்புநிலை FQDN."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:45
msgid ""
"Whether to activate numlock. This features requires the installation of "
"numlockx."
msgstr ""
+"நம்ப்லாக் செயல்படுத்த வேண்டுமா. இந்த அம்சங்களுக்கு Numlockx நிறுவல் தேவைப்படுகிறது."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:46
msgid "Monitor on which to show the Login GUI."
-msgstr ""
+msgstr "உள்நுழைவு GUI ஐக் காண்பிப்பதைக் கண்காணிக்கவும்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:47
msgid ""
"Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/*."
"onboard for available layout names)."
msgstr ""
+"திரை விசைப்பலகை தளவமைப்பின் பெயர் (கிடைக்கக்கூடிய தளவமைப்பு பெயர்களுக்கு /usr/share/onboard/layouts/*."
+"onboard ஐப் பார்க்கவும்)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:48
msgid ""
"Name of the onscreen keyboard theme (see /usr/share/onboard/themes/*.theme "
"for available theme names)."
msgstr ""
+"திரை விசைப்பலகை கருப்பொருளின் பெயர் (கிடைக்கக்கூடிய கருப்பொருள் பெயர்களுக்கு /usr/share/onboard/themes/*."
+"theme ஐப் பார்க்கவும்)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:49
msgid ""
"Name of the onscreen keyboard theme when in high contrast mode (see /usr/"
"share/onboard/themes/*.theme for available theme names)."
msgstr ""
+"அதிக மாறுபட்ட பயன்முறையில் இருக்கும்போது திரை விசைப்பலகை கருப்பொருளின் பெயர் (கிடைக்கக்கூடிய கருப்பொருள் பெயர்களுக்கு /"
+"usr/share/onboard/themes/*.theme ஐப் பார்க்கவும்)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:50
msgid "Whether to hide the 'lightdm-xsession' default X11 session type."
-msgstr ""
+msgstr "'LightDM-XSESSION' இயல்புநிலை x11 அமர்வு வகையை மறைக்க வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:51
msgid "Whether to hide X11 sessions."
-msgstr ""
+msgstr "X11 அமர்வுகளை மறைக்க வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:52
msgid "Whether to hide Wayland sessions."
-msgstr ""
+msgstr "வேலண்ட் அமர்வுகளை மறைக்க வேண்டுமா."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:53
msgid ""
"Ordered list of preferred desktop sessions (for detecting the default "
"session type)."
msgstr ""
+"விருப்பமான டெச்க்டாப் அமர்வுகளின் ஆர்டர் செய்யப்பட்ட பட்டியல் (இயல்புநிலை அமர்வு வகையைக் கண்டறிவதற்கு)."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:54
msgid ""
"Time in seconds until the shutdown dialog forcefully selects the default "
"action. Set to 0 to disable."
msgstr ""
+"பணிநிறுத்தம் உரையாடல் இயல்புநிலை செயலை வலுக்கட்டாயமாகத் தேர்ந்தெடுக்கும் வரை விநாடிகளில் நேரம். முடக்க 0 என அமைக்கவும்."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:55
msgid ""
@@ -538,6 +574,9 @@ msgid ""
"explicitly listed sessions types will be offered by the greeter). Takes "
"precedence over the excluded-sessions list."
msgstr ""
+"சேர்க்கப்படாத-மட்டும் டெச்க்டாப் அமர்வுகளின் வரிசைப்படுத்தப்படாத பட்டியல் (காலியாக இல்லாதிருந்தால், வெளிப்படையாக "
+"பட்டியலிடப்பட்ட அமர்வுகள் வகைகள் மட்டுமே பசுமைவாதியால் வழங்கப்படும்). விலக்கப்பட்ட-அமர்வுகள் பட்டியலில் முன்னுரிமை "
+"பெறுகிறது."
#: ../data/org.ArcticaProject.arctica-greeter.gschema.xml:56
msgid ""
@@ -545,6 +584,8 @@ msgid ""
"types will not be offered by the greeter). Only used if includeonly-sessions "
"is empty."
msgstr ""
+"விலக்கப்பட்ட டெச்க்டாப் அமர்வுகளின் வரிசைப்படுத்தப்படாத பட்டியல் (காலியாக இல்லாத, பட்டியலிடப்பட்ட அமர்வுகள் வகைகள் "
+"பாட்டி வழங்கப்படாது). சேர்க்கை-அமர்வுகள் காலியாக இருந்தால் மட்டுமே பயன்படுத்தப்படுகிறது."
#, fuzzy
#~ msgid "Onscreen keyboard"
diff --git a/po/te.po b/po/te.po
index 19772f0..f1f0533 100644
--- a/po/te.po
+++ b/po/te.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2018-05-31 20:46+0000\n"
-"Last-Translator: Aashish Chenna <aashish.chenna@outlook.com>\n"
+"PO-Revision-Date: 2025-05-09 05:01+0000\n"
+"Last-Translator: Putta Anantha Lakshmi <2300033218@kluniversity.in>\n"
"Language-Team: Telugu <https://hosted.weblate.org/projects/arctica-framework/"
"greeter/te/>\n"
"Language: te\n"
@@ -17,50 +17,49 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.0-dev\n"
+"X-Generator: Weblate 5.12-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
#, c-format
msgid "Enter password for %s"
-msgstr "%s కొరకు పాస్ వర్డ్ వ్రాయండి"
+msgstr "%s కోసం పాస్ వర్డ్ ప్రవేశించండి"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "మీ వినియోగదారు పేరును నమోదు చేయండి"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
-msgstr "పాస్ వర్డ్:"
+msgstr "సంకేతపదం:"
#: ../src/greeter-list.vala:842 ../src/user-list.vala:755
msgid "Username:"
-msgstr "వాడుక పేరు:"
+msgstr "వినియోగదారు పేరు:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "గుర్తింపు పదము/పాస్ వర్డ్ తప్పు, మళ్ళీ ప్రయత్నించండి"
+msgstr "చెల్లని వినియోగదారు పేరు లేదా సంకేతపదం, దయచేసి మళ్లీ ప్రయత్నించండి"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
-msgstr "దీనిని ధ్రువీకరించలేము"
+msgstr "ధృవీకరణ విఫలమైంది"
#: ../src/greeter-list.vala:965
msgid "Failed to start session"
-msgstr "సమావేశం మొదలు పెట్టటం విఫలమైంది"
+msgstr "\"సెషన్ ప్రారంభించడంలో విఫలమైంది\""
#: ../src/greeter-list.vala:979
msgid "Logging in…"
-msgstr "లాగిన్/ప్రవేశ చేయబడుతుంది…"
+msgstr "లాగిన్ చేయబడుతుంది…"
#: ../src/main-window.vala:56
msgid "Login Screen"
-msgstr "లాగిన్/ప్రవేశ తెర"
+msgstr "ప్రవేశపెట్టే పటం"
#: ../src/main-window.vala:107
msgid "Back"
-msgstr "వెనుకకి"
+msgstr "తిరిగి"
#: ../src/prompt-box.vala:305
msgid "Session Options"
@@ -68,49 +67,51 @@ msgstr "సమావేశ ఎంపికలు"
#: ../src/session-list.vala:36
msgid "Select desktop environment"
-msgstr "డెస్క్టాప్ వాతావరణాన్ని ఎంచుకో"
+msgstr "డెస్క్‌టాప్ పరిసరాన్ని ఎంచుకోండి"
#: ../src/shutdown-dialog.vala:146
msgid "Goodbye. Would you like to…"
-msgstr "సెలవు. మీరు…"
+msgstr "వీడ్కోలు. మీరు ... చేయాలనుకుంటున్నారా?"
#: ../src/shutdown-dialog.vala:152 ../src/shutdown-dialog.vala:252
msgid "Shut Down"
-msgstr "మూసివేయి"
+msgstr "ఆపివేయి"
#: ../src/shutdown-dialog.vala:156
msgid "Are you sure you want to shut down the computer?"
-msgstr "మీరు ఖచ్చితంగా మూసివేయాలని కోరుతున్నారా?"
+msgstr "మీరు కంప్యూటర్‌ను మూసివేయాలనుకుంటున్నారా?"
#: ../src/shutdown-dialog.vala:181
msgid ""
"Other users are currently logged in to this computer, shutting down now will "
"also close these other sessions."
-msgstr "వేరే వాడుకదారి ప్రస్తుతం లాగిన్ చేసి ఉన్నారు. ఇప్పుడు మూసివేస్తే వారి సమావేశాలు కూడా మూసివేయబడతాయి."
+msgstr ""
+"ఈ కంప్యూటర్‌లో ప్రస్తుతం ఇతర వినియోగదారులు లాగిన్ అయ్యారు, ఇప్పుడు మూసివేయడం అనగా ఈ ఇతర సెషన్లను "
+"కూడా మూసివేస్తుంది."
#: ../src/shutdown-dialog.vala:198
msgid "Suspend"
-msgstr "తాత్కాలికంగా మూసివేయి"
+msgstr "నిలిపివేయి"
#: ../src/shutdown-dialog.vala:215
msgid "Hibernate"
-msgstr "సోమరి"
+msgstr "శిధిలావస్థలోకి వెళ్లి"
#: ../src/shutdown-dialog.vala:233
msgid "Restart"
-msgstr "మరల ప్రారంభించు"
+msgstr "మళ్లీ ప్రారంభించు"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "ప్రస్తుతం ఎంపిక చేసిన చర్యను అమలు చేస్తున్నాము."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ఒకవేళ: ఎంపిక చేసిన చర్యను అమలు చేసేముందు మరొక సెకనుకు వేచివున్నాను…"
+msgstr[1] "బహువచన: ఎంపిక చేసిన చర్యను అమలు చేసేముందు %u సెకన్లపాటు వేచివున్నాను…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
@@ -121,36 +122,36 @@ msgstr "%s (డిఫాల్ట్)"
#. Help string for command line --version flag
#: ../src/arctica-greeter.vala:994
msgid "Show release version"
-msgstr "విడుదల వెర్షన్ను చూపించు"
+msgstr "విడుదల వెర్షన్‌ను చూపించు"
#. Help string for command line --test-mode flag
#: ../src/arctica-greeter.vala:997
msgid "Run in test mode"
-msgstr "శోధన స్థితిలో నడిపించు"
+msgstr "పరీక్ష మోదులో నడుపు"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
-msgstr ""
+msgstr "పరీక్ష మోదులో a11y హై కాంట్రాస్ట్ థీమ్‌ను ప్రారంభించి నడుపు"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
msgid "- Arctica Greeter"
-msgstr "- అర్క్టికా గ్రీటర్"
+msgstr "- ఆర్క్టికా ఆహ్వానికుడు"
#. Text printed out when an unknown command-line argument provided
#: ../src/arctica-greeter.vala:1029
#, c-format
msgid "Run '%s --help' to see a full list of available command line options."
-msgstr "పూర్తి కమాండ్ లైన్ విషయసూచిక కొరకు '%s --help' ను నడపండి."
+msgstr "లభ్యమైన కమాండ్ లైన్ ఎంపికల పూర్తి జాబితాを見るには '%s --help' ను నడపండి."
#: ../src/user-list.vala:49
msgid "Guest Session"
-msgstr "అతిధి సమావేశం"
+msgstr "అతిథి సెషన్"
#: ../src/user-list.vala:480
msgid "Please enter a complete e-mail address"
-msgstr "దయచేసి పూర్తి ఈమెయిల్ అడ్డ్రెస్ రాయండి"
+msgstr "దయచేసి పూర్తిగా ఇమెయిల్ చిరునామాను నమోదు చేయండి"
#: ../src/user-list.vala:569
msgid "Incorrect e-mail address or password"
diff --git a/po/ug.po b/po/ug.po
index 818893b..7aee895 100644
--- a/po/ug.po
+++ b/po/ug.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2020-05-09 07:12+0000\n"
-"Last-Translator: Abdusalam <1810010207@s.upc.edu.cn>\n"
+"PO-Revision-Date: 2025-03-30 01:00+0000\n"
+"Last-Translator: Salkin <alimdayim@gmail.com>\n"
"Language-Team: Uyghur <https://hosted.weblate.org/projects/arctica-framework/"
"greeter/ug/>\n"
"Language: ug\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.1-dev\n"
+"X-Generator: Weblate 5.11-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -27,7 +27,7 @@ msgstr "%s نىڭ شىفىرىنى كىرگۈزۈڭ"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "ئىشلەتكۈچى ئىسمىڭىزنى كىرگۈزۈڭ"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -38,9 +38,8 @@ msgid "Username:"
msgstr "ئىشلەتكۈچى ئاتى:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "شىفىر خاتا، قايتا سىناڭ"
+msgstr "شىفىر خاتا ياكى ئىشلەتكۈچى ئىسمى ئىناۋەتسىز ، قايتا سىناڭ"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
@@ -105,14 +104,14 @@ msgstr "قايتا قوزغات"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "تاللانغان ھەرىكەتنى ئىجرا قىلىش."
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "تاللانغان مەشغۇلاتنى ئىجرا قىلىشتىن بۇرۇن يەنە بىر سېكۇنت ساقلاش…"
+msgstr[1] "تاللانغان مەشغۇلاتنى ئىجرا قىلىشتىن ئىلگىرى %u سېكۇنت ساقلاش…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
diff --git a/po/ur.po b/po/ur.po
index 6858ab8..66ec639 100644
--- a/po/ur.po
+++ b/po/ur.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2021-09-30 11:35+0000\n"
-"Last-Translator: Civil 056DB <ashoksada.spj1986@gmail.com>\n"
+"PO-Revision-Date: 2025-06-26 19:03+0000\n"
+"Last-Translator: Javaid Ahmed Solangi <jasolangi786@gmail.com>\n"
"Language-Team: Urdu <https://hosted.weblate.org/projects/arctica-framework/"
"greeter/ur/>\n"
"Language: ur\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 5.13-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -39,9 +39,8 @@ msgid "Username:"
msgstr "صارف نام:"
#: ../src/greeter-list.vala:906
-#, fuzzy
msgid "Invalid username or password, please try again"
-msgstr "غلط حروف شناخت، براہ کرم درست حروف شناخت مہیا کر کے دوبارہ کوشش کریں"
+msgstr "غلط حروف شناخت، براہ کرم درست حروف شناخت مہیا کر کے دوبارہ کوشش کریں"
#: ../src/greeter-list.vala:917
msgid "Failed to authenticate"
@@ -49,7 +48,7 @@ msgstr "توثیق کرنے میں ناکامی ہوئی"
#: ../src/greeter-list.vala:965
msgid "Failed to start session"
-msgstr "سیشن شروع کرنے میں ناکام۔"
+msgstr "سیشن شروع کرنے میں ناکام"
#: ../src/greeter-list.vala:979
msgid "Logging in…"
@@ -61,7 +60,7 @@ msgstr "لاگ ان سکرین"
#: ../src/main-window.vala:107
msgid "Back"
-msgstr "لاگ ان ہو رہا ہے…"
+msgstr "پیچھے"
#: ../src/prompt-box.vala:305
msgid "Session Options"
@@ -69,15 +68,15 @@ msgstr "دورانیہ کے اختیارات"
#: ../src/session-list.vala:36
msgid "Select desktop environment"
-msgstr "ڈیسک ٹاپ ماحول منتخب کریں۔"
+msgstr "ڈیسک ٹاپ ماحول منتخب کریں"
#: ../src/shutdown-dialog.vala:146
msgid "Goodbye. Would you like to…"
-msgstr "خدا حافظ. کیا آپ پسند کریں گے…"
+msgstr "خدا حافظ. کیا آپ پسند کریں گے…"
#: ../src/shutdown-dialog.vala:152 ../src/shutdown-dialog.vala:252
msgid "Shut Down"
-msgstr "شٹ ڈاؤن۔"
+msgstr "شٹ ڈاؤن"
#: ../src/shutdown-dialog.vala:156
msgid "Are you sure you want to shut down the computer?"
@@ -106,20 +105,20 @@ msgstr "دوبارہ شروع کریں"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "اب منتخب کردہ کارروائی کو انجام دیا جا رہا ہے۔"
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "منتخب کارروائی کو انجام دینے سے پہلے ایک سیکنڈ اور انتظار کر رہے ہیں…"
+msgstr[1] "منتخب عمل کو انجام دینے سے پہلے %u سیکنڈ انتظار کر رہے ہیں…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
#, c-format
msgid "%s (Default)"
-msgstr "٪ s (ڈیفالٹ)"
+msgstr "%s(ڈیفالٹ)"
#. Help string for command line --version flag
#: ../src/arctica-greeter.vala:994
@@ -134,7 +133,7 @@ msgstr "آزمائشی انداز میں چلائیں"
#. Help string for command line --test-highcontrast flag
#: ../src/arctica-greeter.vala:1000
msgid "Run in test mode with a11y highcontrast theme enabled"
-msgstr ""
+msgstr "A11y ہائی کنٹراسٹ تھیم کے ساتھ ٹیسٹ موڈ میں چلائیں"
#. Arguments and description for --help text
#: ../src/arctica-greeter.vala:1006
@@ -153,11 +152,11 @@ msgstr "مِہمان کا دورانیہ"
#: ../src/user-list.vala:480
msgid "Please enter a complete e-mail address"
-msgstr "براہ کرم ایک مکمل ای میل پتہ درج کریں۔"
+msgstr "براہ کرم ایک مکمل ای میل پتہ درج کریں"
#: ../src/user-list.vala:569
msgid "Incorrect e-mail address or password"
-msgstr "غلط ای میل پتہ یا پاس ورڈ۔"
+msgstr "غلط ای میل پتہ یا پاس ورڈ"
#. dialog.secondary_text = _("If you have an account on an RDP or Citrix server, Remote Login lets you run applications from that server.");
#. For 12.10 we still don't support Citrix
@@ -182,8 +181,8 @@ msgid ""
"You need a Remote Logon account to use this service. Would you like to set "
"up an account now?"
msgstr ""
-"اس سروس کو استعمال کرنے کے لیے آپ کو ریموٹ لاگ ان اکاؤنٹ کی ضرورت ہے۔ کیا "
-"آپ ابھی ایک اکاؤنٹ ترتیب دینا چاہیں گے؟"
+"اس سروس کو استعمال کرنے کے لیے آپ کو ریموٹ لاگ ان اکاؤنٹ کی ضرورت ہے۔ کیا آپ "
+"ابھی ایک اکاؤنٹ ترتیب دینا چاہیں گے؟"
#: ../src/user-list.vala:613
msgid "OK"
@@ -195,15 +194,15 @@ msgid ""
"You need a Remote Logon account to use this service. Visit %s to request an "
"account."
msgstr ""
-"اس سروس کو استعمال کرنے کے لیے آپ کو ریموٹ لاگ ان اکاؤنٹ کی ضرورت ہے۔ "
-"اکاؤنٹ کی درخواست کرنے کے لیے٪ s ملاحظہ کریں۔"
+"اس سروس کو استعمال کرنے کے لیے آپ کو ریموٹ لاگ ان اکاؤنٹ کی ضرورت ہے۔ اکاؤنٹ "
+"کی درخواست کرنے کے لیے %s ملاحظہ کریں۔"
#: ../src/user-list.vala:617
msgid ""
"You need a Remote Logon account to use this service. Please ask your site "
"administrator for details."
msgstr ""
-"اس سروس کو استعمال کرنے کے لیے آپ کو ریموٹ لاگ ان اکاؤنٹ کی ضرورت ہے۔ براہ "
+"اس سروس کو استعمال کرنے کے لیے آپ کو ریموٹ لاگ ان اکاؤنٹ کی ضرورت ہے۔ براہ "
"کرم تفصیلات کے لیے اپنی سائٹ کے منتظم سے پوچھیں۔"
#: ../src/user-list.vala:739
@@ -225,7 +224,7 @@ msgstr "اکاؤنٹ کی شناخت"
#. 'Log In' here is the button for logging in.
#: ../src/user-list.vala:898
msgid "Log In"
-msgstr "لاگ ان"
+msgstr "لاگ ان کریں"
#: ../src/user-list.vala:899
#, c-format
@@ -239,7 +238,7 @@ msgstr "دوبارہ کوشش"
#: ../src/user-list.vala:904
#, c-format
msgid "Retry as %s"
-msgstr "٪ s کے طور پر دوبارہ کوشش کریں"
+msgstr "%s کے طور پر دوبارہ کوشش کریں"
#: ../src/user-list.vala:948
msgid "Login"
@@ -248,7 +247,7 @@ msgstr "لاگ ان"
#: ../arctica-greeter-guest-session-auto.sh:35
#, sh-format
msgid "Temporary Guest Session"
-msgstr "عارضی مہمان سیشن۔"
+msgstr "عارضی مہمان سیشن"
#: ../arctica-greeter-guest-session-auto.sh:36
#, sh-format
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 958df16..6f748e3 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: arctica-greeter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 22:14+0200\n"
-"PO-Revision-Date: 2022-10-02 10:19+0000\n"
-"Last-Translator: Eric <hamburger1024@mailbox.org>\n"
+"PO-Revision-Date: 2024-08-07 06:09+0000\n"
+"Last-Translator: Jason Cai <caijiajun2010@outlook.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"arctica-framework/greeter/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 5.7-dev\n"
"X-Launchpad-Export-Date: 2015-08-05 05:27+0000\n"
#: ../src/greeter-list.vala:306
@@ -27,7 +27,7 @@ msgstr "为 %s 输入密码"
#: ../src/greeter-list.vala:308
msgid "Enter your username"
-msgstr ""
+msgstr "输入您的用户名"
#: ../src/greeter-list.vala:837 ../src/user-list.vala:761
msgid "Password:"
@@ -103,13 +103,13 @@ msgstr "重启"
#. Fun begins here, actually trigger option.
#: ../src/shutdown-dialog.vala:297
msgid "Executing selected action now."
-msgstr ""
+msgstr "将执行下面被选择了的功能。"
#: ../src/shutdown-dialog.vala:331
#, c-format
msgid "Waiting one more second before executing selected action …"
msgid_plural "Waiting %u seconds before executing selected action …"
-msgstr[0] ""
+msgstr[0] "在执行被选择了的功能前请等候%u秒…"
#. Translators: %s is a session name like KDE or Ubuntu
#: ../src/toggle-box.vala:205
diff --git a/src/Makefile.am b/src/Makefile.am
index bb91f59..7ddcf57 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -91,7 +91,5 @@ arctica_greeter_LDADD = \
logo_generator_LDADD = $(arctica_greeter_LDADD)
-arctica_greeter_vala.stamp: $(top_srcdir)/config.h
-
DISTCLEANFILES = \
Makefile.in
diff --git a/src/animate-timer.vala b/src/animate-timer.vala
index 9f92448..4879cb0 100644
--- a/src/animate-timer.vala
+++ b/src/animate-timer.vala
@@ -2,6 +2,7 @@
*
* Copyright (C) 2011,2012 Canonical Ltd
* Copyright (C) 2015 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ * Copyright (C) 2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -18,6 +19,7 @@
* Authors: Robert Ancell <robert.ancell@canonical.com>
* Michael Terry <michael.terry@canonical.com>
* Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ * Robert Tari <robert@tari.in>
*/
private class AnimateTimer : Object
@@ -32,7 +34,7 @@ private class AnimateTimer : Object
public const int SLOW = 1000; /* Good for animations that convey information that is only presented in the animation */
/* speed is in milliseconds */
- public unowned EasingFunc easing_func { get; private set; }
+ public unowned EasingFunc easing_func;
public int speed { get; set; }
public bool is_running { get { return timeout != 0; } }
public double progress { get; private set; }
diff --git a/src/arctica-greeter.vala b/src/arctica-greeter.vala
index a2aa59e..5eb8a59 100644
--- a/src/arctica-greeter.vala
+++ b/src/arctica-greeter.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2011 Canonical Ltd
* Copyright (C) 2015-2017 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
- * Copyright (C) 2023-2024 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -21,7 +21,6 @@
* Robert Tari <robert@tari.in>
*/
-public const int grid_size = 40;
[SingleInstance]
public class ArcticaGreeter : Object
@@ -35,6 +34,12 @@ public class ArcticaGreeter : Object
public Gtk.Window? pMagnifierWindow { get; set; default = null; }
public bool test_mode { get; construct; default = false; }
public bool test_highcontrast { get; construct; default = false; }
+
+ // Menubar is smaller, but with shadow, we reserve more space
+ public int menubar_height { get; set; default = 32 + 8; }
+ public int grid_size { get; set; default = 40; }
+ public double scaling_factor_widgets { get; set; default = 1; }
+
private string state_file;
private KeyFile state;
private DBusServer pServer;
@@ -54,6 +59,10 @@ public class ArcticaGreeter : Object
public signal void xsettings_ready ();
public signal void greeter_ready ();
+ public List<Pid> indicator_service_pids;
+ Pid notificationdaemon_pid = 0;
+ Pid windowmanager_pid = 0;
+
construct
{
Bus.own_name (BusType.SESSION, "org.ayatana.greeter", BusNameOwnerFlags.NONE, onBusAcquired);
@@ -102,14 +111,19 @@ public class ArcticaGreeter : Object
state_file = Path.build_filename (state_dir, state_file_name);
state = new KeyFile ();
- try
- {
- state.load_from_file (state_file, KeyFileFlags.NONE);
+ if (FileUtils.test (state_file, FileTest.EXISTS)) {
+ try
+ {
+ state.load_from_file (state_file, KeyFileFlags.NONE);
+ }
+ catch (Error e)
+ {
+ if (!(e is FileError.NOENT))
+ warning ("Failed to load state from %s: %s\n", state_file, e.message);
+ }
}
- catch (Error e)
- {
- if (!(e is FileError.NOENT))
- warning ("Failed to load state from %s: %s\n", state_file, e.message);
+ else {
+ debug ("State file does not (yet) exist: %s\n", state_file);
}
}
@@ -246,58 +260,75 @@ public class ArcticaGreeter : Object
public string? get_default_session ()
{
- var sessions = new List<string> ();
+ var available_sessions = new List<string> ();
var hide_default_xsession = AGSettings.get_boolean (AGSettings.KEY_HIDE_DEFAULT_XSESSION);
+
+ /* Debian/Ubuntu style of defining the default xsession.
+ */
if (!hide_default_xsession) {
- sessions.append ("lightdm-xsession");
+ var default_session_path_suse = Path.build_filename ("/usr/share/xsessions/default.desktop", null);
+ var default_session_path_deb = Path.build_filename ("/usr/share/xsessions/lightdm-xsession.desktop", null);
+ if (FileUtils.test (default_session_path_suse, FileTest.EXISTS)) {
+ /* openSUSE/SLED style of defining the default xsession.
+ */
+ available_sessions.append ("default");
+ }
+ else if (FileUtils.test (default_session_path_deb, FileTest.EXISTS)) {
+ /* Debian/Ubuntu style of defining the default xsession.
+ */
+ available_sessions.append ("lightdm-xsession");
+ }
}
var preferred_sessions = AGSettings.get_strv (AGSettings.KEY_PREFERRED_SESSIONS);
+ if (preferred_sessions.length > 0) {
+ foreach (var preferred_session in preferred_sessions) {
+ available_sessions.append (preferred_session);
+ }
- foreach (var preferred_session in preferred_sessions) {
- sessions.append (preferred_session);
- }
-
- var excluded_sessions = AGSettings.get_strv (AGSettings.KEY_EXCLUDED_SESSIONS);
- var includeonly_sessions = AGSettings.get_strv (AGSettings.KEY_INCLUDEONLY_SESSIONS);
+ var excluded_sessions = AGSettings.get_strv (AGSettings.KEY_EXCLUDED_SESSIONS);
+ var includeonly_sessions = AGSettings.get_strv (AGSettings.KEY_INCLUDEONLY_SESSIONS);
- if (!AGSettings.get_boolean (AGSettings.KEY_HIDE_WAYLAND_SESSIONS)) {
- foreach (string session in sessions) {
- if (includeonly_sessions.length > 0) {
- if (!(session in includeonly_sessions)) {
+ if (!AGSettings.get_boolean (AGSettings.KEY_HIDE_WAYLAND_SESSIONS)) {
+ foreach (string session in available_sessions) {
+ if (includeonly_sessions.length > 0) {
+ if (!(session in includeonly_sessions)) {
+ continue;
+ }
+ }
+ else if (session in excluded_sessions) {
continue;
}
- }
- else if (session in excluded_sessions) {
- continue;
- }
- var path = Path.build_filename ("/usr/share/wayland-sessions/", session.concat(".desktop"), null);
- if (FileUtils.test (path, FileTest.EXISTS)) {
- debug ("Using %s as default (Wayland) session.", session);
- return session;
+ var path = Path.build_filename ("/usr/share/wayland-sessions/", session.concat(".desktop"), null);
+ if (FileUtils.test (path, FileTest.EXISTS)) {
+ debug ("Using %s as default (Wayland) session.", session);
+ return session;
+ }
}
}
- }
- if (!AGSettings.get_boolean (AGSettings.KEY_HIDE_X11_SESSIONS)) {
- foreach (string session in sessions) {
- if (includeonly_sessions.length > 0) {
- if (!(session in includeonly_sessions)) {
+ if (!AGSettings.get_boolean (AGSettings.KEY_HIDE_X11_SESSIONS)) {
+ foreach (string session in available_sessions) {
+ if (includeonly_sessions.length > 0) {
+ if (!(session in includeonly_sessions)) {
+ continue;
+ }
+ }
+ else if (session in excluded_sessions) {
continue;
}
- }
- else if (session in excluded_sessions) {
- continue;
- }
- var path = Path.build_filename ("/usr/share/xsessions/", session.concat(".desktop"), null);
- if (FileUtils.test (path, FileTest.EXISTS)) {
- debug ("Using %s as default (X11) session.", session);
- return session;
+ var path = Path.build_filename ("/usr/share/xsessions/", session.concat(".desktop"), null);
+ if (FileUtils.test (path, FileTest.EXISTS)) {
+ debug ("Using %s as default (X11) session.", session);
+ return session;
+ }
}
}
+
+ warning ("Could not find a default session. Falling back to LightDM's system default.");
}
- warning ("Could not find a default session. Falling back to LightDM's system default.");
+ warning ("Using default session '%s' as configured as LightDM's system default.", greeter.default_session_hint);
return greeter.default_session_hint;
}
@@ -467,9 +498,11 @@ public class ArcticaGreeter : Object
debug ("Showing main window");
if (!test_mode)
main_window.set_decorated (false);
+ main_window.set_keep_below (true);
main_window.realize ();
main_window.setup_window ();
main_window.show ();
+ main_window.set_struts ();
main_window.get_window ().focus (Gdk.CURRENT_TIME);
try
@@ -668,7 +701,6 @@ public class ArcticaGreeter : Object
// Now check to see if this is the magnifier - no focus for it, either
X.Window nMagnifier = 0;
-
if (this.pMagnifierWindow != null)
{
Gdk.X11.Window pWindow = (Gdk.X11.Window) this.pMagnifierWindow.get_window ();
@@ -677,6 +709,7 @@ public class ArcticaGreeter : Object
if (xwin != keyboard_xid && xwin != nMagnifier && win.get_type_hint() != Gdk.WindowTypeHint.NOTIFICATION)
{
+ win.set_keep_below (true);
win.focus (Gdk.CURRENT_TIME);
/* Make sure to keep keyboard above */
@@ -803,7 +836,10 @@ public class ArcticaGreeter : Object
main_window = new MainWindow ();
- main_window.destroy.connect(() => { kill_fake_wm (); });
+ main_window.destroy.connect(() => {
+ stop_real_wm ();
+ kill_fake_wm ();
+ });
main_window.delete_event.connect(() =>
{
Gtk.main_quit();
@@ -846,6 +882,7 @@ public class ArcticaGreeter : Object
() => debug ("Failed to acquire name com.lomiri.Shell"));
}
+ start_real_wm ();
start_fake_wm ();
Gdk.threads_add_idle (ready_cb);
greeter_ready ();
@@ -932,6 +969,224 @@ public class ArcticaGreeter : Object
return ret;
}
+ public void start_indicators ()
+ {
+ if (!test_mode)
+ {
+ var indicator_list = AGSettings.get_strv(AGSettings.KEY_INDICATORS);
+
+ var update_indicator_list = false;
+ for (var i = 0; i < indicator_list.length; i++)
+ {
+ if (indicator_list[i] == "ug-keyboard")
+ {
+ indicator_list[i] = "org.ayatana.indicator.keyboard";
+ update_indicator_list = true;
+ }
+ }
+
+ if (update_indicator_list)
+ AGSettings.set_strv(AGSettings.KEY_INDICATORS, indicator_list);
+
+ var indicator_service = "";
+ foreach (unowned string indicator in indicator_list)
+ {
+ Pid indicator_service_pid = 0;
+
+ if ("ug-" in indicator && ! ("." in indicator))
+ continue;
+
+ if ("org.ayatana.indicator." in indicator)
+ indicator_service = "ayatana-indicator-%s".printf(indicator.split_set(".")[3]);
+ else if ("ayatana-" in indicator)
+ indicator_service = "ayatana-indicator-%s".printf(indicator.split_set("-")[1]);
+ else
+ indicator_service = indicator;
+
+ try {
+ /* Start the indicator service */
+ string[] argv = null;
+
+ /* FIXME: This path is rather hard-coded here.
+ * If it pops up, we need to handle this in
+ * some path detection fashion similar to
+ * how we find at-spi-bus-launcher on the file
+ * system.
+ */
+ if (FileUtils.test ("/usr/lib/%s/%s-service".printf(indicator_service, indicator_service), FileTest.EXISTS))
+ Shell.parse_argv ("/usr/lib/%s/%s-service".printf(indicator_service, indicator_service), out argv);
+ else if (FileUtils.test ("/usr/libexec/%s/%s-service".printf(indicator_service, indicator_service), FileTest.EXISTS))
+ Shell.parse_argv ("/usr/libexec/%s/%s-service".printf(indicator_service, indicator_service), out argv);
+ if (argv != null)
+ {
+ Process.spawn_async (null,
+ argv,
+ null,
+ SpawnFlags.SEARCH_PATH,
+ null,
+ out indicator_service_pid);
+ indicator_service_pids.append(indicator_service_pid);
+ debug ("Successfully started Ayatana Indicator Service '%s' [%d]", indicator_service, indicator_service_pid);
+ }
+ else
+ {
+ warning ("Could not find indicator service executable for Indicator Service '%s'", indicator_service);
+ }
+ }
+ catch (Error e)
+ {
+ warning ("Error starting Indicator Service '%s': %s", indicator_service, e.message);
+ }
+
+ }
+ }
+ }
+
+ public void stop_indicators ()
+ {
+ foreach (unowned Pid indicator_service_pid in indicator_service_pids)
+ {
+ if (indicator_service_pid != 0)
+ {
+#if VALA_0_40
+ Posix.kill (indicator_service_pid, Posix.Signal.TERM);
+#else
+ Posix.kill (indicator_service_pid, Posix.SIGTERM);
+#endif
+
+ int status;
+ Posix.waitpid (indicator_service_pid, out status, 0);
+ if (Process.if_exited (status))
+ debug ("Indicator Service process [%d] exited with return value %d", indicator_service_pid, Process.exit_status (status));
+ else
+ debug ("Indicator Service process [%d] terminated with signal %d", indicator_service_pid, Process.term_sig (status));
+ indicator_service_pid = 0;
+ }
+ }
+ }
+
+ public void start_notification_daemon ()
+ {
+ if (!test_mode)
+ {
+ try
+ {
+ string[] argv = null;
+
+ if (FileUtils.test ("/usr/lib/mate-notification-daemon/mate-notification-daemon", FileTest.EXISTS)) {
+ Shell.parse_argv ("/usr/lib/mate-notification-daemon/mate-notification-daemon --replace", out argv);
+ }
+ else if (FileUtils.test ("/usr/libexec/mate-notification-daemon/mate-notification-daemon", FileTest.EXISTS)) {
+ Shell.parse_argv ("/usr/libexec/mate-notification-daemon/mate-notification-daemon --replace", out argv);
+ }
+ if (argv != null)
+ Process.spawn_async (null,
+ argv,
+ null,
+ SpawnFlags.SEARCH_PATH,
+ null,
+ out notificationdaemon_pid);
+ debug ("Launched mate-notification-daemon. PID: %d", notificationdaemon_pid);
+ }
+ catch (Error e)
+ {
+ warning ("Error starting the mate-notification-daemon registry: %s", e.message);
+ }
+ }
+ }
+
+ public void stop_notification_daemon ()
+ {
+ if (notificationdaemon_pid != 0)
+ {
+#if VALA_0_40
+ Posix.kill (notificationdaemon_pid, Posix.Signal.KILL);
+#else
+ Posix.kill (notificationdaemon_pid, Posix.SIGKILL);
+#endif
+ int status;
+ Posix.waitpid (notificationdaemon_pid, out status, 0);
+ if (Process.if_exited (status))
+ debug ("mate-notification-daemon exited with return value %d", Process.exit_status (status));
+ else
+ debug ("mate-notification-daemon terminated with signal %d", Process.term_sig (status));
+ notificationdaemon_pid = 0;
+ }
+ }
+
+ public void start_real_wm ()
+ {
+ if (!test_mode)
+ {
+ string wm = AGSettings.get_string (AGSettings.KEY_WINDOW_MANAGER);
+ if ((wm == "metacity") || (wm == "marco"))
+ {
+ try
+ {
+ string[] argv;
+
+ Shell.parse_argv (wm, out argv);
+ Process.spawn_async (null,
+ argv,
+ null,
+ SpawnFlags.SEARCH_PATH,
+ null,
+ out windowmanager_pid);
+ debug ("Launched '%s' WM. PID: %d", wm, windowmanager_pid);
+ }
+ catch (Error e)
+ {
+ warning ("Error starting the '%s' Window Manager: %s", wm, e.message);
+ }
+
+ Timeout.add (50, () =>
+ {
+ try
+ {
+ string[] argv;
+
+ Shell.parse_argv ("%s-message disable-keybindings".printf(wm), out argv);
+
+ Process.spawn_sync (null,
+ argv,
+ null,
+ SpawnFlags.SEARCH_PATH,
+ null,
+ null,
+ null,
+ null);
+ debug ("Launched '%s-message disable-keybindings' command", wm);
+ return false;
+ }
+ catch (Error e)
+ {
+ warning ("Error during '%s-message disable-keybindings' command call: %s", wm, e.message);
+ return true;
+ }
+ });
+ }
+ }
+ }
+
+ public void stop_real_wm ()
+ {
+ if (windowmanager_pid != 0)
+ {
+#if VALA_0_40
+ Posix.kill (windowmanager_pid, Posix.Signal.TERM);
+#else
+ Posix.kill (windowmanager_pid, Posix.SIGTERM);
+#endif
+ int status;
+ Posix.waitpid (windowmanager_pid, out status, 0);
+ if (Process.if_exited (status))
+ debug ("Window Manager exited with return value %d", Process.exit_status (status));
+ else
+ debug ("Window Manager terminated with signal %d", Process.term_sig (status));
+ windowmanager_pid = 0;
+ }
+ }
+
public static int main (string[] args)
{
/* Protect memory from being paged to disk, as we deal with passwords
@@ -964,18 +1219,19 @@ public class ArcticaGreeter : Object
/* Initialize i18n */
Intl.setlocale (LocaleCategory.ALL, "");
+ Intl.setlocale(LocaleCategory.NUMERIC, "C.UTF-8");
Intl.bindtextdomain (Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
Intl.bind_textdomain_codeset (Config.GETTEXT_PACKAGE, "UTF-8");
Intl.textdomain (Config.GETTEXT_PACKAGE);
/* Set up the accessibility stack, in case the user needs it for screen reading etc. */
- Environment.set_variable ("GTK_MODULES", "atk-bridge", false);
+ AGUtils.greeter_set_env ("GTK_MODULES", "atk-bridge");
/* Fix for https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/1024482
- Slick-greeter sets the mouse cursor on the root window.
+ arctica-greeter sets the mouse cursor on the root window.
Without GDK_CORE_DEVICE_EVENTS set, the DE is unable to apply its own cursor theme and size.
*/
- GLib.Environment.set_variable ("GDK_CORE_DEVICE_EVENTS", "1", true);
+ AGUtils.greeter_set_env ("GDK_CORE_DEVICE_EVENTS", "1");
log_timer = new Timer ();
Log.set_default_handler (log_cb);
@@ -997,7 +1253,7 @@ public class ArcticaGreeter : Object
}
/* Adjust GDK_SCALE to our configured scaling factor (via HiDPI settings). */
debug ("Setting GDK_SCALE to: %d (scaling all UI elements by this factor)", scaling_factor_hidpi);
- GLib.Environment.set_variable ("GDK_SCALE", "%d".printf (scaling_factor_hidpi), true);
+ AGUtils.greeter_set_env ("GDK_SCALE", "%d".printf (scaling_factor_hidpi));
/* Font scaling settings */
var scaling_factor_fonts = AGSettings.get_double (AGSettings.KEY_FONT_SCALING);
@@ -1005,10 +1261,31 @@ public class ArcticaGreeter : Object
/* Adjust GDK_SCALE / GDK_DPI_SCALE to our configured scaling factors. */
debug ("Setting GDK_DPI_SCALE to: %f (scaling fonts only by this factor)", scaling_factor_fonts);
- GLib.Environment.set_variable ("GDK_DPI_SCALE", "%f".printf (scaling_factor_fonts), true);
+ AGUtils.greeter_set_env ("GDK_DPI_SCALE", "%f".printf (scaling_factor_fonts));
/* Make nm-applet hide items the user does not have permissions to interact with */
- Environment.set_variable ("NM_APPLET_HIDE_POLICY_ITEMS", "1", true);
+ AGUtils.greeter_set_env ("NM_APPLET_HIDE_POLICY_ITEMS", "1");
+
+ /* Set indicators to run with reduced functionality */
+ AGUtils.greeter_set_env ("INDICATOR_GREETER_MODE", "1");
+
+ /* Don't allow virtual file systems? */
+ AGUtils.greeter_set_env ("GIO_USE_VFS", "local");
+ AGUtils.greeter_set_env ("GVFS_DISABLE_FUSE", "1");
+
+ /* Hint to have onboard running in greeter mode */
+ AGUtils.greeter_set_env ("RUNNING_UNDER_GDM", "1");
+
+ /* Let indicators know about our unique dbus name */
+ try
+ {
+ var conn = Bus.get_sync (BusType.SESSION);
+ AGUtils.greeter_set_env ("ARCTICA_GREETER_DBUS_NAME", conn.get_unique_name ());
+ }
+ catch (IOError e)
+ {
+ debug ("Could not set DBUS_NAME: %s", e.message);
+ }
bool do_show_version = false;
bool do_test_mode = false;
@@ -1039,6 +1316,7 @@ public class ArcticaGreeter : Object
* GLib.Environment.set_variable() calls won't take effect (for
* whatever unknown reason...) if they get issued after the c.parse()
* method call on our OptionContext object (see a few lines below).
+ * Same applies to AGUtils.set_greeter_env().
*
* To mitigate this (strange) behaviour, make sure that all env
* variable setups in main() are located above this comment.
@@ -1071,6 +1349,13 @@ public class ArcticaGreeter : Object
}
}
+ Pid atspi_pid = 0;
+ Pid nmapplet_pid = 0;
+ Pid geoclueagent_pid = 0;
+
+ var gsettings_mate_desktop_interface = new Settings ("org.mate.interface");
+ int wsf_orig = 0;
+
if (!do_test_mode) {
/* Set the keyboard layout */
set_keyboard_layout ();
@@ -1080,11 +1365,9 @@ public class ArcticaGreeter : Object
debug ("Activating numlock");
activate_numlock ();
}
- }
- Pid atspi_pid = 0;
- if (!do_test_mode)
- {
+ wsf_orig = gsettings_mate_desktop_interface.get_int ("window-scaling-factor");
+ gsettings_mate_desktop_interface.set_int ("window-scaling-factor", 1);
try
{
@@ -1109,39 +1392,39 @@ public class ArcticaGreeter : Object
{
warning ("Error starting the at-spi registry: %s", e.message);
}
- }
- Pid geoclueagent_pid = 0;
- if (AGSettings.get_boolean (AGSettings.KEY_GEOCLUE_AGENT) && (!do_test_mode))
- {
-
- try
+ if (AGSettings.get_boolean (AGSettings.KEY_GEOCLUE_AGENT))
{
- string[] argv = null;
- if (FileUtils.test ("/usr/lib/geoclue-2.0/demos/agent", FileTest.EXISTS)) {
- Shell.parse_argv ("/usr/lib/geoclue-2.0/demos/agent", out argv);
+ try
+ {
+ string[] argv = null;
+
+ if (FileUtils.test ("/usr/lib/geoclue-2.0/demos/agent", FileTest.EXISTS)) {
+ Shell.parse_argv ("/usr/lib/geoclue-2.0/demos/agent", out argv);
+ }
+ else if (FileUtils.test ("/usr/libexec/geoclue-2.0/demos/agent", FileTest.EXISTS)) {
+ Shell.parse_argv ("/usr/libexec/geoclue-2.0/demos/agent", out argv);
+ }
+ if (argv != null)
+ Process.spawn_async (null,
+ argv,
+ null,
+ SpawnFlags.SEARCH_PATH,
+ null,
+ out geoclueagent_pid);
+ debug ("Launched GeoClue-2.0 agent. PID: %d", geoclueagent_pid);
}
- else if (FileUtils.test ("/usr/libexec/geoclue-2.0/demos/agent", FileTest.EXISTS)) {
- Shell.parse_argv ("/usr/libexec/geoclue-2.0/demos/agent", out argv);
+ catch (Error e)
+ {
+ warning ("Error starting the GeoClue-2.0 agent: %s", e.message);
}
- if (argv != null)
- Process.spawn_async (null,
- argv,
- null,
- SpawnFlags.SEARCH_PATH,
- null,
- out geoclueagent_pid);
- debug ("Launched GeoClue-2.0 agent. PID: %d", geoclueagent_pid);
}
- catch (Error e)
- {
- warning ("Error starting the GeoClue-2.0 agent: %s", e.message);
- }
- }
- /* Enable touchpad tap-to-click */
- enable_tap_to_click ();
+ /* Enable touchpad tap-to-click */
+ enable_tap_to_click ();
+
+ }
Gtk.init (ref args);
Ido.init ();
@@ -1218,26 +1501,14 @@ public class ArcticaGreeter : Object
debug ("Creating Arctica Greeter");
var greeter = new ArcticaGreeter (do_test_mode, do_test_highcontrast);
- greeter.go();
-
- Pid nmapplet_pid = 0;
- var indicator_list = AGSettings.get_strv(AGSettings.KEY_INDICATORS);
+ /* Widget/UI scaling settings */
+ greeter.scaling_factor_widgets = AGSettings.get_double (AGSettings.KEY_WIDGET_SCALING);
+ debug ("Scaling factor for widgets / UI elements is: %f", greeter.scaling_factor_widgets);
+ greeter.menubar_height = (int)Math.round(greeter.menubar_height * greeter.scaling_factor_widgets);
+ greeter.grid_size = (int)Math.round(greeter.grid_size * greeter.scaling_factor_widgets);
- var update_indicator_list = false;
- for (var i = 0; i < indicator_list.length; i++)
- {
- if (indicator_list[i] == "ug-keyboard")
- {
- indicator_list[i] = "org.ayatana.indicator.keyboard";
- update_indicator_list = true;
- }
- }
-
- if (update_indicator_list)
- AGSettings.set_strv(AGSettings.KEY_INDICATORS, indicator_list);
-
- var launched_indicator_service_pids = new List<Pid>();
+ greeter.go();
if (!do_test_mode)
{
@@ -1249,58 +1520,6 @@ public class ArcticaGreeter : Object
greeter.show ();
});
- var indicator_service = "";
- foreach (unowned string indicator in indicator_list)
- {
- Pid indicator_service_pid = 0;
-
- if ("ug-" in indicator && ! ("." in indicator))
- continue;
-
- if ("org.ayatana.indicator." in indicator)
- indicator_service = "ayatana-indicator-%s".printf(indicator.split_set(".")[3]);
- else if ("ayatana-" in indicator)
- indicator_service = "ayatana-indicator-%s".printf(indicator.split_set("-")[1]);
- else
- indicator_service = indicator;
-
- try {
- /* Start the indicator service */
- string[] argv = null;
-
- /* FIXME: This path is rather hard-coded here.
- * If it pops up, we need to handle this in
- * some path detection fashion similar to
- * how we find at-spi-bus-launcher on the file
- * system.
- */
- if (FileUtils.test ("/usr/lib/%s/%s-service".printf(indicator_service, indicator_service), FileTest.EXISTS))
- Shell.parse_argv ("/usr/lib/%s/%s-service".printf(indicator_service, indicator_service), out argv);
- else if (FileUtils.test ("/usr/libexec/%s/%s-service".printf(indicator_service, indicator_service), FileTest.EXISTS))
- Shell.parse_argv ("/usr/libexec/%s/%s-service".printf(indicator_service, indicator_service), out argv);
- if (argv != null)
- {
- Process.spawn_async (null,
- argv,
- null,
- SpawnFlags.SEARCH_PATH,
- null,
- out indicator_service_pid);
- launched_indicator_service_pids.append(indicator_service_pid);
- debug ("Successfully started Ayatana Indicator Service '%s' [%d]", indicator_service, indicator_service_pid);
- }
- else
- {
- warning ("Could not find indicator service executable for Indicator Service '%s'", indicator_service);
- }
- }
- catch (Error e)
- {
- warning ("Error starting Indicator Service '%s': %s", indicator_service, e.message);
- }
-
- }
-
try
{
string[] argv;
@@ -1338,26 +1557,8 @@ public class ArcticaGreeter : Object
if (!do_test_mode)
{
- foreach (unowned Pid indicator_service_pid in launched_indicator_service_pids)
- {
- if (indicator_service_pid != 0)
- {
-#if VALA_0_40
- Posix.kill (indicator_service_pid, Posix.Signal.TERM);
-#else
- Posix.kill (indicator_service_pid, Posix.SIGTERM);
-#endif
-
- int status;
- Posix.waitpid (indicator_service_pid, out status, 0);
- if (Process.if_exited (status))
- debug ("Indicator Service process [%d] exited with return value %d", indicator_service_pid, Process.exit_status (status));
- else
- debug ("Indicator Service process [%d] terminated with signal %d", indicator_service_pid, Process.term_sig (status));
- indicator_service_pid = 0;
- }
- }
-
+ greeter.stop_indicators();
+ greeter.stop_notification_daemon();
greeter.settings_daemon.stop();
if (nmapplet_pid != 0)
@@ -1409,6 +1610,11 @@ public class ArcticaGreeter : Object
}
}
+ if (!do_test_mode)
+ {
+ gsettings_mate_desktop_interface.set_int ("window-scaling-factor", wsf_orig);
+ }
+
var screen = Gdk.Screen.get_default ();
Gdk.X11.Display pDisplay = (Gdk.X11.Display) screen.get_display ();
unowned X.Display xdisplay = pDisplay.get_xdisplay ();
@@ -1512,9 +1718,9 @@ public class DBusServer : Object
public string GetUser () throws GLib.DBusError, GLib.IOError
{
- string sUser = this.pGreeter.get_state ("last-user");
+ var sUser = this.pGreeter.get_state ("last-user");
- return sUser;
+ return (sUser != null) ? sUser : "*other";
}
public void SetLayout (string sLanguage, string sVariant) throws GLib.DBusError, GLib.IOError
@@ -1610,7 +1816,7 @@ public class DBusServer : Object
sThemeArgs = "--theme='%s'".printf (sThemePath);
}
- string sCommand = "onboard --xid %s %s".printf (sLayoutArgs, sThemeArgs);
+ string sCommand = "onboard --keep-aspect --launched-by=arctica-greeter --xid %s %s".printf (sLayoutArgs, sThemeArgs);
debug ("Launching OSK: '%s'", sCommand);
string[] lArgs;
@@ -1656,6 +1862,8 @@ public class DBusServer : Object
this.pGreeter.pKeyboardWindow.accept_focus = false;
this.pGreeter.pKeyboardWindow.focus_on_map = false;
this.pGreeter.pKeyboardWindow.set_title("OSK (theme: %s)".printf(sTheme));
+ this.pGreeter.pKeyboardWindow.set_decorated (false);
+ this.pGreeter.pKeyboardWindow.set_keep_above (true);
}
if ((this.pGreeter.pKeyboardWindow != null) && (pKeyboardSocket != null) && (nId != 0))
@@ -1666,7 +1874,10 @@ public class DBusServer : Object
debug ("Attaching new onboard process to OSK Gtk.Socket (+ Gtk.Window)");
pKeyboardSocket.add_id (nId);
+ }
+ if ((this.pGreeter.pKeyboardWindow != null) && (pKeyboardSocket != null) && bActive)
+ {
/* resize the keyboard window to cover the lower part of the screen */
debug ("Resizing OSK window.");
var pDisplay = this.pGreeter.main_window.get_display ();
@@ -1780,6 +1991,8 @@ public class DBusServer : Object
this.pGreeter.pMagnifierWindow.accept_focus = false;
this.pGreeter.pMagnifierWindow.focus_on_map = false;
this.pGreeter.pMagnifierWindow.set_title ("Magnifier");
+ this.pGreeter.pMagnifierWindow.set_decorated (false);
+ this.pGreeter.pMagnifierWindow.set_keep_above (true);
}
if ((this.pGreeter.pMagnifierWindow != null) && (pMagnifierSocket != null) && (nId != 0))
@@ -1791,6 +2004,43 @@ public class DBusServer : Object
pMagnifierSocket.add_id (nId);
}
+ if ((this.pGreeter.pMagnifierWindow != null) && (pMagnifierSocket != null) && bActive)
+ {
+ var greeter = new ArcticaGreeter();
+
+ /* resize and position the magnifier window */
+ debug ("Resizing and positioning Magnifier window.");
+ var pDisplay = this.pGreeter.main_window.get_display ();
+ var pMonitor = pDisplay.get_monitor_at_window (this.pGreeter.main_window.get_window ());
+ Gdk.Rectangle cRect = pMonitor.get_geometry ();
+ int magnifier_width = 2 * cRect.width / 5;
+ int magnifier_height = 2 * cRect.height / 5;
+ string sPosition = AGSettings.get_string (AGSettings.KEY_MAGNIFIER_POSITION);
+
+ if (sPosition == "top-left")
+ {
+ magnifier_width = (int) (magnifier_width * 0.75);
+ magnifier_height = (int) (magnifier_height * 0.75);
+ this.pGreeter.pMagnifierWindow.move (cRect.x + greeter.menubar_height, cRect.y + greeter.menubar_height * 2);
+ }
+ else if (sPosition == "top-right")
+ {
+ magnifier_width = (int) (magnifier_width * 0.75);
+ magnifier_height = (int) (magnifier_height * 0.75);
+ this.pGreeter.pMagnifierWindow.move (cRect.x + cRect.width - greeter.menubar_height - magnifier_width, cRect.y + greeter.menubar_height * 2);
+ }
+ else if (sPosition == "centre-left")
+ {
+ this.pGreeter.pMagnifierWindow.move (cRect.x + cRect.width / 10, cRect.y + cRect.height / 5 + cRect.height / 10);
+ }
+ else if (sPosition == "centre-right")
+ {
+ this.pGreeter.pMagnifierWindow.move (cRect.x + cRect.width - cRect.width / 10 - magnifier_width, cRect.y + cRect.height / 5 + cRect.height / 10);
+ }
+
+ this.pGreeter.pMagnifierWindow.resize (magnifier_width, magnifier_height);
+ }
+
this.pGreeter.pMagnifierWindow.visible = bActive;
}
}
diff --git a/src/background.vala b/src/background.vala
index 65a3365..07dce7e 100644
--- a/src/background.vala
+++ b/src/background.vala
@@ -2,6 +2,7 @@
*
* Copyright (C) 2011,2012 Canonical Ltd
* Copyright (C) 2015-2017 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ * Copyright (C) 2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -18,6 +19,7 @@
* Authors: Robert Ancell <robert.ancell@canonical.com>
* Michael Terry <michael.terry@canonical.com>
* Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ * Robert Tari <robert@tari.in>
*/
class BackgroundLoader : Object
@@ -171,17 +173,43 @@ class BackgroundLoader : Object
var target_aspect = (double) width / height;
var aspect = (double) image.width / image.height;
double scale, offset_x = 0, offset_y = 0;
+ string sPosition = AGSettings.get_string (AGSettings.KEY_BACKGROUND_POSITION);
+
if (aspect > target_aspect)
{
/* Fit height and trim sides */
scale = (double) height / image.height;
- offset_x = (image.width * scale - width) / 2;
+
+ if (sPosition == "center")
+ {
+ offset_x = (image.width * scale - width) / 2;
+ }
+ else if (sPosition == "top-left" || sPosition == "bottom-left")
+ {
+ offset_x = 0;
+ }
+ else if (sPosition == "top-right" || sPosition == "bottom-right")
+ {
+ offset_x = (image.width * scale - width);
+ }
}
else
{
/* Fit width and trim top and bottom */
scale = (double) width / image.width;
- offset_y = (image.height * scale - height) / 2;
+
+ if (sPosition == "center")
+ {
+ offset_y = (image.height * scale - height) / 2;
+ }
+ else if (sPosition == "top-left" || sPosition == "top-right")
+ {
+ offset_y = 0;
+ }
+ else if (sPosition == "bottom-left" || sPosition == "bottom-right")
+ {
+ offset_y = (image.height * scale - height);
+ }
}
var scaled_image = new Gdk.Pixbuf (image.colorspace, image.has_alpha, image.bits_per_sample, width, height);
@@ -194,6 +222,7 @@ class BackgroundLoader : Object
{
var grid_x_offset = get_grid_offset (image.width);
var grid_y_offset = get_grid_offset (image.height);
+ var greeter = new ArcticaGreeter();
/* Create background */
var surface = new Cairo.Surface.similar (target_surface, Cairo.Content.COLOR, image.width, image.height);
@@ -206,8 +235,31 @@ class BackgroundLoader : Object
if (logo != null)
{
bc.save ();
- var x = (int) (grid_x_offset + 1.1 * grid_size);
- var y = (int) (image.height - 1.1 * grid_size - logo_height + grid_y_offset);
+ string sPosition = AGSettings.get_string (AGSettings.KEY_LOGO_POSITION);
+ int x = AGSettings.get_integer (AGSettings.KEY_LOGO_OFFSET_HORIZONTAL);
+ int y = AGSettings.get_integer (AGSettings.KEY_LOGO_OFFSET_VERTICAL);
+
+ if (sPosition == "top-left")
+ {
+ x = (int) (grid_x_offset + (x * greeter.grid_size));
+ y = (int) (grid_y_offset + ((y + 1) * greeter.grid_size));
+ }
+ else if (sPosition == "top-right")
+ {
+ x = (int) (image.width - (x * greeter.grid_size) - logo_width + grid_x_offset);
+ y = (int) (grid_y_offset + ((y + 1) * greeter.grid_size));
+ }
+ else if (sPosition == "bottom-left")
+ {
+ x = (int) (grid_x_offset + (x * greeter.grid_size));
+ y = (int) (image.height - (y * greeter.grid_size) - logo_height + grid_y_offset);
+ }
+ else if (sPosition == "bottom-right")
+ {
+ x = (int) (image.width - (x * greeter.grid_size) - logo_width + grid_x_offset);
+ y = (int) (image.height - (y * greeter.grid_size) - logo_height + grid_y_offset);
+ }
+
bc.translate (x, y);
bc.set_source_surface (logo, 0, 0);
bc.paint_with_alpha (AGSettings.get_double (AGSettings.KEY_LOGO_ALPHA));
@@ -835,14 +887,15 @@ public class Background : Gtk.Fixed
var height = get_allocated_height ();
var grid_x_offset = get_grid_offset (width);
var grid_y_offset = get_grid_offset (height);
+ var greeter = new ArcticaGreeter();
/* Overlay grid */
- var overlay_surface = new Cairo.Surface.similar (target_surface, Cairo.Content.COLOR_ALPHA, grid_size, grid_size);
+ var overlay_surface = new Cairo.Surface.similar (target_surface, Cairo.Content.COLOR_ALPHA, greeter.grid_size, greeter.grid_size);
var oc = new Cairo.Context (overlay_surface);
oc.rectangle (0, 0, 1, 1);
- oc.rectangle (grid_size - 1, 0, 1, 1);
- oc.rectangle (0, grid_size - 1, 1, 1);
- oc.rectangle (grid_size - 1, grid_size - 1, 1, 1);
+ oc.rectangle (greeter.grid_size - 1, 0, 1, 1);
+ oc.rectangle (0, greeter.grid_size - 1, 1, 1);
+ oc.rectangle (greeter.grid_size - 1, greeter.grid_size - 1, 1, 1);
oc.set_source_rgba (1.0, 1.0, 1.0, 0.25);
oc.fill ();
var overlay = new Cairo.Pattern.for_surface (overlay_surface);
diff --git a/src/cached-image.vala b/src/cached-image.vala
index 56157a3..3dfc5b8 100644
--- a/src/cached-image.vala
+++ b/src/cached-image.vala
@@ -21,7 +21,7 @@ public class CachedImage : Gtk.Image
{
private static HashTable<Gdk.Pixbuf, Cairo.Surface> surface_table;
- public static Cairo.Surface? get_cached_surface (Cairo.Context c, Gdk.Pixbuf pixbuf)
+ public static Cairo.Surface? get_cached_surface (Gdk.Pixbuf pixbuf)
{
if (surface_table == null)
surface_table = new HashTable<Gdk.Pixbuf, Cairo.Surface> (direct_hash, direct_equal);
@@ -29,31 +29,32 @@ public class CachedImage : Gtk.Image
var surface = surface_table.lookup (pixbuf);
if (surface == null)
{
- surface = new Cairo.Surface.similar (c.get_target (), Cairo.Content.COLOR_ALPHA, pixbuf.width, pixbuf.height);
- var new_c = new Cairo.Context (surface);
- Gdk.cairo_set_source_pixbuf (new_c, pixbuf, 0, 0);
- new_c.paint ();
+ surface = Gdk.cairo_surface_create_from_pixbuf (pixbuf, _scale_factor, null);
surface_table.insert (pixbuf, surface);
}
return surface;
}
+ private void update_image(Gdk.Pixbuf? pixbuf)
+ {
+ if (pixbuf != null)
+ {
+ surface = get_cached_surface (pixbuf);
+ }
+ else
+ {
+ surface = null;
+ pixbuf = null;
+ }
+ }
+
public CachedImage (Gdk.Pixbuf? pixbuf)
{
- Object (pixbuf: pixbuf);
+ update_image (pixbuf);
}
- public override bool draw (Cairo.Context c)
+ public void set_pixbuf(Gdk.Pixbuf? pixbuf)
{
- if (pixbuf != null)
- {
- var cached_surface = get_cached_surface (c, pixbuf);
- if (cached_surface != null)
- {
- c.set_source_surface (cached_surface, 0, 0);
- c.paint ();
- }
- }
- return false;
+ update_image (pixbuf);
}
}
diff --git a/src/dash-box.vala b/src/dash-box.vala
index 4d907db..52dd7d4 100644
--- a/src/dash-box.vala
+++ b/src/dash-box.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2011,2012 Canonical Ltd
* Copyright (C) 2015 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -165,8 +165,10 @@ public class DashBox : Gtk.Box
}
else
{
- min = grid_size * GreeterList.DEFAULT_BOX_HEIGHT - GreeterList.BORDER * 2;
- nat = grid_size * GreeterList.DEFAULT_BOX_HEIGHT - GreeterList.BORDER * 2;
+ var greeter = new ArcticaGreeter();
+
+ min = greeter.grid_size * GreeterList.DEFAULT_BOX_HEIGHT - (int)(GreeterList.BORDER * greeter.scaling_factor_widgets * 2);
+ nat = greeter.grid_size * GreeterList.DEFAULT_BOX_HEIGHT - (int)(GreeterList.BORDER * greeter.scaling_factor_widgets * 2);
}
}
else
@@ -184,8 +186,9 @@ public class DashBox : Gtk.Box
public override void get_preferred_width (out int min, out int nat)
{
- min = grid_size * GreeterList.BOX_WIDTH - GreeterList.BORDER * 2;
- nat = grid_size * GreeterList.BOX_WIDTH - GreeterList.BORDER * 2;
+ var greeter = new ArcticaGreeter();
+ min = greeter.grid_size * GreeterList.BOX_WIDTH - (int)(GreeterList.BORDER * greeter.scaling_factor_widgets * 2);
+ nat = greeter.grid_size * GreeterList.BOX_WIDTH - (int)(GreeterList.BORDER * greeter.scaling_factor_widgets * 2);
}
public override bool draw (Cairo.Context c)
@@ -200,8 +203,10 @@ public class DashBox : Gtk.Box
c.restore ();
}
+ var greeter = new ArcticaGreeter();
+
/* Draw darker background with a rounded border */
- var box_r = 0.3 * grid_size;
+ var box_r = 0.3 * greeter.grid_size;
int box_y = 0;
int box_w;
int box_h;
@@ -232,7 +237,11 @@ public class DashBox : Gtk.Box
}
else
{
- c.set_source_rgba (0.1, 0.1, 0.1, 0.4);
+ string sBackGround = AGSettings.get_string (AGSettings.KEY_DASHBOX_BGCOLOR);
+ Gdk.RGBA cBackground = {1.0, 1.0, 1.0, 1.0};
+ cBackground.parse (sBackGround);
+ double fOpacity = AGSettings.get_double (AGSettings.KEY_DASHBOX_OPACITY);
+ c.set_source_rgba (cBackground.red, cBackground.green, cBackground.blue, fOpacity);
}
c.fill_preserve ();
diff --git a/src/greeter-list.vala b/src/greeter-list.vala
index 77a451f..da4f3e9 100644
--- a/src/greeter-list.vala
+++ b/src/greeter-list.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2012 Canonical Ltd
* Copyright (C) 2015-2017 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -24,10 +24,13 @@
*/
private const int MAX_FIELD_SIZE = 200;
+public int _scale_factor = 1;
+
private int get_grid_offset (int size)
{
- return (int) (size % grid_size) / 2;
+ var greeter = new ArcticaGreeter();
+ return (int) (size % greeter.grid_size) / 2;
}
[DBus (name="com.lomiri.LomiriGreeter.List")]
@@ -102,7 +105,7 @@ public abstract class GreeterList : FadableBox
protected Mode mode = Mode.ENTRY;
public const int BORDER = 4;
- public const int BOX_WIDTH = 8; /* in grid_size blocks */
+ public const int BOX_WIDTH = 9; /* in grid_size blocks */
public const int DEFAULT_BOX_HEIGHT = 3; /* in grid_size blocks */
private uint n_above = 4;
@@ -117,12 +120,13 @@ public abstract class GreeterList : FadableBox
{
get
{
+ var greeter = new ArcticaGreeter();
/* First, get grid row number as if menubar weren't there */
- var row = (MainWindow.MENUBAR_HEIGHT + get_allocated_height ()) / grid_size;
+ var row = (greeter.menubar_height + get_allocated_height ()) / greeter.grid_size;
row = row - DEFAULT_BOX_HEIGHT; /* and no default dash box */
row = row / 2; /* and in the middle */
/* Now calculate y pixel spot keeping in mind menubar's allocation */
- return row * grid_size - MainWindow.MENUBAR_HEIGHT;
+ return row * greeter.grid_size - greeter.menubar_height;
}
}
@@ -173,6 +177,8 @@ public abstract class GreeterList : FadableBox
can_focus = false;
visible_window = false;
+ _scale_factor = get_scale_factor ();
+
fixed = new Gtk.Fixed ();
fixed.show ();
add (fixed);
@@ -223,8 +229,9 @@ public abstract class GreeterList : FadableBox
public override void get_preferred_width (out int min, out int nat)
{
- min = BOX_WIDTH * grid_size;
- nat = BOX_WIDTH * grid_size;
+ var greeter = new ArcticaGreeter();
+ min = BOX_WIDTH * greeter.grid_size;
+ nat = BOX_WIDTH * greeter.grid_size;
}
public override void get_preferred_height (out int min, out int nat)
@@ -398,8 +405,10 @@ public abstract class GreeterList : FadableBox
protected void add_entry (PromptBox entry)
{
+ var greeter = new ArcticaGreeter();
+
entry.expand = true;
- entry.set_size_request (grid_size * BOX_WIDTH - BORDER * 2, -1);
+ entry.set_size_request (greeter.grid_size * BOX_WIDTH - (int)(BORDER * greeter.scaling_factor_widgets * 2), -1);
add_with_class (entry);
insert_entry (entry);
@@ -510,33 +519,39 @@ public abstract class GreeterList : FadableBox
protected int get_greeter_box_height_grids ()
{
+ var greeter = new ArcticaGreeter();
+
int height = get_greeter_box_height ();
- return height / grid_size + 1; /* +1 because we'll be slightly under due to BORDER */
+ return height / greeter.grid_size + 1; /* +1 because we'll be slightly under due to BORDER */
}
protected int get_greeter_box_x ()
{
- return box_x + BORDER;
+ var greeter = new ArcticaGreeter();
+ return box_x + (int)(BORDER * greeter.scaling_factor_widgets);
}
protected int get_greeter_box_y ()
{
- return box_y + BORDER;
+ var greeter = new ArcticaGreeter();
+ return box_y + (int)(BORDER * greeter.scaling_factor_widgets);
}
protected virtual int get_position_y (double position)
{
+ var greeter = new ArcticaGreeter();
+
// Most position heights are just the grid height. Except for the
// greeter box itself.
- int box_height = get_greeter_box_height_grids () * grid_size;
+ int box_height = get_greeter_box_height_grids () * greeter.grid_size;
double offset;
if (position < 0)
- offset = position * grid_size;
+ offset = position * greeter.grid_size;
else if (position < 1)
offset = position * box_height;
else
- offset = (position - 1) * grid_size + box_height;
+ offset = (position - 1) * greeter.grid_size + box_height;
return box_y + (int)Math.round(offset);
}
@@ -556,8 +571,10 @@ public abstract class GreeterList : FadableBox
Gtk.Allocation allocation;
get_allocation (out allocation);
+ var greeter = new ArcticaGreeter();
+
var child_allocation = Gtk.Allocation ();
- child_allocation.width = grid_size * BOX_WIDTH - BORDER * 2;
+ child_allocation.width = greeter.grid_size * BOX_WIDTH - (int)(BORDER * greeter.scaling_factor_widgets * 2);
entry.get_preferred_height_for_width (child_allocation.width, null, out child_allocation.height);
child_allocation.x = allocation.x + get_greeter_box_x ();
child_allocation.y = allocation.y + get_position_y (position);
@@ -644,10 +661,7 @@ public abstract class GreeterList : FadableBox
focus_prompt ();
entry_displayed_done ();
mode = Mode.ENTRY;
-
-#if HAVE_GTK_3_20_0
queue_allocate ();
-#endif
}
protected void select_entry (PromptBox entry, double direction, bool do_scroll = true)
@@ -757,12 +771,14 @@ public abstract class GreeterList : FadableBox
fixed.propagate_draw (greeter_box, c); /* Always full alpha */
c.restore ();
+ var greeter = new ArcticaGreeter();
+
if (greeter_box.base_alpha != 0.0)
{
c.save ();
c.push_group ();
- c.rectangle (get_greeter_box_x (), get_greeter_box_y () - n_above * grid_size, grid_size * BOX_WIDTH - BORDER * 2, grid_size * (n_above + n_below + get_greeter_box_height_grids ()));
+ c.rectangle (get_greeter_box_x (), get_greeter_box_y () - n_above * greeter.grid_size, greeter.grid_size * BOX_WIDTH - (int)(BORDER * greeter.scaling_factor_widgets * 2), greeter.grid_size * (n_above + n_below + get_greeter_box_height_grids ()));
c.clip ();
foreach (var child in fixed.get_children ())
@@ -852,6 +868,7 @@ public abstract class GreeterList : FadableBox
/* Limit the number of characters in case a cat is sitting on the keyboard... */
entry.max_length = MAX_FIELD_SIZE;
+ queue_resize ();
}
protected virtual void authentication_complete_cb ()
diff --git a/src/list-stack.vala b/src/list-stack.vala
index 63bde28..4f74ea7 100644
--- a/src/list-stack.vala
+++ b/src/list-stack.vala
@@ -1,7 +1,7 @@
/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 4 -*-
*
* Copyright (C) 2011,2012 Canonical Ltd
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -35,10 +35,10 @@ public class ListStack : Gtk.Fixed
construct
{
- // Hack to avoid gtk 3.20's new allocate logic, which messes us up.
resize_mode = Gtk.ResizeMode.QUEUE;
+ var greeter = new ArcticaGreeter();
- width = grid_size * GreeterList.BOX_WIDTH;
+ width = greeter.grid_size * GreeterList.BOX_WIDTH;
}
public GreeterList? top ()
diff --git a/src/main-window.vala b/src/main-window.vala
index 5332186..621b115 100644
--- a/src/main-window.vala
+++ b/src/main-window.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2011,2012 Canonical Ltd
* Copyright (C) 2015-2017 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -34,14 +34,34 @@ public class MainWindow : Gtk.Window
private Background background;
private Gtk.Box login_box;
private Gtk.Box hbox;
+ private Gtk.Box content_box;
private Gtk.Button back_button;
private ShutdownDialog? shutdown_dialog = null;
private bool do_resize;
public ListStack stack;
- // Menubar is smaller, but with shadow, we reserve more space
- public const int MENUBAR_HEIGHT = 40;
+ public enum Struts {
+ LEFT,
+ RIGHT,
+ TOP,
+ BOTTOM,
+ LEFT_START,
+ LEFT_END,
+ RIGHT_START,
+ RIGHT_END,
+ TOP_START,
+ TOP_END,
+ BOTTOM_START,
+ BOTTOM_END
+ }
+
+ public enum MenubarPositions {
+ LEFT,
+ RIGHT,
+ TOP,
+ BOTTOM,
+ }
construct
{
@@ -50,9 +70,21 @@ public class MainWindow : Gtk.Window
var accel_group = new Gtk.AccelGroup ();
add_accel_group (accel_group);
- var bg_color = Gdk.RGBA ();
- bg_color.parse (AGSettings.get_string (AGSettings.KEY_BACKGROUND_COLOR));
- override_background_color (Gtk.StateFlags.NORMAL, bg_color);
+ Gtk.StyleContext pContext = get_style_context ();
+ Gtk.CssProvider pProvider = new Gtk.CssProvider ();
+ string sColour = AGSettings.get_string (AGSettings.KEY_BACKGROUND_COLOR);
+ string sCss = "* {background-color: %s;}".printf (sColour);
+
+ try
+ {
+ pProvider.load_from_data (sCss, -1);
+ pContext.add_provider (pProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+ }
+ catch (Error pError)
+ {
+ warning ("Panic: Error loading style for main window: %s", pError.message);
+ }
+
get_accessible ().set_name (_("Login Screen"));
ArcticaGreeter.add_style_class (this);
@@ -75,7 +107,8 @@ public class MainWindow : Gtk.Window
background-repeat: repeat;".printf(shadow_path);
}
- menubox.set_size_request (-1, MENUBAR_HEIGHT);
+ var greeter = new ArcticaGreeter();
+ menubox.set_size_request (-1, greeter.menubar_height);
menubox.show ();
login_box.add (menubox);
ArcticaGreeter.add_style_class (menubox);
@@ -90,32 +123,53 @@ public class MainWindow : Gtk.Window
ArcticaGreeter.add_style_class (menubar);
ArcticaGreeter.add_style_class (menubox);
+ content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0);
+ content_box.expand = true;
+ content_box.show ();
+ login_box.add (content_box);
+
+ var content_align = AGSettings.get_string(AGSettings.KEY_CONTENT_ALIGN);
+ var x_align = Gtk.Align.CENTER;
+
+ if (content_align == "left")
+ {
+ x_align = Gtk.Align.START;
+ }
+ else if (content_align == "right")
+ {
+ x_align = Gtk.Align.END;
+ }
+
hbox = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0);
hbox.expand = true;
hbox.show ();
- login_box.add (hbox);
+ hbox.halign = x_align;
+ hbox.valign = Gtk.Align.CENTER;
- var align = new Gtk.Alignment (0.5f, 0.5f, 0.0f, 0.0f);
- // Hack to avoid gtk 3.20's new allocate logic, which messes us up.
- align.resize_mode = Gtk.ResizeMode.QUEUE;
- align.set_size_request (grid_size, -1);
- align.margin_bottom = MENUBAR_HEIGHT; /* offset for menubar at top */
- align.show ();
- hbox.add (align);
+ if (content_align == "center")
+ {
+ // offset for back button
+ hbox.margin_end = greeter.grid_size;
+ }
+ content_box.add (hbox);
back_button = new FlatButton ();
back_button.get_accessible ().set_name (_("Back"));
Gtk.button_set_focus_on_click (back_button, false);
var image = new Gtk.Image.from_file (Path.build_filename (Config.PKGDATADIR, "arrow_left.png", null));
image.show ();
- back_button.set_size_request (grid_size - GreeterList.BORDER * 2, grid_size - GreeterList.BORDER * 2);
+ back_button.set_size_request (greeter.grid_size - (int)(GreeterList.BORDER * greeter.scaling_factor_widgets * 2),
+ greeter.grid_size - (int)(GreeterList.BORDER * greeter.scaling_factor_widgets * 2));
try
{
var style = new Gtk.CssProvider ();
style.load_from_data ("* {background-color: transparent;
%s
- }".printf(shadow_style), -1);
+ }
+ *.high_contrast {background-color: black;
+ border-color: white;
+ }".printf(shadow_style), -1);
var context = back_button.get_style_context();
context.add_provider (style,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
@@ -127,8 +181,14 @@ public class MainWindow : Gtk.Window
back_button.add (image);
back_button.clicked.connect (pop_list);
-
- align.add (back_button);
+ back_button.halign = Gtk.Align.CENTER;
+ back_button.valign = Gtk.Align.CENTER;
+ back_button.hexpand = false;
+ back_button.vexpand = false;
+ back_button.resize_mode = Gtk.ResizeMode.QUEUE;
+ back_button.set_size_request (greeter.grid_size, -1);
+ back_button.margin_bottom = greeter.menubar_height;
+ hbox.add (back_button);
stack = new ListStack ();
stack.show ();
@@ -146,7 +206,6 @@ public class MainWindow : Gtk.Window
only_on_monitor = AGSettings.get_string(AGSettings.KEY_ONLY_ON_MONITOR);
monitor_setting_ok = only_on_monitor == "auto";
- var greeter = new ArcticaGreeter ();
if (greeter.test_mode)
{
/* Simulate an 800x600 monitor to the left of a 640x480 monitor */
@@ -159,6 +218,7 @@ public class MainWindow : Gtk.Window
}
else
{
+ set_type_hint(Gdk.WindowTypeHint.DOCK);
var screen = get_screen ();
screen.monitors_changed.connect (monitors_changed_cb);
monitors_changed_cb (screen);
@@ -179,18 +239,31 @@ public class MainWindow : Gtk.Window
back_button.hide ();
stack.pop ();
+
+ redraw_main_window();
+ }
+
+ protected void redraw_main_window ()
+ {
+ Gtk.Allocation allocation;
+ this.get_allocation (out allocation);
+ queue_draw_area (allocation.x, allocation.y, allocation.width, allocation.height);
}
+
public override void size_allocate (Gtk.Allocation allocation)
{
base.size_allocate (allocation);
- if (hbox != null)
+ var greeter = new ArcticaGreeter();
+
+ if (content_box != null)
{
- hbox.margin_start = get_grid_offset (get_allocated_width ()) + grid_size;
- hbox.margin_end = get_grid_offset (get_allocated_width ());
- hbox.margin_top = get_grid_offset (get_allocated_height ());
- hbox.margin_bottom = get_grid_offset (get_allocated_height ());
+ var content_align = AGSettings.get_string(AGSettings.KEY_CONTENT_ALIGN);
+ content_box.margin_start = get_grid_offset (get_allocated_width ()) + (content_align == "left" ? greeter.grid_size : 0);
+ content_box.margin_end = get_grid_offset (get_allocated_width ()) + (content_align == "right" ? greeter.grid_size : 0);
+ content_box.margin_top = get_grid_offset (get_allocated_height ());
+ content_box.margin_bottom = get_grid_offset (get_allocated_height ());
}
}
@@ -202,6 +275,102 @@ public class MainWindow : Gtk.Window
move_to_monitor (primary_monitor);
}
+ public void set_struts ()
+ {
+ var greeter = new ArcticaGreeter();
+ /* Substract the 5px shadow from the menubar height, so that indicators' menus render well */
+ _set_struts (MenubarPositions.TOP, greeter.menubar_height);
+ }
+
+ private void getScreenSize (out int nScreenWidth, out int nScreenHeight)
+ {
+ Gdk.Display pDisplay = Gdk.Display.get_default ();
+ int nMonitors = pDisplay.get_n_monitors ();
+
+ if (nMonitors == 0)
+ {
+ nScreenWidth = 0;
+ nScreenHeight = 0;
+
+ return;
+ }
+
+ int x0 = int.MAX;
+ int y0 = int.MAX;
+ int x1 = int.MIN;
+ int y1 = int.MIN;
+
+ for (int nMonitor = 0; nMonitor < nMonitors; nMonitor++)
+ {
+ Gdk.Monitor pMonitor = pDisplay.get_monitor (nMonitor);
+ Gdk.Rectangle cRectangle = pMonitor.get_geometry ();
+
+ x0 = int.min (x0, cRectangle.x);
+ y0 = int.min (y0, cRectangle.y);
+ x1 = int.max (x1, cRectangle.x + cRectangle.width);
+ y1 = int.max (y1, cRectangle.y + cRectangle.height);
+ }
+
+ nScreenWidth = x1 - x0;
+ nScreenHeight = y1 - y0;
+ }
+
+ private void _set_struts (uint position, long menubar_size)
+ {
+ if (!get_realized()) {
+ return;
+ }
+
+ int scale = get_scale_factor();
+
+ if (primary_monitor == null) {
+ return;
+ }
+
+ Gdk.Atom atom;
+ long struts[12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+
+ /* Subtract (non-scaled) 5px border + 2px extra spacing (to make indicator menus render nicely below menubar) */
+ menubar_size = menubar_size - 7;
+
+ int nScreenWidth = 0;
+ int nScreenHeight = 0;
+ getScreenSize (out nScreenWidth, out nScreenHeight);
+
+ // Struts dependent on position
+ switch (position) {
+ case MenubarPositions.TOP:
+ struts[Struts.TOP] = (menubar_size + primary_monitor.y) * scale;
+ struts[Struts.TOP_START] = primary_monitor.x * scale;
+ struts[Struts.TOP_END] = (primary_monitor.x + primary_monitor.width) * scale - 1;
+ break;
+ case MenubarPositions.LEFT:
+ struts[Struts.LEFT] = (primary_monitor.x + menubar_size) * scale;
+ struts[Struts.LEFT_START] = primary_monitor.y * scale;
+ struts[Struts.LEFT_END] = (primary_monitor.y + primary_monitor.height) * scale - 1;
+ break;
+ case MenubarPositions.RIGHT:
+ struts[Struts.RIGHT] = (menubar_size + nScreenWidth - primary_monitor.x - primary_monitor.width) * scale;
+ struts[Struts.RIGHT_START] = primary_monitor.y * scale;
+ struts[Struts.RIGHT_END] = (primary_monitor.y + primary_monitor.height) * scale - 1;
+ break;
+ case MenubarPositions.BOTTOM:
+ default:
+ struts[Struts.BOTTOM] = (menubar_size + nScreenHeight - primary_monitor.y - primary_monitor.height) * scale;
+ struts[Struts.BOTTOM_START] = primary_monitor.x * scale;
+ struts[Struts.BOTTOM_END] = (primary_monitor.x + primary_monitor.width) * scale - 1;
+ break;
+ }
+
+ atom = Gdk.Atom.intern("_NET_WM_STRUT", false);
+ Gdk.property_change(get_toplevel().get_window(), atom, Gdk.Atom.intern("CARDINAL", false),
+ 32, Gdk.PropMode.REPLACE, (uint8[])struts, 4);
+
+ atom = Gdk.Atom.intern("_NET_WM_STRUT_PARTIAL", false);
+ Gdk.property_change(get_toplevel().get_window(), atom, Gdk.Atom.intern("CARDINAL", false),
+ 32, Gdk.PropMode.REPLACE, (uint8[])struts, 12);
+ }
+
public override void realize ()
{
base.realize ();
@@ -257,6 +426,8 @@ public class MainWindow : Gtk.Window
{
do_resize = true;
}
+
+ set_struts ();
}
/* Check if a monitor has a unique position */
@@ -428,6 +599,99 @@ public class MainWindow : Gtk.Window
return true;
}
break;
+
+ case Gdk.Key.k:
+
+ if ((event.state & Gdk.ModifierType.CONTROL_MASK) != 0)
+ {
+ bool bActive = AGSettings.get_boolean (AGSettings.KEY_ONSCREEN_KEYBOARD);
+
+ try
+ {
+ DBusConnection pConnection = Bus.get_sync (BusType.SESSION);
+ Variant pActive = new Variant.boolean (!bActive);
+ Variant pTuple = new Variant("(sva{sv})", "onboard", pActive, null);
+ pConnection.call.begin ("org.ayatana.indicator.a11y", "/org/ayatana/indicator/a11y", "org.gtk.Actions", "SetState", pTuple, null, DBusCallFlags.NONE, -1, null);
+ }
+ catch (Error pError)
+ {
+ warning ("%s", pError.message);
+ }
+
+ return true;
+ }
+
+ break;
+
+ case Gdk.Key.h:
+
+ if ((event.state & Gdk.ModifierType.CONTROL_MASK) != 0)
+ {
+ AGSettings pSettings = new AGSettings ();
+ bool bActive = pSettings.high_contrast;
+
+ try
+ {
+ DBusConnection pConnection = Bus.get_sync (BusType.SESSION);
+ Variant pActive = new Variant.boolean (!bActive);
+ Variant pTuple = new Variant("(sva{sv})", "contrast", pActive, null);
+ pConnection.call.begin ("org.ayatana.indicator.a11y", "/org/ayatana/indicator/a11y", "org.gtk.Actions", "SetState", pTuple, null, DBusCallFlags.NONE, -1, null);
+ }
+ catch (Error pError)
+ {
+ warning ("%s", pError.message);
+ }
+
+ return true;
+ }
+
+ break;
+
+ case Gdk.Key.s:
+
+ if ((event.state & Gdk.ModifierType.CONTROL_MASK) != 0)
+ {
+ bool bActive = AGSettings.get_boolean (AGSettings.KEY_SCREEN_READER);
+
+ try
+ {
+ DBusConnection pConnection = Bus.get_sync (BusType.SESSION);
+ Variant pActive = new Variant.boolean (!bActive);
+ Variant pTuple = new Variant("(sva{sv})", "orca", pActive, null);
+ pConnection.call.begin ("org.ayatana.indicator.a11y", "/org/ayatana/indicator/a11y", "org.gtk.Actions", "SetState", pTuple, null, DBusCallFlags.NONE, -1, null);
+ }
+ catch (Error pError)
+ {
+ warning ("%s", pError.message);
+ }
+
+ return true;
+ }
+
+ break;
+
+ case Gdk.Key.m:
+
+ if ((event.state & Gdk.ModifierType.CONTROL_MASK) != 0)
+ {
+ bool bActive = AGSettings.get_boolean (AGSettings.KEY_MAGNIFIER);
+
+ try
+ {
+ DBusConnection pConnection = Bus.get_sync (BusType.SESSION);
+ Variant pActive = new Variant.boolean (!bActive);
+ Variant pTuple = new Variant("(sva{sv})", "magnifier", pActive, null);
+ pConnection.call.begin ("org.ayatana.indicator.a11y", "/org/ayatana/indicator/a11y", "org.gtk.Actions", "SetState", pTuple, null, DBusCallFlags.NONE, -1, null);
+ }
+ catch (Error pError)
+ {
+ warning ("%s", pError.message);
+ }
+
+ return true;
+ }
+
+ break;
}
return base.key_press_event (event);
diff --git a/src/menubar.vala b/src/menubar.vala
index 7b1fb21..0ba2903 100644
--- a/src/menubar.vala
+++ b/src/menubar.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2011,2012 Canonical Ltd
* Copyright (C) 2015-2017 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -40,6 +40,19 @@ private class IndicatorMenuItem : Gtk.MenuItem
{
entry.label.show.connect (this.visibility_changed_cb);
entry.label.hide.connect (this.visibility_changed_cb);
+ var pContext = entry.label.get_style_context ();
+ var pProvider = new Gtk.CssProvider ();
+
+ try
+ {
+ pProvider.load_from_data ("*.high_contrast {color: #000000; font-size: 12pt; text-shadow: none;}", -1);
+ }
+ catch (Error pError)
+ {
+ error ("Panic: Failed adding indicator label colour: %s", pError.message);
+ }
+
+ pContext.add_provider (pProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
hbox.pack_start (entry.label, false, false, 0);
}
if (entry.image != null)
@@ -88,83 +101,17 @@ private class IndicatorMenuItem : Gtk.MenuItem
}
}
-public class MenuBar : Gtk.MenuBar
+public class MenuBar : Gtk.Grid
{
public Background? background { get; construct; default = null; }
public Gtk.Window? keyboard_window { get; private set; default = null; }
public Gtk.AccelGroup? accel_group { get; construct; }
- private const int HEIGHT = 32;
-
public MenuBar (Background bg, Gtk.AccelGroup ag)
{
Object (background: bg, accel_group: ag);
}
- public override bool draw (Cairo.Context c)
- {
- if (background != null)
- {
- /* Disable background drawing to see how it changes the visuals. */
- /*
- int x, y;
- background.translate_coordinates (this, 0, 0, out x, out y);
- c.save ();
- c.translate (x, y);
- background.draw_full (c, Background.DrawFlags.NONE);
- c.restore ();
- */
- }
-
- /* Get the style and dimensions. */
- var style_ctx = this.get_style_context ();
-
- var w = this.get_allocated_width ();
- var h = this.get_allocated_height ();
-
- /* Add a group. */
- c.push_group ();
-
- /* Draw the background normally. */
- style_ctx.render_background (c, 0, 0, w, h);
-
- /* Draw the frame normally. */
- style_ctx.render_frame (c, 0, 0, w, h);
-
- /* Go back to the original widget. */
- c.pop_group_to_source ();
-
- var agsettings = new AGSettings ();
- if (agsettings.high_contrast) {
- /*
- * In case the high contrast mode is enabled, do not add any
- * transparency. While the GTK theme might define one (even though
- * it better should not, given that we are also switching to a
- * high contrast theme), we certainly do not want to make the look
- * fuzzy.
- */
- c.paint ();
- }
- else {
- /*
- * And finally repaint it with additional transparency.
- * Note that most GTK styles already define a transparency for OSD
- * menus. We want to have something more transparent, but also
- * make sure that it is not too transparent, so do not choose a
- * value that is too low here - certainly not your desired final
- * alpha value.
- */
- c.paint_with_alpha (AGSettings.get_double (AGSettings.KEY_MENUBAR_ALPHA));
- }
-
- foreach (var child in get_children ())
- {
- propagate_draw (child, c);
- }
-
- return false;
- }
-
public static void add_style_class (Gtk.Widget widget)
{
/*
@@ -176,116 +123,64 @@ public class MenuBar : Gtk.MenuBar
}
private List<Indicator.Object> indicator_objects;
+ private Gtk.MenuBar pMenubar;
construct
{
+ // Assure that printf operates in C.UTF-8 locale for float-to-string conversions.
+ Intl.setlocale(LocaleCategory.NUMERIC, "C.UTF-8");
+
+ this.pMenubar = new Gtk.MenuBar ();
+ this.pMenubar.halign = Gtk.Align.END;
+ this.pMenubar.hexpand = true;
+ this.pMenubar.pack_direction = Gtk.PackDirection.RTL;
+ this.pMenubar.show ();
+ this.attach (this.pMenubar, 1, 0, 1, 1);
+ this.show ();
add_style_class (this);
-
- /* Add shadow. */
- var shadow_style = new Gtk.CssProvider ();
+ Gtk.CssProvider pGridProvider = new Gtk.CssProvider ();
+ Gtk.StyleContext pGridContext = this.get_style_context ();
+ Gdk.RGBA pBackground = getBackground (pGridContext, AGSettings.KEY_MENUBAR_BGCOLOR, AGSettings.KEY_MENUBAR_ALPHA);
+ int nBackgroundRed = (int)(pBackground.red * 255.0);
+ int nBackgroundGreen = (int)(pBackground.green * 255.0);
+ int nBackgroundBlue = (int)(pBackground.blue * 255.0);
+ Gdk.RGBA pShadow = getBackground (pGridContext, AGSettings.KEY_MENUBAR_SHADOW_COLOR, AGSettings.KEY_MENUBAR_SHADOW_ALPHA);
+ int nShadowRed = (int)(pShadow.red * 255.0);
+ int nShadowGreen = (int)(pShadow.green * 255.0);
+ int nShadowBlue = (int)(pShadow.blue * 255.0);
+ string sBackground = "* {background-color: rgba(%i, %i, %i, %f); border: none; box-shadow: 0px 5px 5px -5px rgba(%i, %i, %i, %f);}".printf (nBackgroundRed, nBackgroundGreen, nBackgroundBlue, pBackground.alpha, nShadowRed, nShadowGreen, nShadowBlue, pShadow.alpha);
try
{
- shadow_style.load_from_data ("* { box-shadow: 0px 0px 5px 5px #000000; }", -1);
+ pGridProvider.load_from_data (sBackground + " *.high_contrast {background-color: #ffffff; color: #000000; text-shadow: none; box-shadow: none;}", -1);
}
catch (Error pError)
{
- error ("Panic: Failed adding shadow: %s", pError.message);
+ error ("Panic: Failed loading menubar grid colours: %s", pError.message);
}
- this.get_style_context ().add_provider (shadow_style,
- Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+ pGridContext.add_provider (pGridProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
- pack_direction = Gtk.PackDirection.RTL;
+ Gtk.CssProvider pMenubarProvider = new Gtk.CssProvider ();
- if (AGSettings.get_boolean (AGSettings.KEY_SHOW_HOSTNAME))
+ try
{
- var hostname_item = new Gtk.MenuItem.with_label (Posix.utsname ().nodename);
- append (hostname_item);
- hostname_item.show ();
-
- /*
- * Even though this (menu) item is insensitive, we want its label
- * text to have the sensitive color as to not look out of place
- * and difficult to read.
- *
- * There's a really weird bug that leads to always fetch the
- * sensitive color after the widget (menuitem in this case) has
- * been set to insensitive once - at least in this constructor.
- *
- * I haven't found a way to fix that, or, for that matter, what is
- * actually causing the issue. Even waiting on the main event loop
- * until all events are processed didn't help.
- *
- * We'll work around this issue by fetching the color before
- * setting the widget to insensitive and call it proper.
- */
- var insensitive_override_style = new Gtk.CssProvider ();
-
- /*
- * First, fetch the associated GtkStyleContext and save the state,
- * we'll override the state later on.
- */
- var hostname_item_ctx = hostname_item.get_style_context ();
- hostname_item_ctx.save ();
-
- try {
- /* Get the actual color. */
- var sensitive_color = hostname_item_ctx.get_color (Gtk.StateFlags.NORMAL);
- debug ("Directly fetched sensitive color: %s", sensitive_color.to_string ());
-
- insensitive_override_style.load_from_data ("*:disabled { color: %s; }".printf(sensitive_color.to_string ()), -1);
- }
- catch (Error e)
- {
- debug ("Internal error loading hostname menu item text color: %s", e.message);
- }
- finally {
- /*
- * Restore the context, which we might have changed through the
- * previous get_color () call.
- */
- hostname_item_ctx.restore ();
- }
-
- try {
- /* And finally override the insensitive color. */
- hostname_item_ctx.add_provider (insensitive_override_style,
- Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
-
- /*
- * Just overriding the color for the Gtk.MenuItem widget
- * doesn't help, we'll also apply it to the children.
- *
- * In theory, we could just use the get_child () method to
- * fetch the only child we should ever have on that widget,
- * namely a GtkAccelLabel, but that isn't future-proof enough,
- * especially if that is ever extended into having a submenu.
- *
- * Thus, iterate over all children and override the style for
- * all of them.
- */
- if (gtk_is_container (hostname_item)) {
- var children = hostname_item.get_children ();
- foreach (Gtk.Widget element in children) {
- var child_ctx = element.get_style_context ();
- debug ("Adding override style provider to child widget %s", element.name);
- child_ctx.add_provider (insensitive_override_style,
- Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
- }
- }
- }
- catch (Error e)
- {
- debug ("Internal error overriding hostname menu item text color: %s", e.message);
- }
+ pMenubarProvider.load_from_data ("* { background-color: transparent; } *.high_contrast { color: #000000; text-shadow: none; }", -1);
+ }
+ catch (Error pError)
+ {
+ error ("Panic: Failed loading menubar colours: %s", pError.message);
+ }
- hostname_item.set_sensitive (false);
+ this.pMenubar.get_style_context ().add_provider (pMenubarProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
- /* The below does not work, so for now we need to stick to "set_right_justified"
- hostname_item.set_hexpand (true);
- hostname_item.set_halign (Gtk.Align.END);*/
- hostname_item.set_right_justified (true);
+ if (AGSettings.get_boolean (AGSettings.KEY_SHOW_HOSTNAME))
+ {
+ Gtk.Label pLabel = new Gtk.Label (Posix.utsname ().nodename);
+ pLabel.vexpand = true;
+ pLabel.margin_start = 6;
+ pLabel.show ();
+ this.attach (pLabel, 0, 0, 1, 1);
}
/* Prevent dragging the window by the menubar */
@@ -293,7 +188,7 @@ public class MenuBar : Gtk.MenuBar
{
var style = new Gtk.CssProvider ();
style.load_from_data ("* {-GtkWidget-window-dragging: false;}", -1);
- get_style_context ().add_provider (style, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+ this.pMenubar.get_style_context ().add_provider (style, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
}
catch (Error e)
{
@@ -303,10 +198,52 @@ public class MenuBar : Gtk.MenuBar
setup_indicators ();
}
+ public void select_first (bool bSearchSensitive)
+ {
+ this.pMenubar.select_first (bSearchSensitive);
+ }
+
public override void get_preferred_height (out int min, out int nat)
{
- min = HEIGHT;
- nat = HEIGHT;
+ var greeter = new ArcticaGreeter ();
+ min = (int)Math.round(greeter.menubar_height - 8);
+ nat = (int)Math.round(greeter.menubar_height - 8);
+ }
+
+ private Gdk.RGBA getBackground (Gtk.StyleContext pContext, string sBackgroundKey, string sAlphaKey)
+ {
+ string sBackground = AGSettings.get_string (sBackgroundKey);
+ Gdk.RGBA pBackground;
+
+ if (sBackground != "")
+ {
+ pBackground = Gdk.RGBA ();
+ pBackground.parse (sBackground);
+ }
+ else
+ {
+ bool bFound = pContext.lookup_color ("osd_bg", out pBackground);
+
+ if (!bFound)
+ {
+ bFound = pContext.lookup_color ("dark_bg_color", out pBackground);
+
+ if (!bFound)
+ {
+ pBackground = Gdk.RGBA ();
+ pBackground.parse ("#444444");
+ debug ("Failed to retrieve osd_bg and dark_bg_color for %s - falling back to #444444", sBackgroundKey);
+ }
+ else
+ {
+ debug ("Failed to retrieve osd_bg for %s - falling back to dark_bg_color", sBackgroundKey);
+ }
+ }
+ }
+
+ pBackground.alpha = AGSettings.get_double (sAlphaKey);
+
+ return pBackground;
}
private Indicator.Object? load_indicator_file (string indicator_name)
@@ -454,7 +391,7 @@ public class MenuBar : Gtk.MenuBar
{
var index = get_indicator_index (object);
var pos = 0;
- foreach (var child in get_children ())
+ foreach (var child in this.pMenubar.get_children ())
{
if (!(child is IndicatorMenuItem))
break;
@@ -471,19 +408,19 @@ public class MenuBar : Gtk.MenuBar
var menuitem = new IndicatorMenuItem (entry);
menuitem.set_data ("indicator-object", object);
- insert (menuitem, pos);
+ this.pMenubar.insert (menuitem, pos);
}
private void indicator_removed_cb (Indicator.Object object, Indicator.ObjectEntry entry)
{
debug ("Removing indicator object %p", entry);
- foreach (var child in get_children ())
+ foreach (var child in this.pMenubar.get_children ())
{
var menuitem = (IndicatorMenuItem) child;
if (menuitem.entry == entry)
{
- remove (child);
+ this.pMenubar.remove (child);
return;
}
}
diff --git a/src/prompt-box.vala b/src/prompt-box.vala
index 5716ab1..fb3d4ab 100644
--- a/src/prompt-box.vala
+++ b/src/prompt-box.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2011,2012 Canonical Ltd
* Copyright (C) 2015,2017 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -96,8 +96,8 @@ public class PromptBox : FadableBox
construct
{
- // Hack to avoid gtk 3.20's new allocate logic, which messes us up.
resize_mode = Gtk.ResizeMode.QUEUE;
+ var greeter = new ArcticaGreeter();
set_start_row ();
reset_last_row ();
@@ -110,7 +110,7 @@ public class PromptBox : FadableBox
box_grid = new Gtk.Grid ();
box_grid.column_spacing = 4;
box_grid.row_spacing = 3;
- box_grid.margin_top = GreeterList.BORDER;
+ box_grid.margin_top = (int)(GreeterList.BORDER * greeter.scaling_factor_widgets);
box_grid.margin_bottom = 6;
box_grid.expand = true;
@@ -126,7 +126,7 @@ public class PromptBox : FadableBox
active_indicator = new ActiveIndicator ();
active_indicator.valign = Gtk.Align.START;
- active_indicator.margin_top = (grid_size - ActiveIndicator.HEIGHT) / 2;
+ active_indicator.margin_top = (greeter.grid_size - ActiveIndicator.HEIGHT) / 2;
active_indicator.show ();
box_grid.attach (active_indicator, COL_ACTIVE, last_row, 1, 1);
@@ -151,7 +151,7 @@ public class PromptBox : FadableBox
small_active_indicator = new ActiveIndicator ();
small_active_indicator.valign = Gtk.Align.START;
- small_active_indicator.margin_top = (grid_size - ActiveIndicator.HEIGHT) / 2;
+ small_active_indicator.margin_top = (greeter.grid_size - ActiveIndicator.HEIGHT) / 2;
small_active_indicator.show ();
small_box_grid.attach (small_active_indicator, 0, 0, 1, 1);
@@ -223,8 +223,8 @@ public class PromptBox : FadableBox
try
{
var color_provider = new Gtk.CssProvider ();
- var css = "* { color: rgba(255, 255, 255, 1.0); }\n" +
- ".high_contrast { color: rgba (0, 0, 0, 1.0); }";
+ string sColor = AGSettings.get_string (AGSettings.KEY_PROMPTBOX_COLOR_NORMAL);
+ var css = "* { color: %s; } .high_contrast { color: rgba (0, 0, 0, 1.0); }".printf (sColor);
color_provider.load_from_data (css, -1);
style_ctx.add_provider (color_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
@@ -234,31 +234,25 @@ public class PromptBox : FadableBox
debug ("Internal error setting color on name label: %s", e.message);
}
+ var greeter = new ArcticaGreeter();
+
name_label.valign = Gtk.Align.START;
name_label.vexpand = true;
name_label.yalign = 0.5f;
name_label.xalign = 0.0f;
name_label.margin_start = 2;
- name_label.set_size_request (-1, grid_size);
+ name_label.set_size_request (-1, greeter.grid_size);
name_label.show ();
name_grid.attach (name_label, COL_NAME_LABEL, ROW_NAME, 1, 1);
message_image = new CachedImage (null);
- try
- {
- message_image.pixbuf = new Gdk.Pixbuf.from_file (Path.build_filename (Config.PKGDATADIR, "message.png", null));
- }
- catch (Error e)
- {
- debug ("Error loading message image: %s", e.message);
- }
-
- var align = new Gtk.Alignment (0.5f, 0.5f, 0.0f, 0.0f);
- align.valign = Gtk.Align.START;
- align.set_size_request (-1, grid_size);
- align.add (message_image);
- align.show ();
- name_grid.attach (align, COL_NAME_MESSAGE, ROW_NAME, 1, 1);
+ message_image.set_from_icon_name("mail-unread", Gtk.IconSize.BUTTON);
+ message_image.halign = Gtk.Align.CENTER;
+ message_image.valign = Gtk.Align.START;
+ message_image.hexpand = false;
+ message_image.vexpand = false;
+ message_image.set_size_request (-1, greeter.grid_size);
+ name_grid.attach (message_image, COL_NAME_MESSAGE, ROW_NAME, 1, 1);
option_button = new FlatButton ();
var option_button_ctx = option_button.get_style_context ();
@@ -327,7 +321,7 @@ public class PromptBox : FadableBox
try
{
var font_provider = new Gtk.CssProvider ();
- var css = "* {font-family: %s; font-size: %dpt;}".printf (font_family, font_size);
+ var css = "* {color: #FFFFFF; font-family: %s; font-size: %dpt;}".printf (font_family, font_size);
font_provider.load_from_data (css, -1);
style_ctx.add_provider (font_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
@@ -337,22 +331,23 @@ public class PromptBox : FadableBox
debug ("Internal error loading font style (%s, %dpt): %s", font_family, font_size, e.message);
}
- small_name_label.override_color (Gtk.StateFlags.NORMAL, { 1.0f, 1.0f, 1.0f, 1.0f });
+ var greeter = new ArcticaGreeter();
+
small_name_label.yalign = 0.5f;
small_name_label.xalign = 0.0f;
small_name_label.margin_start = 2;
- small_name_label.set_size_request (-1, grid_size);
+ small_name_label.set_size_request (-1, greeter.grid_size);
small_name_label.show ();
small_name_grid.attach (small_name_label, 1, 0, 1, 1);
small_message_image = new CachedImage (null);
- small_message_image.pixbuf = message_image.pixbuf;
-
- var align = new Gtk.Alignment (0.5f, 0.5f, 0.0f, 0.0f);
- align.set_size_request (-1, grid_size);
- align.add (small_message_image);
- align.show ();
- small_name_grid.attach (align, 2, 0, 1, 1);
+ small_message_image.set_from_icon_name("mail-unread", Gtk.IconSize.BUTTON);
+ small_message_image.halign = Gtk.Align.CENTER;
+ small_message_image.valign = Gtk.Align.CENTER;
+ small_message_image.hexpand = false;
+ small_message_image.vexpand = false;
+ small_message_image.set_size_request (-1, greeter.grid_size);
+ small_name_grid.attach (small_message_image, 2, 0, 1, 1);
small_name_grid.show ();
return small_name_grid;
@@ -371,22 +366,28 @@ public class PromptBox : FadableBox
#if HAVE_GTK_3_20_0
private int round_to_grid (int size)
{
- var num_grids = size / grid_size;
- var remainder = size % grid_size;
+ var greeter = new ArcticaGreeter();
+
+ var num_grids = size / greeter.grid_size;
+ var remainder = size % greeter.grid_size;
if (remainder > 0)
num_grids += 1;
num_grids = int.max (num_grids, 3);
- return num_grids * grid_size;
+ return num_grids * greeter.grid_size;
}
public override void get_preferred_height (out int min, out int nat)
{
base.get_preferred_height (out min, out nat);
- min = round_to_grid (min + GreeterList.BORDER * 2) - GreeterList.BORDER * 2;
- nat = round_to_grid (nat + GreeterList.BORDER * 2) - GreeterList.BORDER * 2;
+
+ var greeter = new ArcticaGreeter();
+
+ int double_border_scaled = (int)(GreeterList.BORDER * greeter.scaling_factor_widgets * 2);
+ min = round_to_grid (min + double_border_scaled) - double_border_scaled;
+ nat = round_to_grid (nat + double_border_scaled) - double_border_scaled;
if (position <= -1 || position >= 1)
- min = nat = grid_size;
+ min = nat = greeter.grid_size;
}
#endif
@@ -401,7 +402,7 @@ public class PromptBox : FadableBox
if (option_button == null)
return;
- option_image.pixbuf = image;
+ option_image.set_pixbuf (image);
if (tooltip == null)
option_image.set_tooltip_text("");
@@ -558,7 +559,19 @@ public class PromptBox : FadableBox
ArcticaGreeter.add_style_class (w);
last_row += 1;
- box_grid.attach (w, COL_ENTRIES_START, last_row, COL_ENTRIES_WIDTH, 1);
+ bool bErrorBelow = AGSettings.get_boolean (AGSettings.KEY_ERROR_BELOW_ENTRY);
+
+ if (has_errors && bErrorBelow)
+ {
+ Gtk.Widget pChild = box_grid.get_child_at (COL_ENTRIES_START, last_row-1);
+ box_grid.remove (pChild);
+ box_grid.attach (w, COL_ENTRIES_START, last_row-1, COL_ENTRIES_WIDTH, 1);
+ box_grid.attach (pChild, COL_ENTRIES_START, last_row, COL_ENTRIES_WIDTH, 1);
+ }
+ else
+ {
+ box_grid.attach (w, COL_ENTRIES_START, last_row, COL_ENTRIES_WIDTH, 1);
+ }
update_prompt_visibility (w);
queue_resize ();
@@ -566,15 +579,27 @@ public class PromptBox : FadableBox
public void add_message (string text, bool is_error)
{
- var label = new FadingLabel (text);
- label.set_line_wrap (true);
+ var label = new FadingLabel ("");
var style_ctx = label.get_style_context();
try
{
var font_provider = new Gtk.CssProvider ();
- var css = "* {font-family: %s; font-size: %dpt;}".printf (font_family, font_size-1);
+ var css = "";
+
+ if (is_error)
+ {
+ string sColor = AGSettings.get_string (AGSettings.KEY_PROMPTBOX_COLOR_ERROR);
+ double fOpacity = AGSettings.get_double (AGSettings.KEY_PROMPTBOX_ERROR_BG_OPACITY);
+ css = "* {font-family: %s; font-size: %dpt; color: %s; background-color: rgba(255, 255, 255, %f); text-shadow: none;}".printf (font_family, font_size-1, sColor, fOpacity);
+ }
+ else
+ {
+ string sColor = AGSettings.get_string (AGSettings.KEY_PROMPTBOX_COLOR_NORMAL);
+ css = "* {font-family: %s; font-size: %dpt; color: %s;} *.high_contrast {color: black; }".printf (font_family, font_size-1, sColor);
+ }
+
font_provider.load_from_data (css, -1);
style_ctx.add_provider (font_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
@@ -584,24 +609,42 @@ public class PromptBox : FadableBox
debug ("Internal error loading font style (%s, %dpt): %s", font_family, font_size-1, e.message);
}
- Gdk.RGBA color = { 1.0f, 1.0f, 1.0f, 1.0f };
- if (is_error) {
- color.parse ("#820900");
+ label.xalign = 0.0f;
+ label.set_data<bool> ("prompt-box-is-error", is_error);
- /*
- * Overriding the background color will look ugly, but at least
- * always make the text readable, which is probably important for
- * error messages.
- * We probably want to find a better way of handling this.
- */
- Gdk.RGBA bg_color = { 1.0f, 1.0f, 1.0f, 1.0f };
- label.override_background_color (Gtk.StateFlags.NORMAL, bg_color);
- }
- label.override_color (Gtk.StateFlags.NORMAL, color);
+ // Wrap the text if needed
+ ArcticaGreeter pGreeter = new ArcticaGreeter ();
+ Pango.Context pContext = label.get_pango_context ();
+ Pango.Layout pLayout = new Pango.Layout (pContext);
+ Pango.FontDescription pDescription = null;
+ Gtk.StateFlags nFlags = style_ctx.get_state ();
+ style_ctx.get (nFlags, "font", out pDescription, null);
+ pLayout.set_font_description (pDescription);
+ StringBuilder pBuilder = new StringBuilder ();
+ string[] lWords = text.split (" ");
+ string sLine = "";
+
+ foreach (string sWord in lWords)
+ {
+ string sTest = sLine == "" ? sWord : sLine + " " + sWord;
+ pLayout.set_text (sTest, -1);
+ int nWidth = 0;
+ pLayout.get_size (out nWidth, null);
+ if (nWidth / Pango.SCALE > (pGreeter.grid_size * GreeterList.BOX_WIDTH - (int)(GreeterList.BORDER * pGreeter.scaling_factor_widgets * 8)) && sLine != "")
+ {
+ pBuilder.append (sLine + "\n");
+ sLine = sWord;
+ }
+ else
+ {
+ sLine = sTest;
+ }
+ }
- label.xalign = 0.0f;
- label.set_data<bool> ("prompt-box-is-error", is_error);
+ pBuilder.append (sLine);
+ label.set_text (pBuilder.str);
+ //~Wrap the text if needed
attach_item (label);
@@ -679,6 +722,31 @@ public class PromptBox : FadableBox
}
entry.respond.connect (entry_activate_cb);
+ Gtk.StyleContext pContext = entry.get_style_context ();
+ Gtk.CssProvider pProvider = new Gtk.CssProvider ();
+ string sKey = "";
+
+ if (has_errors)
+ {
+ sKey = AGSettings.KEY_PROMPTBOX_COLOR_ERROR;
+ }
+ else
+ {
+ sKey = AGSettings.KEY_PROMPTBOX_COLOR_NORMAL;
+ }
+
+ string sColor = AGSettings.get_string (sKey);
+ string sCss = "entry {border: none; outline: none; box-shadow: 1px 0 %s inset, 0 1px %s inset, -1px 0 %s inset, 0 -1px %s inset;}".printf (sColor, sColor, sColor, sColor);
+
+ try
+ {
+ pProvider.load_from_data (sCss, -1);
+ pContext.add_provider (pProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
+ }
+ catch (Error pError)
+ {
+ warning ("Panic: Error setting DashEntry border colour: %s", pError.message);
+ }
attach_item (entry);
@@ -859,13 +927,15 @@ private class ActiveIndicator : Gtk.Image
public override void get_preferred_width (out int min, out int nat)
{
- min = WIDTH;
+ var greeter = new ArcticaGreeter();
+ min = (int)Math.round(WIDTH * greeter.scaling_factor_widgets);
nat = min;
}
public override void get_preferred_height (out int min, out int nat)
{
- min = HEIGHT;
+ var greeter = new ArcticaGreeter();
+ min = (int)Math.round(HEIGHT * greeter.scaling_factor_widgets);
nat = min;
}
diff --git a/src/session-list.vala b/src/session-list.vala
index 735ca1f..c4e865f 100644
--- a/src/session-list.vala
+++ b/src/session-list.vala
@@ -47,14 +47,56 @@ public class SessionPrompt : PromptBox
}
else
{
- var sessions = LightDM.get_sessions().copy();
- sessions.sort_with_data((a, b) => GLib.strcmp (a.name.casefold().collate_key(), b.name.casefold().collate_key()));
- foreach (var session in sessions)
+ /* Pick the selected session (if any) and add it as first item.
+ */
+ var dm_sessions = LightDM.get_sessions().copy();
+ foreach (var dm_session in dm_sessions)
{
+ if (dm_session.key == session) {
+ debug ("Adding session %s (%s) as first entry", dm_session.key, dm_session.name);
+ box.add_item (dm_session.key, dm_session.name, SessionList.get_badge (dm_session.key));
+ break;
+ }
+ }
+ /* Pick the default session (if different from selected session) and add it as next item.
+ *
+ * In SUSE and derivatives, LightDM ships a distro-specific patch that hides the default.desktop
+ * (and other) symlink(s) from LightDM.
+ * https://build.opensuse.org/projects/X11:Utilities/packages/lightdm/files/lightdm-ignore-known-symlink-sessions.patch?expand=1
+ *
+ * So the next if-clause won't take effect on SUSE-based systems.
+ */
+ if (session != default_session) {
+ foreach (var dm_session in dm_sessions)
+ {
+ if (dm_session.key == default_session) {
+ debug ("Adding session %s (%s) as second entry", dm_session.key, dm_session.name);
+ box.add_item (dm_session.key, dm_session.name, SessionList.get_badge (dm_session.key));
+ break;
+ }
+ }
+ }
+
+ dm_sessions.sort_with_data((a, b) => GLib.strcmp (a.name.casefold().collate_key(), b.name.casefold().collate_key()));
+ foreach (var dm_session in dm_sessions)
+ {
+ /* Skip the selected session, we already have added that as first time.
+ */
+ if (dm_session.key == session) {
+ continue;
+ }
+
+ /* Skip the default session, we already have added that as first or second item
+ (depending on whether there was a selected session).
+ */
+ if (dm_session.key == default_session) {
+ continue;
+ }
+
/* Apply hide x11/wayland filter */
- if (greeter.validate_session(session.key, false) != null) {
- debug ("Adding session %s (%s)", session.key, session.name);
- box.add_item (session.key, session.name, SessionList.get_badge (session.key));
+ if (greeter.validate_session(dm_session.key, false) != null) {
+ debug ("Adding session %s (%s)", dm_session.key, dm_session.name);
+ box.add_item (dm_session.key, dm_session.name, SessionList.get_badge (dm_session.key));
}
}
}
@@ -79,6 +121,8 @@ public class SessionList : GreeterList
private SessionPrompt prompt;
+ private const int BADGE_SIZE = 22;
+
public SessionList (Background bg, MenuBar mb, string? session, string? default_session)
{
Object (background: bg, menubar: mb, session: session, default_session: default_session);
@@ -100,80 +144,88 @@ public class SessionList : GreeterList
protected override void add_manual_entry () {}
public override void show_authenticated (bool successful = true) {}
- private static string? get_badge_name (string session)
+ private static string? get_badge_name_from_alias_list (string session)
{
+ /*
+ * Only list aliases here, if the badge name can be derived from <session>
+ * via <session>_badge.(svg|png) then the badge file is found automatically.
+ */
switch (session)
{
- case "awesome":
- return "awesome_badge.png";
case "budgie-desktop":
return "budgie_badge.png";
- case "ubuntu":
- case "ubuntu-2d":
- case "unity":
- return "ubuntu_badge.png";
+ case "cairo-dock-fallback":
+ case "cairo-dock-unity":
+ return "cairo-dock_badge.svg";
+ case "cinnamon-wayland":
+ case "cinnamon2d":
+ return "cinnamon_badge.svg";
+ case "fvwm-crystal":
+ case "fvwm1":
+ return "fvwm_badge.png";
case "gnome-classic":
+ case "gnome-classic-xorg":
+ case "gnome-classic-wayland":
case "gnome-flashback-compiz":
case "gnome-flashback-metacity":
case "gnome-shell":
case "gnome-wayland":
case "gnome-xorg":
- case "gnome":
case "openbox-gnome":
return "gnome_badge.png";
- case "sle-classic":
- return "sleclassic_badge.png";
case "wmaker-common":
return "gnustep_badge.png";
- case "kde":
+ case "IceWM-Experimental":
+ case "IceWM-Lite":
+ case "IceWM":
+ case "icewm-session":
+ return "icewm_badge.png";
case "kde-plasma":
case "openbox-kde":
case "plasma":
case "plasma5":
case "plasmawayland":
return "kde_badge.png";
- case "i3":
case "i3-with-shmlog":
return "i3_badge.png";
- case "sway":
- return "sway_badge.svg";
+ case "default":
case "lightdm-xsession":
return "xsession_badge.png";
- case "lomiri":
- return "lomiri_badge.png";
- case "lxde":
case "LXDE":
+ case "lubuntu-nexus7":
+ case "lxgames":
+ case "Lubuntu":
+ case "Lubuntu-Netbook":
+ case "QLubuntu":
return "lxde_badge.png";
- case "lxqt":
case "LXQt":
return "lxqt_badge.png";
- case "matchbox":
- return "matchbox_badge.png";
- case "mate":
- return "mate_badge.png";
case "mir-shell":
return "mirshell_badge.png";
- case "openbox":
- return "openbox_badge.png";
- case "pademelon":
- return "pademelon_badge.png";
- case "sugar":
+ case "sle-classic":
+ return "sleclassic_badge.png";
+ case "sugar-session-0.84":
+ case "sugar-session-0.86":
+ case "sugar-session-0.88":
+ case "sugar-session-0.90":
+ case "sugar-session-0.96":
+ case "sugar-session-0.98":
+ case "usr":
return "sugar_badge.png";
case "surf-display":
return "surf_badge.png";
- case "twm":
- return "twm_badge.png";
- case "xfce":
+ case "ubuntu-2d":
+ case "ubuntu-xorg":
+ case "unity":
+ return "ubuntu_badge.png";
+ case "XBMC":
+ return "xbmc_badge.png";
+ case "xubuntu":
return "xfce_badge.png";
case "xterm":
return "recovery_console_badge.png";
- case "xmonad":
+ case "gnome-xmonad":
return "xmonad_badge.png";
- case "icewm":
- case "icewm-session":
- return "icewm_badge.png";
- case "fynedesk":
- return "fynedesk_badge.svg";
case "remote-login":
return "remote_login_help.png";
default:
@@ -184,7 +236,47 @@ public class SessionList : GreeterList
private static HashTable<string, Gdk.Pixbuf> badges; /* cache of badges */
public static Gdk.Pixbuf? get_badge (string session)
{
- var name = get_badge_name (session);
+ if (session == "default")
+ {
+ var sessions = LightDM.get_sessions().copy();
+ foreach (var find_session in sessions)
+ {
+ if (find_session.key == "default")
+ {
+ foreach (var real_session in sessions)
+ {
+ // Skip the default session
+ if (real_session.key == "default") {
+ continue;
+ }
+
+ // If we find the real session, use its key value for badge icon loading...
+ if (real_session.name == find_session.name)
+ {
+ session = real_session.key;
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ var name = get_badge_name_from_alias_list (session);
+
+ if (name == null)
+ {
+ var default_name_svg = "%s_badge.svg".printf (session);
+ var default_name_png = "%s_badge.png".printf (session);
+ var default_name_svg_path = Path.build_filename (Config.PKGDATADIR, default_name_svg, null);
+ var default_name_png_path = Path.build_filename (Config.PKGDATADIR, default_name_png, null);
+ if (FileUtils.test (default_name_svg_path, FileTest.EXISTS)) {
+ name = default_name_svg;
+ }
+ else if (FileUtils.test (default_name_png_path, FileTest.EXISTS)) {
+ name = default_name_png;
+ }
+ }
if (name == null)
{
@@ -206,7 +298,11 @@ public class SessionList : GreeterList
{
try
{
- pixbuf = new Gdk.Pixbuf.from_file (Path.build_filename (Config.PKGDATADIR, name, null));
+ var greeter = new ArcticaGreeter();
+
+ pixbuf = new Gdk.Pixbuf.from_file_at_size (Path.build_filename (Config.PKGDATADIR, name, null),
+ (int)(BADGE_SIZE * _scale_factor * greeter.scaling_factor_widgets),
+ (int)(BADGE_SIZE * _scale_factor * greeter.scaling_factor_widgets));
badges.insert (name, pixbuf);
}
catch (Error e)
diff --git a/src/settings-daemon.vala b/src/settings-daemon.vala
index be34e9c..af6ff90 100644
--- a/src/settings-daemon.vala
+++ b/src/settings-daemon.vala
@@ -25,9 +25,10 @@ public class SettingsDaemon : Object
{
private int sd_pid = 0;
private int logind_inhibit_fd = -1;
- private ScreenSaverInterface screen_saver;
+ private GnomeScreenSaverInterface gnome_screen_saver;
+ private MateScreenSaverInterface mate_screen_saver;
private SessionManagerInterface session_manager;
- private int n_names = 2;
+ private int n_names = 3;
public void start ()
{
@@ -83,14 +84,15 @@ public class SettingsDaemon : Object
* the event to trigger this (which actually comes from mate-session).
* We implement the mate-screensaver interface and start the settings
* daemon once it is registered on the bus so mate-screensaver is not
- * started when it accesses this interface */
- screen_saver = new ScreenSaverInterface ();
+ * started when it accesses this interface.
+ */
+ gnome_screen_saver = new GnomeScreenSaverInterface ();
GLib.Bus.own_name (BusType.SESSION, "org.gnome.ScreenSaver", BusNameOwnerFlags.NONE,
(c) =>
{
try
{
- c.register_object ("/org/gnome/ScreenSaver", screen_saver);
+ c.register_object ("/org/gnome/ScreenSaver", gnome_screen_saver);
}
catch (Error e)
{
@@ -104,6 +106,29 @@ public class SettingsDaemon : Object
},
() => debug ("Failed to acquire name org.gnome.ScreenSaver"));
+ /* MATE components (e.g. mate-notification-daemon) expect org.mate.ScreenSaver being
+ * available. Mimick it so that the real mate-screensaver won't come up.
+ */
+ mate_screen_saver = new MateScreenSaverInterface ();
+ GLib.Bus.own_name (BusType.SESSION, "org.mate.ScreenSaver", BusNameOwnerFlags.NONE,
+ (c) =>
+ {
+ try
+ {
+ c.register_object ("/org/mate/ScreenSaver", mate_screen_saver);
+ }
+ catch (Error e)
+ {
+ warning ("Failed to register /org/mate/ScreenSaver: %s", e.message);
+ }
+ },
+ () =>
+ {
+ debug ("Acquired org.mate.ScreenSaver");
+ start_settings_daemon ();
+ },
+ () => debug ("Failed to acquire name org.mate.ScreenSaver"));
+
/* The media-keys plugin inhibits the power key, but we don't want
all the other keys doing things. So inhibit it ourselves */
/* NOTE: We are using the synchronous method here since there is a bug in Vala/GLib in that
@@ -180,6 +205,24 @@ public class SettingsDaemon : Object
{
debug ("Could not start %s: %s", Config.SD_BINARY, e.message);
}
+
+ /* Start Ayatana Indicators...
+ * The indicator start has been moved here, because the session
+ * indicator requires org.gnome.ScreenSaver to have been setup
+ * accurately (which is happening before the settings-daemon start).
+ */
+ debug ("Launching Ayatana Indicators...");
+ var greeter = new ArcticaGreeter();
+ Timeout.add (50, () =>
+ {
+ greeter.start_notification_daemon ();
+ return false;
+ });
+ Timeout.add (100, () =>
+ {
+ greeter.start_indicators ();
+ return false;
+ });
}
private void stop_settings_daemon ()
@@ -203,7 +246,6 @@ public class SettingsDaemon : Object
}
-[DBus (name="org.gnome.ScreenSaver")]
public class ScreenSaverInterface : Object
{
public signal void active_changed (bool value);
@@ -283,9 +325,24 @@ public class ScreenSaverInterface : Object
public void simulate_user_activity () throws GLib.DBusError, GLib.IOError {}
}
+[DBus (name="org.gnome.ScreenSaver")]
+public class GnomeScreenSaverInterface : ScreenSaverInterface {}
+
+[DBus (name="org.mate.ScreenSaver")]
+public class MateScreenSaverInterface : ScreenSaverInterface {}
+
[DBus (name="org.gnome.SessionManager")]
public class SessionManagerInterface : Object
{
+ private int client_id = 0;
+
+ public async ObjectPath RegisterClient(string app_id, string client_startup_id) throws GLib.DBusError, GLib.IOError
+ {
+ client_id++;
+ string path = "/org/ArcticaProject/artica_greeter/client/%d".printf (client_id);
+ debug ("Our fake org.gnome.SessionManager received RegisterClient request (app_id: %s, client_startup_id: %s), returning ObjectPath %s", app_id, client_startup_id, path);
+ return (ObjectPath)path;
+ }
public bool session_is_active { get { return true; } }
public string session_name { get { return "greeter"; } }
public uint32 inhibited_actions { get { return 0; } }
diff --git a/src/settings.vala b/src/settings.vala
index 8447c0f..2a89c38 100644
--- a/src/settings.vala
+++ b/src/settings.vala
@@ -3,7 +3,7 @@
* Copyright (C) 2011,2012 Canonical Ltd
* Copyright (C) 2015,2017 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Copyright (C) 2022 Mihai Moldovan <ionic@ionic.de>
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -43,6 +43,7 @@ public class AGSettings : Object
public const string KEY_CURSOR_THEME_NAME = "cursor-theme-name";
public const string KEY_CURSOR_THEME_SIZE = "cursor-theme-size";
public const string KEY_FONT_NAME = "font-name";
+ public const string KEY_WINDOW_MANAGER = "window-manager";
public const string KEY_XFT_ANTIALIAS = "xft-antialias";
public const string KEY_XFT_DPI = "xft-dpi";
public const string KEY_XFT_HINTSTYLE = "xft-hintstyle";
@@ -56,6 +57,9 @@ public class AGSettings : Object
public const string KEY_PLAY_READY_SOUND = "play-ready-sound";
public const string KEY_INDICATORS = "indicators";
public const string KEY_HIDDEN_USERS = "hidden-users";
+ public const string KEY_HIDDEN_GROUPS = "hidden-groups";
+ public const string KEY_USER_FILTER= "user-filter";
+ public const string KEY_USER_FILTER_ALWAYS = "user-filter-always";
public const string KEY_GROUP_FILTER = "group-filter";
public const string KEY_IDLE_TIMEOUT = "idle-timeout";
public const string KEY_ACTIVATE_NUMLOCK = "activate-numlock";
@@ -74,6 +78,7 @@ public class AGSettings : Object
public const string KEY_FLATBUTTON_BORDERCOLOR = "flatbutton-bordercolor";
public const string KEY_ENABLE_HIDPI = "enable-hidpi";
public const string KEY_FONT_SCALING = "font-scaling";
+ public const string KEY_WIDGET_SCALING = "widget-scaling";
public const string KEY_MENUBAR_ALPHA = "menubar-alpha";
public const string KEY_HIDE_DEFAULT_XSESSION = "hide-default-xsession";
public const string KEY_HIDE_X11_SESSIONS = "hide-x11-sessions";
@@ -84,6 +89,21 @@ public class AGSettings : Object
public const string KEY_PREFERRED_SESSIONS = "preferred-sessions";
public const string KEY_GEOCLUE_AGENT = "geoclue-agent";
public const string KEY_MAGNIFIER = "magnifier";
+ public const string KEY_CONTENT_ALIGN = "content-align";
+ public const string KEY_MAGNIFIER_POSITION = "magnifier-position";
+ public const string KEY_DASHBOX_BGCOLOR = "dash-box-bgcolor";
+ public const string KEY_DASHBOX_OPACITY = "dash-box-opacity";
+ public const string KEY_PROMPTBOX_COLOR_NORMAL = "prompt-box-color-normal";
+ public const string KEY_PROMPTBOX_COLOR_ERROR = "prompt-box-color-error";
+ public const string KEY_PROMPTBOX_ERROR_BG_OPACITY = "prompt-box-error-bg-opacity";
+ public const string KEY_LOGO_POSITION = "logo-position";
+ public const string KEY_LOGO_OFFSET_HORIZONTAL = "logo-offset-horizontal";
+ public const string KEY_LOGO_OFFSET_VERTICAL = "logo-offset-vertical";
+ public const string KEY_ERROR_BELOW_ENTRY = "error-below-entry";
+ public const string KEY_MENUBAR_BGCOLOR = "menubar-bgcolor";
+ public const string KEY_BACKGROUND_POSITION = "background-position";
+ public const string KEY_MENUBAR_SHADOW_COLOR = "menubar-shadow-color";
+ public const string KEY_MENUBAR_SHADOW_ALPHA = "menubar-shadow-alpha";
public static bool get_boolean (string key)
{
@@ -91,19 +111,6 @@ public class AGSettings : Object
return gsettings.get_boolean (key);
}
- /* LP: 1006497 - utility function to make sure we have the key before trying to read it (which will segfault if the key isn't there) */
- public static bool safe_get_boolean (string key, bool default)
- {
- var gsettings = new Settings (SCHEMA);
- string[] keys = gsettings.list_keys ();
- foreach (var k in keys)
- if (k == key)
- return gsettings.get_boolean (key);
-
- /* key not in child list */
- return default;
- }
-
public static int get_integer (string key)
{
var gsettings = new Settings (SCHEMA);
diff --git a/src/shutdown-dialog.vala b/src/shutdown-dialog.vala
index d243188..fd568d7 100644
--- a/src/shutdown-dialog.vala
+++ b/src/shutdown-dialog.vala
@@ -2,7 +2,7 @@
*
* Copyright (C) 2013 Canonical Ltd
* Copyright (C) 2015,2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
- * Copyright (C) 2023 Robert Tari
+ * Copyright (C) 2023-2025 Robert Tari
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
@@ -306,7 +306,8 @@ public class ShutdownDialog : Gtk.Fixed
var focused = pWindow.get_focus ();
if ((null != focused) && (focused is DialogButton))
{
- (focused as DialogButton).clicked ();
+ DialogButton pButton = (DialogButton) focused;
+ pButton.clicked ();
}
--default_action_time_supplemental;
@@ -695,7 +696,7 @@ private class DialogButton : Gtk.Button
try
{
var font_provider = new Gtk.CssProvider ();
- var css = "* {font-family: %s; font-size: %dpt;}".printf(font_family, font_size);
+ var css = "* {color: #FFFFFF; font-family: %s; font-size: %dpt;}".printf(font_family, font_size);
font_provider.load_from_data (css, -1);
style_ctx.add_provider (font_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
@@ -705,9 +706,6 @@ private class DialogButton : Gtk.Button
debug ("Internal error loading font style (%s, %dpt): %s", font_family, font_size, e.message);
}
- l.override_color (Gtk.StateFlags.NORMAL, { 1.0f, 1.0f, 1.0f, 0.0f });
- l.override_color (Gtk.StateFlags.FOCUSED, { 1.0f, 1.0f, 1.0f, 1.0f });
- l.override_color (Gtk.StateFlags.ACTIVE, { 1.0f, 1.0f, 1.0f, 1.0f });
this.get_accessible ().set_name (l.get_text ());
}
diff --git a/src/user-list.vala b/src/user-list.vala
index dee3850..3abfb06 100644
--- a/src/user-list.vala
+++ b/src/user-list.vala
@@ -87,10 +87,28 @@ public class UserList : GreeterList
}
var hidden_users = AGSettings.get_strv (AGSettings.KEY_HIDDEN_USERS);
+ string[] lHiddenGroups = AGSettings.get_strv (AGSettings.KEY_HIDDEN_GROUPS);
+
if (!value)
{
foreach (var username in hidden_users)
remove_entry (username);
+
+ foreach (string sGroup in lHiddenGroups)
+ {
+ LightDM.UserList lUsers = LightDM.UserList.get_instance ();
+
+ foreach (LightDM.User pUser in lUsers.users)
+ {
+ bool bInGroup = in_group (sGroup, pUser.name);
+
+ if (bInGroup)
+ {
+ remove_entry (pUser.name);
+ }
+ }
+ }
+
return;
}
@@ -1126,6 +1144,32 @@ public class UserList : GreeterList
foreach (var username in hidden_users)
if (username == user.name)
return;
+
+ string[] lHiddenGroups = AGSettings.get_strv (AGSettings.KEY_HIDDEN_GROUPS);
+
+ foreach (string sGroup in lHiddenGroups)
+ {
+ bool bInGroup = in_group (sGroup, user.name);
+
+ if (bInGroup)
+ {
+ return;
+ }
+ }
+ }
+
+ var user_filter = AGSettings.get_strv (AGSettings.KEY_USER_FILTER);
+ bool user_filter_always = AGSettings.get_boolean (AGSettings.KEY_USER_FILTER_ALWAYS);
+
+ if ((user_filter_always) || (user_filter.length != 0))
+ {
+ var match_found = false;
+ foreach (var username in user_filter)
+ if (username == user.name)
+ match_found = true;
+ // bail-out if user.name is not in user_filter
+ if (match_found == false)
+ return;
}
if (!filter_group (user.name))