diff options
| -rw-r--r-- | .github/workflows/builds.yml | 16 | ||||
| -rwxr-xr-x | .github/workflows/marco.sh | 187 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 12 | ||||
| -rw-r--r-- | capplets/about-me/mate-about-me-password.c | 2 | ||||
| -rw-r--r-- | capplets/default-applications/mate-default-applications-properties.ui | 1 | ||||
| -rw-r--r-- | capplets/keyboard/mate-keyboard-properties-dialog.ui | 1 | ||||
| -rw-r--r-- | capplets/windows/mate-window-properties.c | 73 | ||||
| -rw-r--r-- | capplets/windows/window-properties.ui | 239 | ||||
| -rw-r--r-- | configure.ac | 17 | ||||
| -rw-r--r-- | font-viewer/font-view.c | 4 | ||||
| -rw-r--r-- | meson.build | 2 |
11 files changed, 521 insertions, 33 deletions
diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 4387c97c..4f512ecb 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -16,6 +16,7 @@ concurrency: env: MATE_DESKTOP_VERSION: 1.28.2 + MARCO_VERSION: 1.29.0 CACHE_PATH: /tmp/.cache jobs: @@ -69,7 +70,7 @@ jobs: pacman --noconfirm -Sy git || true echo "::endgroup::" - name: Repository checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: "true" - name: Install dependency packages @@ -81,7 +82,7 @@ jobs: # INFO: M-C-C depends mate-desktop 1.27.1+, so we should install it from source. - name: Cache mate-desktop binary packages - uses: actions/cache@v3 + uses: actions/cache@v5 id: cache-mate-desktop with: path: ${{ env.CACHE_PATH }} @@ -90,5 +91,16 @@ jobs: run: .github/workflows/mate-desktop.sh ${{env.MATE_DESKTOP_VERSION}} ${{ env.CACHE_PATH }} # INFO: M-C-C depends mate-desktop 1.27.1+, install finished. + # INFO: M-C-C depends on marco 1.29.0+, so we should install it from source. + - name: Cache marco binary packages + uses: actions/cache@v5 + id: cache-marco + with: + path: ${{ env.CACHE_PATH }} + key: ${{ env.DISTRO }}-build-marco-${{env.MARCO_VERSION}} + - name: Built and install marco from source + run: .github/workflows/marco.sh ${{env.MARCO_VERSION}} ${{ env.CACHE_PATH }} + # INFO: M-C-C depends on marco 1.29.0+, install finished. + - name: Build the source code run: .github/workflows/builds.sh diff --git a/.github/workflows/marco.sh b/.github/workflows/marco.sh new file mode 100755 index 00000000..4d7917ea --- /dev/null +++ b/.github/workflows/marco.sh @@ -0,0 +1,187 @@ +#!/usr/bin/bash + +set -e +set -o pipefail + +NAME="marco" +TEMP_DIR=$(mktemp -d) +OS=$(cat /etc/os-release | grep ^ID | head -n 1 | awk -F= '{ print $2}') +TAG=$1 +CACHE_DIR=$2 + +# Use grouped output messages +infobegin() { + echo "::group::${1}" +} +infoend() { + echo "::endgroup::" +} + +# Required packages to build marco +arch_requires=( + autoconf-archive + gcc + git + glib2 + gtk3 + intltool + libcanberra + libgtop + libxpresent + libxres + make + mate-common + mate-desktop + which + yelp-tools + zenity +) + +debian_requires=( + autoconf-archive + autopoint + gcc + git + intltool + libcanberra-gtk3-dev + libglib2.0-dev + libgtk-3-dev + libgtop2-dev + libice-dev + libmate-desktop-dev + libpango1.0-dev + libsm-dev + libstartup-notification0-dev + libx11-dev + libxcomposite-dev + libxcursor-dev + libxdamage-dev + libxext-dev + libxfixes-dev + libxinerama-dev + libxpresent-dev + libxrandr-dev + libxrender-dev + libxres-dev + libxt-dev + make + mate-common + x11proto-present-dev + yelp-tools + zenity +) + +fedora_requires=( + desktop-file-utils + gcc + gtk3-devel + libSM-devel + libXdamage-devel + libXpresent-devel + libXres-devel + libcanberra-devel + libgtop2-devel + libsoup-devel + make + mate-common + mate-desktop-devel + redhat-rpm-config + startup-notification-devel + yelp-tools + zenity +) + +ubuntu_requires=( + autoconf-archive + autopoint + gcc + git + intltool + libcanberra-gtk3-dev + libglib2.0-dev + libgtk-3-dev + libgtop2-dev + libice-dev + libmate-desktop-dev + libpango1.0-dev + libsm-dev + libstartup-notification0-dev + libx11-dev + libxcomposite-dev + libxcursor-dev + libxdamage-dev + libxext-dev + libxfixes-dev + libxinerama-dev + libxpresent-dev + libxrandr-dev + libxrender-dev + libxres-dev + libxt-dev + make + mate-common + x11proto-present-dev + yelp-tools + zenity +) + +requires=$(eval echo '${'"${OS}_requires[@]}") + +infobegin "Install Depends for marco" +case ${OS} in +arch) + pacman --noconfirm -Syu + pacman --noconfirm -S ${requires[@]} + ;; +debian | ubuntu) + apt-get update -qq + env DEBIAN_FRONTEND=noninteractive \ + apt-get install --assume-yes --no-install-recommends ${requires[@]} + ;; +fedora) + dnf update -y + dnf install -y ${requires[@]} + ;; +esac +infoend + +# Use cached packages first +if [ -f $CACHE_DIR/${NAME}-${TAG}.tar.xz ]; then + echo "Found cache package, reuse it" + tar -C / -Jxf $CACHE_DIR/${NAME}-${TAG}.tar.xz +else + git clone --recurse-submodules https://github.com/mate-desktop/${NAME} + + # Foldable output information + infobegin "Configure" + cd ${NAME} + git checkout v${TAG} + if [[ ${OS} == "debian" || ${OS} == "ubuntu" ]]; then + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu || { + cat config.log + exit 1 + } + else + ./autogen.sh --prefix=/usr || { + cat config.log + exit 1 + } + fi + infoend + + infobegin "Build" + make -j ${JOBS} + infoend + + infobegin "Install" + make install + infoend + + # Cache this package version + infobegin "Cache" + [ -d ${CACHE_DIR} ] || mkdir -p ${CACHE_DIR} + make install DESTDIR=${TEMP_DIR} + cd $TEMP_DIR + tar -J -cf $CACHE_DIR/${NAME}-${TAG}.tar.xz * + infoend +fi diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2134f9ac..e2c37e42 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,6 +6,7 @@ on: env: MATE_DESKTOP_VERSION: 1.28.2 + MARCO_VERSION: 1.29.0 CACHE_PATH: /tmp/.cache jobs: @@ -14,21 +15,24 @@ jobs: runs-on: ubuntu-latest steps: - name: Repository checkout - uses: actions/checkout@v3 + uses: actions/checkout@v6 with: submodules: "true" - name: Install dependency packages run: sudo .github/workflows/ubuntu.sh - - name: Install higher version Mate component packages + - name: Install higher version mate-desktop component packages run: sudo .github/workflows/mate-desktop.sh ${{env.MATE_DESKTOP_VERSION}} ${{ env.CACHE_PATH }} + - name: Install higher version marco component packages + run: sudo .github/workflows/marco.sh ${{env.MARCO_VERSION}} ${{ env.CACHE_PATH }} + - name: Build the source code - run: .github/workflows/builds.sh + run: .github/workflows/builds.sh autotools - name: Install GH CLI - uses: dev-hanz-ops/[email protected] + uses: dev-hanz-ops/[email protected] with: gh-cli-version: 2.39.1 diff --git a/capplets/about-me/mate-about-me-password.c b/capplets/about-me/mate-about-me-password.c index 2b4f0441..6d739f6f 100644 --- a/capplets/about-me/mate-about-me-password.c +++ b/capplets/about-me/mate-about-me-password.c @@ -474,7 +474,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition condition, PasswordDialog *pdi /* Which response did we get? */ passdlg_set_busy (pdialog, FALSE); - if (g_strrstr (str->str, "New password: ") != NULL) { + if ((g_strrstr (str->str, "New password: ") != NULL) || (g_strrstr (str->str, "Enter new password: ") != NULL)) { /* Authentication successful */ authenticated_user (pdialog, FALSE); diff --git a/capplets/default-applications/mate-default-applications-properties.ui b/capplets/default-applications/mate-default-applications-properties.ui index 20c094fe..29b922be 100644 --- a/capplets/default-applications/mate-default-applications-properties.ui +++ b/capplets/default-applications/mate-default-applications-properties.ui @@ -28,6 +28,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> + <property name="spacing">2</property> <child internal-child="action_area"> <object class="GtkButtonBox" id="dialog-action_area"> <property name="visible">True</property> diff --git a/capplets/keyboard/mate-keyboard-properties-dialog.ui b/capplets/keyboard/mate-keyboard-properties-dialog.ui index d59710ec..35e41216 100644 --- a/capplets/keyboard/mate-keyboard-properties-dialog.ui +++ b/capplets/keyboard/mate-keyboard-properties-dialog.ui @@ -140,7 +140,6 @@ <property name="label" translatable="yes">_Close</property> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="has-focus">True</property> <property name="can-default">True</property> <property name="has-default">True</property> <property name="receives-default">False</property> diff --git a/capplets/windows/mate-window-properties.c b/capplets/windows/mate-window-properties.c index ccccb03c..45bf0062 100644 --- a/capplets/windows/mate-window-properties.c +++ b/capplets/windows/mate-window-properties.c @@ -50,6 +50,10 @@ #define MARCO_SHOW_TAB_BORDER_KEY "show-tab-border" #define MARCO_BUTTON_LAYOUT_KEY "button-layout" #define MARCO_DOUBLE_CLICK_TITLEBAR_KEY "action-double-click-titlebar" +#define MARCO_MIDDLE_CLICK_TITLEBAR_KEY "action-middle-click-titlebar" +#define MARCO_RIGHT_CLICK_TITLEBAR_KEY "action-right-click-titlebar" +#define MARCO_SCROLL_UP_TITLEBAR_KEY "action-scroll-up-titlebar" +#define MARCO_SCROLL_DOWN_TITLEBAR_KEY "action-scroll-down-titlebar" #define MARCO_FOCUS_KEY "focus-mode" #define MARCO_AUTORAISE_KEY "auto-raise" #define MARCO_AUTORAISE_DELAY_KEY "auto-raise-delay" @@ -77,14 +81,20 @@ static const char *button_layout [MARCO_BUTTON_LAYOUT_COUNT] = { /* keep following enums in sync with marco */ enum { - ACTION_TITLEBAR_TOGGLE_SHADE, + ACTION_TITLEBAR_CLOSE, + ACTION_TITLEBAR_MINIMIZE, ACTION_TITLEBAR_TOGGLE_MAXIMIZE, ACTION_TITLEBAR_TOGGLE_MAXIMIZE_HORIZONTALLY, ACTION_TITLEBAR_TOGGLE_MAXIMIZE_VERTICALLY, - ACTION_TITLEBAR_MINIMIZE, - ACTION_TITLEBAR_NONE, + ACTION_TITLEBAR_TOGGLE_SHADE, + ACTION_TITLEBAR_SHADE, + ACTION_TITLEBAR_UNSHADE, + ACTION_TITLEBAR_RAISE, ACTION_TITLEBAR_LOWER, - ACTION_TITLEBAR_MENU + ACTION_TITLEBAR_TOGGLE_STICK, + ACTION_TITLEBAR_TOGGLE_ABOVE, + ACTION_TITLEBAR_MENU, + ACTION_TITLEBAR_NONE }; enum @@ -108,6 +118,10 @@ static GtkWidget *dialog_win; static GtkWidget *show_tab_border_checkbutton; static GtkWidget *compositing_fast_alt_tab_checkbutton; static GtkWidget *double_click_titlebar_optionmenu; +static GtkWidget *middle_click_titlebar_optionmenu; +static GtkWidget *right_click_titlebar_optionmenu; +static GtkWidget *scroll_up_titlebar_optionmenu; +static GtkWidget *scroll_down_titlebar_optionmenu; static GtkWidget *focus_mode_checkbutton; static GtkWidget *focus_mode_mouse_checkbutton; static GtkWidget *autoraise_checkbutton; @@ -208,6 +222,38 @@ double_click_titlebar_changed_callback (GtkWidget *optionmenu, gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); } +static void +middle_click_titlebar_changed_callback (GtkWidget *optionmenu, + void *data) +{ + g_settings_set_enum (marco_settings, MARCO_MIDDLE_CLICK_TITLEBAR_KEY, + gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} + +static void +right_click_titlebar_changed_callback (GtkWidget *optionmenu, + void *data) +{ + g_settings_set_enum (marco_settings, MARCO_RIGHT_CLICK_TITLEBAR_KEY, + gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} + +static void +scroll_up_titlebar_changed_callback (GtkWidget *optionmenu, + void *data) +{ + g_settings_set_enum (marco_settings, MARCO_SCROLL_UP_TITLEBAR_KEY, + gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} + +static void +scroll_down_titlebar_changed_callback (GtkWidget *optionmenu, + void *data) +{ + g_settings_set_enum (marco_settings, MARCO_SCROLL_DOWN_TITLEBAR_KEY, + gtk_combo_box_get_active (GTK_COMBO_BOX (optionmenu))); +} + static gchar *custom_titlebar_button_layout = NULL; static void @@ -373,6 +419,10 @@ main (int argc, char **argv) gtk_builder_add_callback_symbols (builder, "on_dialog_win_response", G_CALLBACK (response_cb), "on_double_click_titlebar_optionmenu_changed", G_CALLBACK (double_click_titlebar_changed_callback), + "on_middle_click_titlebar_optionmenu_changed", G_CALLBACK (middle_click_titlebar_changed_callback), + "on_right_click_titlebar_optionmenu_changed", G_CALLBACK (right_click_titlebar_changed_callback), + "on_scroll_up_titlebar_optionmenu_changed", G_CALLBACK (scroll_up_titlebar_changed_callback), + "on_scroll_down_titlebar_optionmenu_changed", G_CALLBACK (scroll_down_titlebar_changed_callback), "on_autoraise_delay_spinbutton_value_changed", G_CALLBACK (autoraise_delay_spinbutton_value_callback), "on_titlebar_layout_optionmenu_changed", G_CALLBACK (titlebar_layout_changed_callback), "on_focus_mode_checkbutton_toggled", G_CALLBACK (mouse_focus_toggled_callback), @@ -398,6 +448,10 @@ main (int argc, char **argv) show_tab_border_checkbutton = GET_WIDGET ("show_tab_border_checkbutton"); compositing_fast_alt_tab_checkbutton = GET_WIDGET ("compositing_fast_alt_tab_checkbutton"); double_click_titlebar_optionmenu = GET_WIDGET ("double_click_titlebar_optionmenu"); + middle_click_titlebar_optionmenu = GET_WIDGET ("middle_click_titlebar_optionmenu"); + right_click_titlebar_optionmenu = GET_WIDGET ("right_click_titlebar_optionmenu"); + scroll_up_titlebar_optionmenu = GET_WIDGET ("scroll_up_titlebar_optionmenu"); + scroll_down_titlebar_optionmenu = GET_WIDGET ("scroll_down_titlebar_optionmenu"); focus_mode_checkbutton = GET_WIDGET ("focus_mode_checkbutton"); focus_mode_mouse_checkbutton = GET_WIDGET ("focus_mode_mouse_checkbutton"); autoraise_delay_hbox = GET_WIDGET ("autoraise_delay_hbox"); @@ -427,14 +481,19 @@ main (int argc, char **argv) gtk_combo_box_set_active (GTK_COMBO_BOX (double_click_titlebar_optionmenu), g_settings_get_enum (marco_settings, MARCO_DOUBLE_CLICK_TITLEBAR_KEY)); + gtk_combo_box_set_active (GTK_COMBO_BOX (middle_click_titlebar_optionmenu), + g_settings_get_enum (marco_settings, MARCO_MIDDLE_CLICK_TITLEBAR_KEY)); + gtk_combo_box_set_active (GTK_COMBO_BOX (right_click_titlebar_optionmenu), + g_settings_get_enum (marco_settings, MARCO_RIGHT_CLICK_TITLEBAR_KEY)); + gtk_combo_box_set_active (GTK_COMBO_BOX (scroll_up_titlebar_optionmenu), + g_settings_get_enum (marco_settings, MARCO_SCROLL_UP_TITLEBAR_KEY)); + gtk_combo_box_set_active (GTK_COMBO_BOX (scroll_down_titlebar_optionmenu), + g_settings_get_enum (marco_settings, MARCO_SCROLL_DOWN_TITLEBAR_KEY)); set_titlebar_button_layout (); set_alt_click_value (); - gtk_combo_box_set_active (GTK_COMBO_BOX (double_click_titlebar_optionmenu), - g_settings_get_enum (marco_settings, MARCO_DOUBLE_CLICK_TITLEBAR_KEY)); - /* Behaviour */ g_settings_bind (marco_settings, MARCO_SHOW_TAB_BORDER_KEY, diff --git a/capplets/windows/window-properties.ui b/capplets/windows/window-properties.ui index 140ab21b..aa531869 100644 --- a/capplets/windows/window-properties.ui +++ b/capplets/windows/window-properties.ui @@ -51,12 +51,15 @@ Author: Robert Buj <property name="modal">True</property> <property name="icon-name">preferences-system-windows</property> <property name="type-hint">normal</property> + <property name="border-width">5</property> <signal name="response" handler="on_dialog_win_response" swapped="no"/> <child internal-child="vbox"> <object class="GtkBox" id="main_vbox"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="orientation">vertical</property> + <property name="border-width">2</property> + <property name="spacing">2</property> <child internal-child="action_area"> <object class="GtkButtonBox"> <property name="visible">True</property> @@ -106,7 +109,7 @@ Author: Robert Buj <object class="GtkNotebook" id="nb"> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="border-width">6</property> + <property name="border-width">5</property> <child> <object class="GtkBox" id="behaviour_vbox"> <property name="visible">True</property> @@ -276,11 +279,19 @@ Author: Robert Buj <property name="visible">True</property> <property name="can-focus">False</property> <items> - <item translatable="yes">Roll up</item> - <item translatable="yes">Maximize</item> - <item translatable="yes">Maximize Horizontally</item> - <item translatable="yes">Maximize Vertically</item> + <item translatable="yes">Close</item> <item translatable="yes">Minimize</item> + <item translatable="yes">Toggle Maximize</item> + <item translatable="yes">Toggle Maximize Horizontally</item> + <item translatable="yes">Toggle Maximize Vertically</item> + <item translatable="yes">Toggle Shade</item> + <item translatable="yes">Shade</item> + <item translatable="yes">Unshade</item> + <item translatable="yes">Raise</item> + <item translatable="yes">Lower</item> + <item translatable="yes">Toggle Stick</item> + <item translatable="yes">Toggle Above</item> + <item translatable="yes">Menu</item> <item translatable="yes">None</item> </items> <signal name="changed" handler="on_double_click_titlebar_optionmenu_changed" swapped="no"/> @@ -295,7 +306,223 @@ Author: Robert Buj <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">8</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="middle_click_titlebar_action_hbox"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="middle_click_titlebar_label"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes">_Middle-click titlebar action:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">middle_click_titlebar_optionmenu</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="middle_click_titlebar_optionmenu"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <items> + <item translatable="yes">Close</item> + <item translatable="yes">Minimize</item> + <item translatable="yes">Toggle Maximize</item> + <item translatable="yes">Toggle Maximize Horizontally</item> + <item translatable="yes">Toggle Maximize Vertically</item> + <item translatable="yes">Toggle Shade</item> + <item translatable="yes">Shade</item> + <item translatable="yes">Unshade</item> + <item translatable="yes">Raise</item> + <item translatable="yes">Lower</item> + <item translatable="yes">Toggle Stick</item> + <item translatable="yes">Toggle Above</item> + <item translatable="yes">Menu</item> + <item translatable="yes">None</item> + </items> + <signal name="changed" handler="on_middle_click_titlebar_optionmenu_changed" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkBox" id="right_click_titlebar_action_hbox"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="right_click_titlebar_label"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes">_Right-click titlebar action:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">right_click_titlebar_optionmenu</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="right_click_titlebar_optionmenu"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <items> + <item translatable="yes">Close</item> + <item translatable="yes">Minimize</item> + <item translatable="yes">Toggle Maximize</item> + <item translatable="yes">Toggle Maximize Horizontally</item> + <item translatable="yes">Toggle Maximize Vertically</item> + <item translatable="yes">Toggle Shade</item> + <item translatable="yes">Shade</item> + <item translatable="yes">Unshade</item> + <item translatable="yes">Raise</item> + <item translatable="yes">Lower</item> + <item translatable="yes">Toggle Stick</item> + <item translatable="yes">Toggle Above</item> + <item translatable="yes">Menu</item> + <item translatable="yes">None</item> + </items> + <signal name="changed" handler="on_right_click_titlebar_optionmenu_changed" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkBox" id="scroll_up_titlebar_action_hbox"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="scroll_up_titlebar_label"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes">_Scroll up titlebar action:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">scroll_up_titlebar_optionmenu</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="scroll_up_titlebar_optionmenu"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <items> + <item translatable="yes">Close</item> + <item translatable="yes">Minimize</item> + <item translatable="yes">Toggle Maximize</item> + <item translatable="yes">Toggle Maximize Horizontally</item> + <item translatable="yes">Toggle Maximize Vertically</item> + <item translatable="yes">Toggle Shade</item> + <item translatable="yes">Shade</item> + <item translatable="yes">Unshade</item> + <item translatable="yes">Raise</item> + <item translatable="yes">Lower</item> + <item translatable="yes">Toggle Stick</item> + <item translatable="yes">Toggle Above</item> + <item translatable="yes">Menu</item> + <item translatable="yes">None</item> + </items> + <signal name="changed" handler="on_scroll_up_titlebar_optionmenu_changed" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkBox" id="scroll_down_titlebar_action_hbox"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="scroll_down_titlebar_label"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes">Scroll _down titlebar action:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">scroll_down_titlebar_optionmenu</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="scroll_down_titlebar_optionmenu"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <items> + <item translatable="yes">Close</item> + <item translatable="yes">Minimize</item> + <item translatable="yes">Toggle Maximize</item> + <item translatable="yes">Toggle Maximize Horizontally</item> + <item translatable="yes">Toggle Maximize Vertically</item> + <item translatable="yes">Toggle Shade</item> + <item translatable="yes">Shade</item> + <item translatable="yes">Unshade</item> + <item translatable="yes">Raise</item> + <item translatable="yes">Lower</item> + <item translatable="yes">Toggle Stick</item> + <item translatable="yes">Toggle Above</item> + <item translatable="yes">Menu</item> + <item translatable="yes">None</item> + </items> + <signal name="changed" handler="on_scroll_down_titlebar_optionmenu_changed" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">4</property> </packing> </child> </object> diff --git a/configure.ac b/configure.ac index c0e1cd0d..22630de7 100644 --- a/configure.ac +++ b/configure.ac @@ -69,7 +69,7 @@ AC_SUBST(SCREENSAVER_LIBS) GLIB_REQUIRED=2.64.0 SYSTEMD_REQUIRED=248 GTK_REQUIRED=3.22.0 -MARCO_REQUIRED=1.17.0 +MARCO_REQUIRED=1.29.0 MATEKBD_REQUIRED=1.17.0 MATE_DESKTOP_REQUIRED=1.27.1 APPINDICATOR_REQUIRED=0.0.13 @@ -179,16 +179,11 @@ AS_IF([test "x$enable_appindicator" = xyes], have_systemd=no AC_ARG_ENABLE(systemd, AS_HELP_STRING([--disable-systemd], [disable systemd support]),enable_systemd="$enableval",enable_systemd=auto) -if test "x$enable_systemd" != "xno"; then - PKG_CHECK_MODULES(SYSTEMD, [libsystemd], [have_systemd=yes], - [PKG_CHECK_MODULES(SYSTEMD, [libsystemd >= $SYSTEMD_REQUIRED], - [have_systemd=yes])]) - if test "x$have_systemd" = xno && test "x$enable_systemd" = xyes; then - AC_MSG_ERROR([*** systemd support requested but libraries not found]) - elif test "x$have_systemd" = xyes; then - AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is available]) - fi -fi +AS_CASE(["$enable_systemd"], + [yes], [PKG_CHECK_MODULES(SYSTEMD, [libsystemd >= $SYSTEMD_REQUIRED], [have_systemd=yes])], + [auto], [PKG_CHECK_MODULES(SYSTEMD, [libsystemd >= $SYSTEMD_REQUIRED], [have_systemd=yes], [have_systemd=no])], + [have_systemd=no]) +AS_IF([test "x$have_systemd" = xyes], [AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is available])]) AM_CONDITIONAL(HAVE_SYSTEMD, [test "$have_systemd" = "yes"]) diff --git a/font-viewer/font-view.c b/font-viewer/font-view.c index 406b051b..dcbcb658 100644 --- a/font-viewer/font-view.c +++ b/font-viewer/font-view.c @@ -658,6 +658,8 @@ font_view_application_do_open (FontViewApplication *self, gtk_widget_show_all (self->swin_preview); gtk_notebook_set_current_page (GTK_NOTEBOOK (self->notebook), 1); + + gtk_window_present (GTK_WINDOW (self->main_window)); } static gboolean @@ -933,6 +935,8 @@ font_view_application_activate (GApplication *application) G_APPLICATION_CLASS (font_view_application_parent_class)->activate (application); font_view_application_do_overview (self); + + gtk_window_present (GTK_WINDOW (self->main_window)); } static void diff --git a/meson.build b/meson.build index fc28a15d..e8db74cd 100644 --- a/meson.build +++ b/meson.build @@ -68,7 +68,7 @@ gtk_dep = dependency('gtk+-3.0', version: '>= 3.22.0') gio_dep = dependency('gio-2.0') glib_dep = dependency('glib-2.0', version: '>= 2.64.0') mate_desktop_dep = dependency('mate-desktop-2.0', version: '>= 1.27.1') -marco_dep = dependency('libmarco-private', version: '>= 1.17.0') +marco_dep = dependency('libmarco-private', version: '>= 1.29.0') menu_dep = dependency('libmate-menu', version: '>= 1.21.0') libxml_dep = dependency('libxml-2.0') pango_dep = dependency('pango') |
