aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* settings: Add font scaling via GDK_DPI_SCALE. This is not adjustable at ↵Mike Gabriel2023-10-102-0/+9
| | | | runtime (for now).
* src/arctica-greeter.vala: add error handling to check_hidpi ().Mihai Moldovan2023-10-101-4/+23
| | | | | | | | Make sure that the value falls in the range 0 < x <= 5. Values higher than 5 are most probably errors (at the time of writing this code), negative values don't make sense at all and a value of 0 would mean not showing anything, which likewise is totally useless.
* src/arctica-greeter.vala: Change D-Bus name and pathRobert Tari2023-10-091-4/+4
|
* src/background.vala: better positioning of logo, make the positioning ↵Mike Gabriel2023-10-051-2/+6
| | | | | | | | | independent of logo height (i.e., adjust the position to the logo height). This introduces BackgroundLoader.logo_width and .logo_height. We currently only use .logo_height for now. But having both geometry values available might be helpful at a later time. And it feels incomplete to only pass-through the height.
* src/arctica-greeter.vala: Move HiDPI setup above OptionContext parsing.Mike Gabriel2023-10-061-17/+24
|
* Move NM_APPLET_HIDE_POLICY_ITEMS env var setting above OptionContext parsing.Mike Gabriel2023-10-061-3/+13
| | | | | | | | | While working on font-scaling support and fixing HiDPI support, I discovered, that GLib.Environment.set_variable() does not take effect after OptionContext.parse() has been called. (For whatever unknown reason...). To mitigate this, let's move all env variable setups to the code portion above the c.parse() call.
* Drop big-font setting. Font scaling will be handled differently and more ↵Mike Gabriel2023-10-062-50/+6
| | | | statically.
* Move greeter_set_env to AGUtils.Mike Gabriel2023-10-062-32/+35
| | | | | This may be a helpful method we might need in the future in a more global context.
* Show labels for 'Username:' and 'Password:' if configured via gsettings.Mike Gabriel2023-10-062-0/+15
| | | | Fixes: https://github.com/ArcticaProject/arctica-greeter/issues/62
* src/main-window.vala: Drop obsolete / commented out code.Mike Gabriel2023-10-051-17/+1
|
* src/toggle-box.vala: In high-contrast mode, brighten up the non-selected ↵Mike Gabriel2023-10-031-1/+1
| | | | buttons. Provide as much contrast between white, gray and black as possible.
* src/arctica-greeter.vala: Initialise OnBoard and Orca after the greeter is ↵Robert Tari2023-10-031-4/+11
| | | | presented
* src/arctica-greeter.vala: Initialize screen-reader and OSK as configured in ↵Mike Gabriel2023-10-031-0/+4
| | | | gsettings.
* a11y / OSK: Restart OSK on theme toggling (normal/high-contrast) and adjust ↵Mike Gabriel2023-10-032-8/+97
| | | | the OSK theme accordingly.
* src/settings.vala: refactor (icon) theme setting in a cleaner way.Mike Gabriel2023-09-191-8/+19
|
* src/arctica-greeter.vala: Check for high-contrast mode when initializing ↵Mike Gabriel2023-09-191-15/+27
| | | | gtk-theme-name and gtk-icon-theme-name.
* src/settings.vala: remove default_theme_name_ private variable.Mihai Moldovan2023-09-191-6/+14
| | | | | | | | | | | | | | | | | | | | | | | This functionality doesn't make sense, for two reasons: - If we query the gtk-theme-name property before setting anything else, we will certainly get the default theme name. But that is hardcoded in GTK and not exactly secret. It can't be configured directly, only by changing specific macros in GTK's source code and recompiling it. The chances of someone doing that are... very small. Thus, we can also just hardcode "Adwaita" in AG. - If we query the gtk-theme-name property after setting it to a different value... we will fetch the value we just set. That's totally useless. My initial idea was that GTK is doing some input sanitization on the provided theme name and handles an invalid name by falling back to its built-in default and setting the gtk-theme-name property to this built-in default as well. This, however, is not true. Setting an invalid theme name will just mean that GTK will fail loading the new theme and stay on whatever theme it was before, copying the new value to the gtk-theme-name property regardless. Unfortunately, querying the property is not something we could use for error handling, which makes it completely useless. It's better to just get rid of this.
* src/settings.vala: Introduce 'high-contrast-icon-theme-name' gsetting and ↵Mike Gabriel2023-09-191-4/+5
| | | | toggle icon theme if a11y indicator's high contrast switch gets toggled.
* src/background.vala: Produce debug output when current_background gets changed.Mike Gabriel2023-09-181-0/+5
|
* src/background.vala: Disable drawing the grid when in high-contrast mode.Mike Gabriel2023-09-181-1/+2
|
* a11y: Disable background image when in high-contrast mode.Mike Gabriel2023-09-182-1/+26
| | | | | | This adds a configurable 'high-contrast-background-color' gsetting parameter (defaulting to #000000), so the high contrast bgcolor becomes customizable.
* src/user-list.vala: Add debug output on high-contrast toggle switch ↵Mike Gabriel2023-09-181-1/+4
| | | | | | background change requests. Also reference the conncted-to gsettings by its class property name (KEY_HIGHT_CONTRAST).
* Drop all internal a11y indicator related codeRobert Tari2023-09-162-269/+13
|
* src/arctica-greeter.vala: Toggle Orca, high contrast and OnBoard via D-BusRobert Tari2023-09-161-11/+151
|
* src/arctica-greeter.vala: In validate_session() make it easier for the human ↵Mike Gabriel2023-09-151-8/+16
| | | | eye to identified code-blocks.
* src/arctica-greeter.vala: Use '&&' operators instead of '&' in if-clauses.Mike Gabriel2023-09-151-4/+4
|
* Introduce gsetting (bool): hide-default-xsession.Mike Gabriel2023-09-152-2/+11
|
* Introduce gsettings (list): includeonly-sessions, excluded-sessions.Mike Gabriel2023-09-152-0/+33
|
* src/session-list.vala: Rework case-insensitive session sorting. Do the ↵Mike Gabriel2023-09-151-7/+3
| | | | | | | | sorting on a deep copy of the session list from LightDM. This resolves the issue of loosing all session types starting with lower case letters from the session chooser when accessing the chooser list the second time.
* src/toggle-box.vala: Fix runtime Gtk.Warning about missing size unit. Using ↵Mike Gabriel2023-09-151-1/+1
| | | | size unit 'pt' now (and reducing font size by 3).
* Introduce gsetting (array of strings): preferred-sessions.Mike Gabriel2023-09-152-8/+6
| | | | | The preferred-session gsetting shall provide an ordered list of preferred sessions for detecing the default session type.
* {src,tests}/Makefile.am: implement proper GTK+ 3/GTK 4 switching support.Mihai Moldovan2023-09-121-0/+15
| | | | Fixes: https://github.com/ArcticaProject/arctica-greeter/issues/56
* src/arctica-greeter.vala: Add FIXME for new/direct indicator startup method.Mike Gabriel2023-09-111-0/+6
|
* src/arctica-greeter.vala: Drop indicator startup via systemctl and ↵Mike Gabriel2023-09-111-48/+30
| | | | | | | | | spawn_async them directly. This assures DBUS_SESSION_BUS_ADDRESS being shared between greeter and indicators, so DBus session bus operation work out-of-the-box (which is not the case when launching indicators via systemd).
* src/shutdown-dialog.vala: keep dialog size fixed.Mihai Moldovan2023-09-111-5/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the dialog resized whenever the timer was shown or hidden. We want to avoid this, but unfortunately, GTK doesn't provide a way to hide a widget and retain its size in the parent (for instance, a container). To work around this, create a new private class FakeHideLabel, subclassing Gtk.Label, that exposes a fake_hide () property. If the property is set to true, the widget is "fake hidden" by changing the draw () method to first draw normally, and then paint everything fully transparent. The usual hide () and show () methods are not used any longer (other than at widget creation). Additionally, a dummy text is inserted at widget creation, including setting the widget to "fake hidden", so that text line actually has a size. While this should work fine visually, this WILL definitely create accessibility issues, which we must fix at a later time. Fixes: https://github.com/ArcticaProject/arctica-greeter/issues/58
* src/shutdown-dialog.vala: Rephrase shutdown dialog's new timeout message(s) ↵Mike Gabriel2023-09-071-2/+2
| | | | slightly.
* src/shutdown-dialog.vala: implement timer function triggering focused button.Mihai Moldovan2023-08-311-1/+107
| | | | | | | | | | | | | | | | | | | | | | | Once the shutdown dialog is created/realized/shown, a new message will show up at the bottom of the dialog signifying that the default action will be triggered automatically in a configurable amount of seconds. This message will be updated once per second, counting down. Once the countdown reaches zero, the currently focused button (if any) is automatically clicked. The message will keep showing for another 10 seconds, just in case the user removed the focus and no button is actually focused. Multiple actions will cancel the timer: - Pressing escape. - Selecting a different button via (Shift +) Tab or the left or right arrow keys. - Clicking within the dialog (but not on any button). - Closing the dialog. Fixes: https://github.com/ArcticaProject/arctica-greeter/issues/39
* src/shutdown-dialog.vala: remove focus_{next,prev}.Mihai Moldovan2023-08-311-12/+0
| | | | | They are not GTK overrides and the only consumers have been removed, so get rid of them. They only confused me.
* settings: add shutdown-dialog-timeout integer option.Mihai Moldovan2023-08-311-0/+1
| | | | | Defaulting to 60, this sets the amount in seconds until the focused button is triggered in the shutdown dialog.
* src/arctica-greeter.vala: fix tiny main window on startup.Mihai Moldovan2023-08-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 3a5ca24831d1b4a74af6cfd5c5cc2a42b5787aeb backported a commit calculating the really needed screen size more correctly as a prerequisite for additional multi-display support (span and zoom modes) from Slick Greeter (5d39cade1f70ffe0a9bc38ad0b405bb55d98a505), but unfortunately missed crucial code in src/arctica-greeter.vala. While the realize call on main_window should be harmless, calling setup_window on it actually leads to the main window resizing to the actual size that was queried via GDK. While setup_window is being called as part of the main window creation, the first call just skips resizing it (for some reason). Subsequent calls, which are *mostly* triggered through changes in the actual display configuration (hardware or software), then have main window recalculate its size (and updating the background). Honestly, we could just rip out the whole do_resize logic and always resize, since with these changes, we're forcing a resize on startup anyway. Not doing so leads to the nasty bug this commit fixes. However, to keep Slick Greeter's and our code more in sync (to make future backporting easier), let's keep it like this for now. Fixes: https://github.com/ArcticaProject/arctica-greeter/issues/47
* background: use logo alpha dconf setting.Mihai Moldovan2023-08-281-1/+1
| | | | Fixes: https://github.com/ArcticaProject/arctica-greeter/issues/21
* settings: add configuration option for logo alpha.Mihai Moldovan2023-08-281-0/+1
|
* src/arctica-greeter.vala: Do not rename users in D-Bus methodsRobert Tari2023-07-021-10/+0
|
* src/arctica-greeter.vala: Modify user change signallingRobert Tari2023-05-091-18/+19
| | | | Relying on LightDM's signals is not enough - we do not get the guest user.
* src/idle-monitor.vala: Fix Gdk.Display -> Gdk.X11.Display castingRobert Tari2023-05-081-1/+2
| | | | fixes https://github.com/ArcticaProject/arctica-greeter/issues/48
* src/main-window: Rewrite some deprecated Gtk.AlignmentsRobert Tari2023-05-081-10/+11
|
* src/menubar.vala: Fix host name positionRobert Tari2023-05-081-1/+4
|
* src/arctica-greeter.vala: Add D-Bus server with methods needed by the ↵Robert Tari2023-05-071-2/+96
| | | | keyboard indicator
* Add missing default to switchRobert Tari2023-05-071-0/+4
|
* Fix some deprecationsRobert Tari2023-05-074-6/+7
|