Skip to content
Commits on Source (5)
......@@ -5,7 +5,7 @@ project(whiskermenu)
# version number
set(whiskermenu_version_major "2")
set(whiskermenu_version_minor "3")
set(whiskermenu_version_micro "4")
set(whiskermenu_version_micro "5")
set(whiskermenu_version_tag "")
set(whiskermenu_version "${whiskermenu_version_major}.${whiskermenu_version_minor}.${whiskermenu_version_micro}")
if(${whiskermenu_version_tag} MATCHES "git")
......
2.3.5
=====
- Fix saving unchanged plugin title. (bug #15403)
- Fix sidebar scrollbar covering buttons. (bug #14730)
- Fix categories remaining scrolled when hidden.
- Fix incorrect alignment of commands next to search.
- Fix incorrect fallback value for menu opacity.
- Fix incorrect check when setting command.
- Update documentation URL. (bug #16183)
2.3.4
=====
- Fix building against xfce4-panel 4.15.0
......
Website
=======
https://docs.xfce.org/panel-plugins/xfce4-whiskermenu-plugin
About
=====
......@@ -40,3 +46,14 @@ focus prevention. Open the focus prevention of the compiz settings
manager [ccsm -> 'General Settings' -> 'Focus Prevention'].
Add (title="Whisker Menu") to the exclude pattern to make compiz ignore
Whisker Menu and allow it to focus when shown.
How to report bugs?
===================
You can report bugs and feature requests at http://bugzilla.xfce.org.
Choose the product Panel Plugins and the component xfce4-whiskermenu-plugin.
You will need to create an account for yourself.
You can also join the Xfce development mailing-list:
https://mail.xfce.org/mailman/listinfo/xfce4-dev
xfce4-whiskermenu-plugin (2.3.4-2) UNRELEASED; urgency=medium
xfce4-whiskermenu-plugin (2.3.5-1) unstable; urgency=medium
* Team upload.
[ Debian Janitor ]
* Bump debhelper from old 11 to 12.
* Set upstream metadata fields: Repository.
-- Debian Janitor <janitor@jelmer.uk> Sun, 19 Jan 2020 14:15:48 +0000
[ Unit 193 ]
* New upstream version 2.3.5
* d/watch: Use uscan special vars.
* Update Standards-Version to 4.5.0.
-- Unit 193 <unit193@ubuntu.com> Fri, 24 Jan 2020 20:24:19 -0500
xfce4-whiskermenu-plugin (2.3.4-1) unstable; urgency=medium
......
......@@ -14,7 +14,7 @@ Build-Depends: cmake,
libxfce4util-dev,
pkg-config
Rules-Requires-Root: no
Standards-Version: 4.4.1
Standards-Version: 4.5.0
Homepage: https://docs.xfce.org/panel-plugins/xfce4-whiskermenu-plugin
Vcs-Git: https://salsa.debian.org/xfce-team/goodies/xfce4-whiskermenu-plugin.git
Vcs-Browser: https://salsa.debian.org/xfce-team/goodies/xfce4-whiskermenu-plugin
......
version=4
https://archive.xfce.org/src/panel-plugins/xfce4-whiskermenu-plugin/(\d[\d\.]+)/ \
xfce4-whiskermenu-plugin-([\d\.]+)\.tar\.(?:gz|bz2)
https://archive.xfce.org/src/panel-plugins/@PACKAGE@/(\d[\d\.]+)/ \
@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
/*
* Copyright (C) 2013, 2016, 2018 Graeme Gott <graeme@gottcode.org>
* Copyright (C) 2013, 2016, 2018, 2020 Graeme Gott <graeme@gottcode.org>
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -140,7 +140,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
void Command::set(const gchar* command)
{
if (command == m_command)
if (g_strcmp0(command, m_command) == 0)
{
return;
}
......
/*
* Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018, 2019 Graeme Gott <graeme@gottcode.org>
* Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Graeme Gott <graeme@gottcode.org>
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -95,7 +95,6 @@ Plugin::Plugin(XfcePanelPlugin* plugin) :
{
// Load settings
wm_settings = new Settings;
wm_settings->button_title = get_button_title_default();
for (int i = Settings::CommandSwitchUser; i < Settings::CommandLogOut; ++i)
{
wm_settings->command[i]->set_shown(false);
......@@ -406,7 +405,7 @@ void Plugin::show_about()
(NULL,
"authors", authors,
"comments", _("Alternate application launcher for Xfce"),
"copyright", _("Copyright \302\251 2013-2019 Graeme Gott"),
"copyright", _("Copyright \302\251 2013-2020 Graeme Gott"),
"license", XFCE_LICENSE_GPL,
"logo-icon-name", "xfce4-whiskermenu",
"program-name", PACKAGE_NAME,
......
......@@ -18,7 +18,7 @@
#ifndef WHISKERMENU_PLUGIN_H
#define WHISKERMENU_PLUGIN_H
#define PLUGIN_WEBSITE "https://goodies.xfce.org/projects/panel-plugins/xfce4-whiskermenu-plugin"
#define PLUGIN_WEBSITE "https://docs.xfce.org/panel-plugins/xfce4-whiskermenu-plugin"
#include <string>
......
......@@ -18,6 +18,7 @@
#include "settings.h"
#include "command.h"
#include "plugin.h"
#include "search-action.h"
#include <algorithm>
......@@ -88,6 +89,7 @@ static void write_vector_entry(XfceRc* rc, const char* key, const std::vector<st
Settings::Settings() :
m_modified(false),
button_title(Plugin::get_button_title_default()),
button_icon_name("xfce4-whiskermenu"),
button_title_visible(false),
button_icon_visible(true),
......@@ -253,7 +255,7 @@ void Settings::load(char* file)
menu_width = std::max(10, xfce_rc_read_int_entry(rc, "menu-width", menu_width));
menu_height = std::max(10, xfce_rc_read_int_entry(rc, "menu-height", menu_height));
menu_opacity = std::min(100, std::max(0, xfce_rc_read_int_entry(rc, "menu-opacity", menu_height)));
menu_opacity = std::min(100, std::max(0, xfce_rc_read_int_entry(rc, "menu-opacity", menu_opacity)));
for (int i = 0; i < CountCommands; ++i)
{
......@@ -324,7 +326,10 @@ void Settings::save(char* file)
xfce_rc_write_entry(rc, "custom-menu-file", custom_menu_file.c_str());
}
xfce_rc_write_entry(rc, "button-title", button_title.c_str());
if (button_title != Plugin::get_button_title_default())
{
xfce_rc_write_entry(rc, "button-title", button_title.c_str());
}
xfce_rc_write_entry(rc, "button-icon", button_icon_name.c_str());
xfce_rc_write_bool_entry(rc, "button-single-row", button_single_row);
xfce_rc_write_bool_entry(rc, "show-button-title", button_title_visible);
......
/*
* Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018 Graeme Gott <graeme@gottcode.org>
* Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018, 2020 Graeme Gott <graeme@gottcode.org>
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -291,6 +291,10 @@ void WhiskerMenu::Window::hide()
{
ungrab_pointer();
// Scroll categories to top
GtkAdjustment* adjustment = gtk_scrolled_window_get_vadjustment(m_sidebar);
gtk_adjustment_set_value(adjustment, gtk_adjustment_get_lower(adjustment));
// Reset any pressed category buttons
unset_pressed_category();
......@@ -568,7 +572,7 @@ void WhiskerMenu::Window::show(const Position position)
{
gtk_box_reorder_child(m_commands_box, m_commands_button[i], 8 - i);
}
gtk_box_reorder_child(m_commands_box, m_commands_spacer, 4);
gtk_box_reorder_child(m_commands_box, m_commands_spacer, 9);
gtk_box_reorder_child(m_title_box, GTK_WIDGET(m_profilepic->get_widget()), 2);
gtk_box_reorder_child(m_title_box, GTK_WIDGET(m_username), 1);
......@@ -597,7 +601,7 @@ void WhiskerMenu::Window::show(const Position position)
{
gtk_box_reorder_child(m_commands_box, m_commands_button[i], 8 - i);
}
gtk_box_reorder_child(m_commands_box, m_commands_spacer, 4);
gtk_box_reorder_child(m_commands_box, m_commands_spacer, 9);
gtk_box_reorder_child(m_title_box, GTK_WIDGET(m_profilepic->get_widget()), 3);
gtk_box_reorder_child(m_title_box, GTK_WIDGET(m_username), 2);
......@@ -909,6 +913,9 @@ gboolean WhiskerMenu::Window::on_configure_event(GtkWidget*, GdkEvent* event)
m_geometry.width = configure_event->width;
m_geometry.height = configure_event->height;
}
check_scrollbar_needed();
return false;
}
......@@ -967,6 +974,26 @@ gboolean WhiskerMenu::Window::on_draw_event(GtkWidget* widget, cairo_t* cr)
//-----------------------------------------------------------------------------
void WhiskerMenu::Window::check_scrollbar_needed()
{
// Find height of sidebar buttons
int height = 0;
gtk_widget_get_preferred_height(GTK_WIDGET(m_sidebar_buttons), NULL, &height);
// Always show scrollbar if sidebar is shorter than buttons
int allocated = gtk_widget_get_allocated_height(GTK_WIDGET(m_sidebar));
if ((allocated > height) || (allocated == 1))
{
gtk_scrolled_window_set_policy(m_sidebar, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
}
else
{
gtk_scrolled_window_set_policy(m_sidebar, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
}
}
//-----------------------------------------------------------------------------
void WhiskerMenu::Window::favorites_toggled()
{
m_favorites->reset_selection();
......
/*
* Copyright (C) 2013, 2014, 2015, 2016, 2018 Graeme Gott <graeme@gottcode.org>
* Copyright (C) 2013, 2014, 2015, 2016, 2018, 2020 Graeme Gott <graeme@gottcode.org>
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -94,6 +94,7 @@ private:
gboolean on_configure_event(GtkWidget*, GdkEvent* event);
void on_screen_changed_event(GtkWidget* widget, GdkScreen* old_screen);
gboolean on_draw_event(GtkWidget* widget, cairo_t* cr);
void check_scrollbar_needed();
void favorites_toggled();
void recent_toggled();
void category_toggled();
......
......@@ -88,8 +88,8 @@ msgid "Clear Recently Used"
msgstr "በ ቅርብ የተጠቀሙትን ማጽጃ"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgstr "Copyright © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr "Copyright © 2013-2020 Graeme Gott"
#: ../panel-plugin/configuration-dialog.cpp:890
msgid "Details"
......
......@@ -90,7 +90,7 @@ msgid "Clear Recently Used"
msgstr "محو المستعملة حديثا"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr ""
#: ../panel-plugin/configuration-dialog.cpp:890
......
......@@ -90,8 +90,8 @@ msgid "Clear Recently Used"
msgstr "Llimpiar Usáo apocayá"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgstr "Copyright © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr "Copyright © 2013-2020 Graeme Gott"
#: ../panel-plugin/configuration-dialog.cpp:890
msgid "Details"
......
......@@ -90,8 +90,8 @@ msgid "Clear Recently Used"
msgstr "Ачысціць гісторыю"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgstr "Copyright © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr "Copyright © 2013-2020 Graeme Gott"
#: ../panel-plugin/configuration-dialog.cpp:890
msgid "Details"
......
......@@ -88,8 +88,8 @@ msgid "Clear Recently Used"
msgstr "Изчисти последно използваните"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgstr "Авторски права © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr "Авторски права © 2013-2020 Graeme Gott"
#: ../panel-plugin/configuration-dialog.cpp:890
msgid "Details"
......
......@@ -95,8 +95,8 @@ msgid "Clear Recently Used"
msgstr "Neteja els elements recents"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgstr "Drets d’autor © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr "Drets d’autor © 2013-2020 Graeme Gott"
#: ../panel-plugin/configuration-dialog.cpp:890
msgid "Details"
......
......@@ -89,8 +89,8 @@ msgid "Clear Recently Used"
msgstr "Neteja els elements recents"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgstr "Copyright © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr "Copyright © 2013-2020 Graeme Gott"
#: ../panel-plugin/configuration-dialog.cpp:890
msgid "Details"
......
......@@ -94,8 +94,8 @@ msgid "Clear Recently Used"
msgstr "Vymazat seznam nedávno použitých položek"
#: ../panel-plugin/plugin.cpp:409
msgid "Copyright © 2013-2019 Graeme Gott"
msgstr "Autorská práva © 2013-2019 Graeme Gott"
msgid "Copyright © 2013-2020 Graeme Gott"
msgstr "Autorská práva © 2013-2020 Graeme Gott"
#: ../panel-plugin/configuration-dialog.cpp:890
msgid "Details"
......