diff options
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 - @@ -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 +Володимир Бриняк +Марс Ямбар +آراز +ۋولقان +தமிழ்நேரம் +พัชรพล ผาริวงศ์ +ศักดิ์นรินทร์ ชาติทอง +ប៉ុកណូ រ៉ូយ៉ាល់ @@ -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 @@ -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 Binary files differnew file mode 100644 index 0000000..97927f8 --- /dev/null +++ b/data/badges/aewm++_badge.png diff --git a/data/badges/afterstep_badge.png b/data/badges/afterstep_badge.png Binary files differnew file mode 100644 index 0000000..f4faa8c --- /dev/null +++ b/data/badges/afterstep_badge.png diff --git a/data/badges/amiwm_badge.png b/data/badges/amiwm_badge.png Binary files differnew file mode 100644 index 0000000..59cefa6 --- /dev/null +++ b/data/badges/amiwm_badge.png diff --git a/data/badges/blackbox_badge.png b/data/badges/blackbox_badge.png Binary files differnew file mode 100644 index 0000000..e32c45e --- /dev/null +++ b/data/badges/blackbox_badge.png diff --git a/data/badges/cairo-dock_badge.png b/data/badges/cairo-dock_badge.png Binary files differnew file mode 100644 index 0000000..a948b38 --- /dev/null +++ b/data/badges/cairo-dock_badge.png 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 Binary files differnew file mode 100644 index 0000000..bdf4a6f --- /dev/null +++ b/data/badges/deepin_badge.png 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 Binary files differnew file mode 100644 index 0000000..99fbc5c --- /dev/null +++ b/data/badges/ede_badge.png 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 Binary files differnew file mode 100644 index 0000000..9e57b28 --- /dev/null +++ b/data/badges/evilwm_badge.png 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 Binary files differnew file mode 100644 index 0000000..93f85df --- /dev/null +++ b/data/badges/fvwm_badge.png 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 Binary files differnew file mode 100644 index 0000000..8e5e4d4 --- /dev/null +++ b/data/badges/herbstluftwm_badge.png diff --git a/data/badges/larswm_badge.png b/data/badges/larswm_badge.png Binary files differnew file mode 100644 index 0000000..5902b13 --- /dev/null +++ b/data/badges/larswm_badge.png diff --git a/data/badges/mythbuntu_badge.png b/data/badges/mythbuntu_badge.png Binary files differnew file mode 100644 index 0000000..74268de --- /dev/null +++ b/data/badges/mythbuntu_badge.png diff --git a/data/badges/openbsd-cwm_badge.png b/data/badges/openbsd-cwm_badge.png Binary files differnew file mode 100644 index 0000000..1f37efa --- /dev/null +++ b/data/badges/openbsd-cwm_badge.png diff --git a/data/badges/pantheon_badge.png b/data/badges/pantheon_badge.png Binary files differnew file mode 100644 index 0000000..8074de5 --- /dev/null +++ b/data/badges/pantheon_badge.png diff --git a/data/badges/pekwm_badge.png b/data/badges/pekwm_badge.png Binary files differnew file mode 100644 index 0000000..996deb9 --- /dev/null +++ b/data/badges/pekwm_badge.png diff --git a/data/badges/ratpoison_badge.png b/data/badges/ratpoison_badge.png Binary files differnew file mode 100644 index 0000000..7003b21 --- /dev/null +++ b/data/badges/ratpoison_badge.png diff --git a/data/badges/razor_badge.png b/data/badges/razor_badge.png Binary files differnew file mode 100644 index 0000000..a737318 --- /dev/null +++ b/data/badges/razor_badge.png diff --git a/data/badges/sawfish_badge.png b/data/badges/sawfish_badge.png Binary files differnew file mode 100644 index 0000000..314b92c --- /dev/null +++ b/data/badges/sawfish_badge.png 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 Binary files differnew file mode 100644 index 0000000..db81e8a --- /dev/null +++ b/data/badges/stumpwm_badge.png diff --git a/data/badges/subtle_badge.png b/data/badges/subtle_badge.png Binary files differnew file mode 100644 index 0000000..2877159 --- /dev/null +++ b/data/badges/subtle_badge.png diff --git a/data/badges/trinity_badge.png b/data/badges/trinity_badge.png Binary files differnew file mode 100644 index 0000000..faeeb51 --- /dev/null +++ b/data/badges/trinity_badge.png 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 Binary files differnew file mode 100644 index 0000000..38fc512 --- /dev/null +++ b/data/badges/weston_badge.png diff --git a/data/badges/weston_badge.xcf b/data/badges/weston_badge.xcf Binary files differnew file mode 100644 index 0000000..454c4bd --- /dev/null +++ b/data/badges/weston_badge.xcf diff --git a/data/badges/wmii_badge.png b/data/badges/wmii_badge.png Binary files differnew file mode 100644 index 0000000..047760c --- /dev/null +++ b/data/badges/wmii_badge.png diff --git a/data/badges/xbmc_badge.png b/data/badges/xbmc_badge.png Binary files differnew file mode 100644 index 0000000..6447a7a --- /dev/null +++ b/data/badges/xbmc_badge.png 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, @@ -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 "" @@ -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" @@ -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" @@ -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 "" @@ -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 "" @@ -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 @@ -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 "" @@ -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." @@ -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" @@ -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" @@ -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" @@ -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" @@ -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 @@ -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)) |