Repository navigation
0.1.0-alpha16
Pre-release
Pre-release
An Adwaita theme for GNUstep: GNUstep apps that look and behave like GNOME apps, with libadwaita's header bar, popover menus, controls and GNOME's light, dark and high contrast styles. See the README for screenshots and settings.
This is an alpha.
Requirements
- GNUstep 0.32 or later (gnustep-make, libs-base, libs-gui, libs-back), plus
pkg-config, GLib/GIO and X11 development files. - The full look (the header bar on by default, window shadows, rounded corners and rounded menus) needs the libs-gui and libs-back patches in
Docs/upstream-patches/, which are on their way upstream. With stock GNUstep the theme still works: you turn the header bar on yourself, and windows and menus have square corners and no shadow.
Install
tar xf plugins-themes-Adwaita-0.1.0-alpha16.tar.gz
cd plugins-themes-Adwaita-0.1.0-alpha16
make
make install GNUSTEP_INSTALLATION_DOMAIN=USER
defaults write NSGlobalDomain GSTheme AdwaitaChanges since 0.1.0-alpha15
- Toolbar overflow by priority: when a window is too narrow for its toolbar, the items that go into the » menu are now chosen by
NSToolbarItem'svisibilityPriority: the lowest priority first, right to left within one priority. Before, the » always took the items at the end. A separator goes with the item on its left. The items left in the toolbar sit side by side, and the » menu lists the others in toolbar order. With every item at Standard priority, the toolbar is laid out exactly as before. In the header bar, the title keeps its room. The WinUI theme uses the same rule. - For apps: the theme answers
-toolbarHonoursVisibilityPriority(YES). An app can ask[[GSTheme theme] respondsToSelector:]and, when the theme answers YES, set a smaller minimum window width that only covers its most important toolbar items. - Fix: memory: segmented control labels, tinted template images in segments, and drop-down and combo box labels no longer leak a dictionary each time they're drawn.
Changes in 0.1.0-alpha15
- Fix: window tabs: switching tabs no longer makes the window vanish and reappear under GNOME. The new tab's window is shown before the old one is hidden (gnustep-window-tabbing 3c4e62f).
- Fix: submenus: in pop-up menus and the main menu, a submenu now opens with its first item level with the item that opened it, as in GTK, instead of level with the top of the menu.
Changes in 0.1.0-alpha14
- Fix: header bar title in narrow windows: when the window is too narrow for the title's room, the title is truncated before the » overflow button instead of being drawn under it.
Changes in 0.1.0-alpha13
- Fix: header bar toolbars: with an item that has a view (a segmented control, a colour well), the toolbar's last item no longer goes into the » menu at every window width. alpha12 introduced this.
- Accent and default buttons: when a window shows a button with
-setGSThemeStyle: @"accent", its default button is drawn as a regular button, so the accent button is the only suggested action. Return still goes to the default button. With the accent button hidden, the default button is blue again. The WinUI theme follows the same rule.
Changes in 0.1.0-alpha12
- Accent buttons: an app can mark a primary button that isn't the window's default button with
-setGSThemeStyle: @"accent"(on NSButton or NSButtonCell; ask-respondsToSelector:first, as other themes and AppKit don't have it). It's drawn as libadwaita's suggested-action, blue with a white label, toolbar-style buttons included, with pressed, disabled and dark variants; Return is left alone. The WinUI theme implements the same call. - Disabled segmented controls: a disabled control, or a segment disabled alone, is drawn at libadwaita's insensitive half opacity: fill, label and images, the selected segment included.
- Header bar title: with the toolbar in the header bar, the title keeps at least 100pt; when the window narrows, toolbar items move into the » menu first instead of the title disappearing.
Changes in 0.1.0-alpha11
- Fix: closing a window from the window manager (Alt+F4, the window menu's Close, a task bar) closes it through the app, as its close button does, instead of killing the whole app. Under GNOME every earlier release was affected. The theme now lists
WM_DELETE_WINDOWfor the windows it decorates; a libs-back fix for the same thing is being prepared for upstream.
Changes in 0.1.0-alpha10
- Tables: GTK 4's sort indicators, shown on the sorted column (#71)
- Menus: submenus open to the left near the screen's edge and stay on screen (#77)
- Window tabs: the dragged tab and the scroll fades look like AdwTabBar's (#65); a tab without a close button gives its title the full width
- Symbolic images: each bitmap is tinted at its own size (#68)
- Pop-up buttons: a disabled one has a dimmed title (#69); a borderless one is a flat drop-down; no NeXT arrow on items from Gorm files
- Combo boxes: one that can't be edited keeps its look when focused (#70); an editable one's text is regular weight
- Browsers: column titles are readable (#72); columns use the list colour, with GNOME's chevrons; no bezel round the horizontal scroller
- Buttons: disclosure arrows and round help and circular buttons; recessed and textured buttons are flat, like libadwaita's
.flat - Level indicators and activity indicators look like libadwaita's, including the high contrast trough
- Sliders: GtkScale's tick marks
- Split views: dividers look like GtkPaned's separators
- Tab views: bottom tabs; the frame shows in the dark palette; labels fit in nib windows
- Image views: frames drawn as GtkFrame's border
- Rulers: on the window's colour, with marks in the text colour
- Open and Save panels: GNOME's icons on the buttons