Latest posts

15 Must-Watch Videos on Event Planning

Searching for occasion motivation and instruction quick? We’ve arranged a few top recordings for occasion organizers, so you don’t need to go through hours looking. Every video on this rundown was chosen due to its excellent substance, subject significance, cool plan or configuration, and remarkable viewpoint on the point. Event organisers in bangalore

Find 15 top occasion arranging recordings to catch on quickly
In the first place, investigate accommodating recordings for beginning an occasion arranging business
Among now and 2026, the occasion arranging calling is supposed to be exceptionally worthwhile, with interest for occasion organizers proceeding to move higher than most different positions. In the event that you’re keen on striking out all alone, this moment’s a decent opportunity. Here are a few assets to assist with kicking you off:

  1. Occasion Company Name Ideas for Your Business
    In our reduced down occasion arranging business guidance video, we separate the five most ideal ways to pick an occasion organization name. In the first place, you need to realize who you’re attempting to design occasions for (otherwise known as your interest group). Then you want to think of a few incredible words that show you can take care of their needs and needs utilizing some innovative conceptualizing and research.
  2. Step by step instructions to START + RUN your Event Planning Business!!
    26% of individuals who start their own private company do it since they need to work for themselves and 23% say this is on the grounds that they need to seek after their enthusiasm. For your purposes, it very well may be both! In this extraordinary occasion arranging video by YouTube’s Miss Event Planner, you’ll get functional guidance from an effective occasion organizer on the most proficient method to make ready too as how you can structure your everyday daily practice.
  3. Occasion Planning 101: 5 Event Planning Mistakes Clients Hate!
    This next extraordinary occasion arranging video likewise comes to us from Miss Event Planner (what might we at any point say, she has fabulous guidance). Eventually, you will commit errors with your clients and that is not a problem. However, there are a small bunch of normal and completely avoidable ones framed in this video that you can keep in your sub-conscience.

Rejuvenate improved occasions with simple outlining
Get everything rolling Free
Then, appreciate recordings to possibly look out for any way to improve on the rudiments of occasion arranging
On the off chance that you’re simply beginning in this calling, you really want some direction on the most proficient method to sort out and execute the actual occasions. These occasion arranging recordings ought to assist you with covering your bases for any occasion type you have not too far off.

  1. The most effective method to Plan an Event: The Simple Getting Started Guide
    Another Social Tables unique, this fast video covers precisely exact thing you really want to do to rejuvenate your occasion thought. Assuming you follow these clear cut advances, you’ll be well en route to satisfying clients and participants the same.
  2. 3 Steps to Creating an Event Value Proposition that Drives Attendance | Run of Show
    For what reason ought to individuals go to your occasion? Knowing how to address this question will assist you with coming to conclusions about showcasing, ticket deals or enlistments, and perhaps your occasion plans themselves.
  3. Occasion Planning Checklist: The Essential Guide
    Each organizer needs an occasion arranging agenda to keep things coordinated and on target. It’s essentially your distinct advantage for arranging and executing reliably great social affairs. We’ve felt free to frame one in this video that you can change to suit your own particular requirements.

Guide: How to Create an Event Planning Checklist
Then, watch recordings for cutting edge occasion arranging best practices
On the off chance that you have more than 1-3 years worth of occasion arranging experience, you’ll be keen on these more inside and out and specialized occasion arranging recordings. List of event management companies in bangalore

  1. Occasion Promotion: 6 Advanced Tactics To Promote Events with Social Media
    Everybody has their own virtual entertainment showcasing procedure for occasions and this specific video frames the ones that the Event Manager Blog has seen demonstrated results from.
  2. Beat Follow-Up Strategy: 6 Steps to Driving Post-Event Engagement | Run of Show
    One more supportive asset from Splash, this occasion arranging video gets into the bare essential of reaching out to previous occasion participants and expanding occasion ROI even after it’s everywhere.
  3. A New Way to Measure Event ROI
    Different recordings on this rundown were without a doubt more limited than this 41 short lived one. Yet, a phenomenal show offers a few incredible important points close by powerpoint slides clarifying a remarkable methodology for contrasting occasion execution, exhibiting worth, and what in the world you should do with your caught occasion information.

Then, see the best recordings for arranging corporate occasions
Corporate occasions require occasion organizers to comprehend the necessities of a business centered crowd while as yet conveying something fun or, at any rate, charming. Here are a few hints for organizers in this specialty:

  1. Top Meeting Room Layouts for Events
    There are heaps of ways of orchestrating meeting rooms. The objectives of the gathering as well as the connections the gathering participants have with each other will to a great extent decide your set up.
  2. Step by step instructions to Sell Tickets FAST! [Event Planning Tips]This video is brought to us by Savvy Social Events, an occasion arranging organization that is however reasonable as it seems to be innovative. Figuring out how to sell out tickets or enlistments for each occasion you plan is significant and this video covers how to do precisely that, in any event, while you’re using up all available time.
  3. Office Holiday Party Ideas: 3 methods for flavoring things up
    Office parties get unfavorable criticism yet Elevate Experiences needs to change that through occasion arranging instruction and imaginative plans to kick you off. The way in to an extraordinary office occasion party, as per this occasion arranging video, is to break new ground.

At long last, get ways to design private occasions with the best recordings to observe
Need some assistance arranging your next child shower or wedding after-party? These occasion arranging recordings ought to assist with kicking you off.

  1. Set up Your Event Like a Professional Party Planner
    On the off chance that you’re simply beginning in occasion arranging, this video will in any case be truly useful for you as this expert occasion organizer shows you her occasion set up process for a genuine client. Most confidential occasions will exclude occasion staff to help you, so knowing how to effectively set up an occasion is an expertise you’ll require eventually.
  2. Instructions to design a party paying little mind to financial plan
    The plan of this video alone makes it energizing to watch (particularly in the event that yellow is your #1 variety). What’s more, as you presumably definitely know, working with private clients implies managing many spending plan measures so occasion arranging recordings like these can be truly useful when you need to toss a noteworthy occasion with less subsidizing than you’d like.
  3. The most effective method to Make a Wedding Seating Chart: 5 Simple Steps
    It’s a fundamental stage in the gathering arranging process. What’s more, since it affects individuals you or your client adores most, it can feel pretty distressing. This exceptionally consumable video will make you through the cycle stride by step at all excruciating way that is available. Top 10 event management companies in bangalore

Every planner should join the best event planning Facebook groups.

Facebook Groups with an emphasis on occasion arranging are extraordinary spots to track down arranging motivation, investigate with peers in the business, organization, and conceptualize imaginative thoughts. Facebook Groups for occasion and wedding organizers shift from public to private and are just about as little as 200 individuals to as extensive as 20,000 individuals. You could observe that individuals in these gatherings are simply getting everything rolling with an occasion arranging vocation, or they might be capable occasion experts. Best event management company in chennai

To maximize occasion arranging Facebook Groups, join dynamic gatherings that examine themes pertinent to your inclinations and don’t obstruct your channel with advancements. It’s additionally fundamental to take part and deal important bits of knowledge yourself.

We’ve done the examination, read the surveys, and accumulated the best Facebook Groups for occasion organizers. Peruse on to find which occasion bunches are the best fit for you, and become familiar with the most ideal ways to add to the gathering after you join.

Find the 17 best Facebook Groups for occasion organizers:
Whether you’re a carefully prepared corporate organizer, a social organizer with a sly side, or an occasion organizer hoping to acquire important information through additional preparation, you’ll find the Facebook Group that addresses you from our different rundown.

See the best Facebook Groups for the old pro

  1. EventProfs Mastermind – 2,553 individuals
    Made for mid-level to senior organizers, this Facebook Group is an incredible spot to share thoughts, viewpoints, and inquiries concerning state of the art subjects β€” occasion showcasing, marking, and innovation, to give some examples. Banter subjects are welcome the same length as the exchange is conscious and instructive. EventProfs Mastermind doesn’t permit spam or self-advancement.

Improve as an occasion organizer with simple instruments
Begin Free

  1. The Delegate Wranglers – 18,150 individuals
    This gathering is open just to proficient occasion organizers and industry providers. It’s an inviting space, yet it treats the ‘experts just’ rule in a serious way. When you’re in, besides the fact that you ask can inquiries and offer data, you can likewise look for or post industry occupations and independent positions.

Reward: The Delegate Wranglers really put away unambiguous times every week for self-advancement, commonly a no in these gatherings.

  1. Occasion Planners Gather – 18,551 individuals
    This gathering is made and directed by BizBash, one of the top assets for occasion experts. You’ll track down the best in class tips on all that from taking special care of innovation from there, the sky is the limit. Occasion Planners Gather content is applicable and top caliber; no puff or self-promotions are permitted there. It’s a significant gathering for the genuine star.

Find the best Facebook Groups for gaining some new useful knowledge

  1. Occasion Planners Forum – 10,506 individuals
    This Facebook Group is controlled by proficient occasion organizer, business mentor, and confidential coach Simone Benson. The focal point of this gathering is schooling, preparing, and coaching rather than systems administration. No advancements, self or business, permitted in Events Planners Forum.
  2. Occasion Tech Help Group – 1,180 individuals
    An occasion arranging bunch that assists with occasion arranging innovation, this is an extraordinary asset for the individuals who aren’t the most educated. The fundamental objective of this supportive Facebook Group is to share information in everything connected with innovation, from obtaining to executing. In Event Tech Help Group, suggestions are permitted, however self-advancement and spam are not.

Join the best Facebook Group with a digital broadcast

  1. #EventIcons – 486 individuals
    This Facebook occasion arranging bunch is not quite the same as the rest; it’s open just to the people who buy into their free video syndicated program digital recording. However, who would have no desire to do that when they talk with the greatest names in occasion arranging every week? Individuals from #EventIcons can begin discussions, get clarification on some pressing issues, and get select offers once they buy in.

Get the most recent occasion news through the Social Tables web recording
Find out More
See the best Facebook Groups for occasion arranging meetings

  1. Wedding MBA – 11,058 individuals
    Wedding Merchants Business Academy has a yearly business show for the proceeded with training of those in the wedding arranging industry. Wedding MBA is a public Facebook Group that elements connects to articles posted by Wedding MBA (and an assortment of wedding arranging sites) giving tips and suggestions. Occasion arranging questions are posted consistently in the conversation string to start discussion. Event management companies in chennai

Reward: Group arbitrators frequently post markdown codes for purchasing passes to the show.

  1. PCMA Convening Leaders – 1,121 individuals
    This Facebook Group is made for the PCMA Convening Leader meeting, a yearly occasion highlighting organizing exercises, dynamic introductions, and the most recent innovation and procedures in the occasion arranging world.

Gain proficiency with the best Facebook Groups for occasion organizations and pioneers

  1. NACE Chapter Leaders – 299 individuals
    The National Association for Catering and Events (NACE) gives cooking and occasion profs admittance to proceeding with schooling, the most recent patterns in the business, and a huge companion organization. They additionally have the NACE Experience gathering every year. Neighborhood parts are accessible in numerous region, and this Facebook Group page is a gathering place for NACE Chapter Leaders to accumulate and share assets.
  2. Occasion Planner’s Business Growth Group – 5,490 individuals
    For the individuals who have their own occasion arranging business or are hoping to send off one, this gathering gives mentorship to assist you with growing a business or break into the consistently evolving industry. The gathering consistently shares assets, preparing materials, accounts, and recordings. Individuals from the Event Planner’s Business Growth Group are urged to share their own assets for however long they are not spam-y.

See extraordinary Facebook Groups for creatives in the business

  1. Occasion Professionals Marketplace – 18,561 individuals
    A gathering zeroed in on developing your profession, this is a spot to exhibit and impart your own imagination and information to other people. This gathering invests heavily in giving a without judgment discussion to systems administration, support, and festivity of imaginative gifts. Regular commitment makes Event Professionals Marketplace stand apart among other comparative gatherings.
  2. Occasion Planners, TreatMakers, and Bakers Who Rock – 6,105 individuals
    This gathering is for occasion organizers, however it likewise takes special care of those with tricky abilities. Any individual who makes custom party toll (i,e, cakes, highlights, swell flower bundles) will find organizing potential open doors here. With six administrators and four extra arbitrators, Event Planners, TreatMakers, and Bakers Who Rock is all around kept up with to keep malicious substance out and steady happy in.
  3. Occasion Planners and Decorators – 980 individuals
    A strong Facebook Group for occasion organizers and decorators to meet up to share thoughts and examine difficulties in their field. Individuals from Event Planners and Decorators are urged to share finishing tips and where to find materials that will ‘goodness’ occasion participants. Extra: Members are permitted to showcase their own sly beautifications for occasions.

Find magnificent Facebook Groups for get-together preparation and systems administration

  1. Occasion Planning Club – 6,232 individuals
    This Facebook Group is intended for arranging gatherings, weddings, and other get-togethers. It offers instructional exercises, counsel, motivation, and systems administration open doors. Novel component: Vendors with administrations to sell are permitted to post to Event Planning Club – Tutorials, Planning Ideas and Vendors/Business Owners.
  2. Weddings and Event Professionals, Couples, and Planners – 3,595 individuals
    The reason for this gathering is to interface occasion experts with clients around the world. Open to experts are urged to post presentations, connect for help, organization, or deal counsel. It’s likewise open to clients to demand a help. Weddings and Event Professionals, Couples, and Planners is a shared benefit for everybody.
  3. Fantastic Wedding Planners, Event-Day Coordinators, and Vendors – 6,401 individuals
    This public gathering is packed with occasion organizers, entrepreneurs, and occasion advisors from one side of the planet to the other. You’ll track down suggestions for scenes and sellers, as well as a lot of systems administration potential open doors in Fabulous Wedding Planners, Event-Day Coordinators, and Vendors. Self-advancement is empowered.
  4. Occasion Planners Club – 8,316 individuals
    You’ll track down continuous updates and commitment for learning and partaking in this Facebook Group. It’s available to an occasion organizer, and new individuals are joining at a quick speed so it’s spilling over with data trades. Furthermore, Event Planners Club is firmly observed to ensure that content is applicable and posts are aware.

Enhance your occasion arranging Facebook Group
Investigate 8 capable ways of enhancing your occasion arranging Facebook Group:
Assuming you’ve at any point had a place with a gathering, you realize that a few individuals add worth and a few individuals… not really. Dissimilar to a business page, the substance in Facebook Groups is client driven, meaning a large portion of the commitment and communication comes from bunch individuals as opposed to a brand. Encouraging this collaboration is an incredible method for increasing the value of any Facebook Group you join, and everything begins with these 8 hints.

  1. Share before you look for.
    Take on a disposition of give-before-get and offer a piece of significant data to your gathering before you request help. This immovably lays out your establishment as a patron, driving others to feel better about sharing their own insight.
  2. Be liberal with assets.
    Go ahead and share your number one assets with your gathering. Whether you post a rundown of the best occasion arranging books you’ve at any point perused or a connection to the occasion arranging programming that is never let you down, your friends will see the value in you for spilling your mysteries.
  3. Expect to be awesome.
    Enormous gatherings are brimming with varying perspectives and conclusions. Without eye to eye connection, words can take on a unique kind of energy. Best event management companies in chennai

Final blog during GSOC 2021 with XFCE

It was great to be a part of XFCE community during the GSOC 2021. Some things get placed on right place and some didn’t, but moving forward with lot of learning and new concept related to XFCE. This was my first interaction with the GTK world and XFCE Panel plugin. I have explored different ways to implement things, some works and others doesn’t.

Here ways you can avoid to try out while developing XFCE panel plugin with Python and Javascript.

Method 1: Go all out with Python or Javascript rather than GTKSocket and GTKPlug with Libxfcepanel.

Yes, It is true that you can access most of the function or XFCE API through the usage of Libxfcepanel in python. But You would not be able to register panel with this method, due to unavailability of access to XFCE_PANEL_PLUGIN_REGISTER macros inside Libxfcepanel through panel. So, Even after implementing whole plugin with python, you would not be able to register inside a XFCE Panel, leaving your all your efforts as wastage.

Method 2: Move forward with GTKSocket and GTKPlug approach, But handing of XFCE Panel API will be done inside the Python or Javascript Part.

It would be bad approach as you would not be able to access XFCE panel plugin object inside python or javascript part in any way. And most API are based on XFCE panel plugin object, If you are able to find out any way to acess XFCE Panel Plugin pointer lying currently on a GTKSocket part inside a GTKPlug part then you it would be possible to move possible with this approach otherwise, you will not. Accessing C pointer inside a python or javascript is not a simple thing to implement.

Current Challenge: We are trying to use the concept of Dbus for handling of XFCE Panel API and signal inside a GTKSocket part, This approach is successfull in lot of API acess, but it have some challenge with menu registration.

For example, Basic requirement for right click XFCE menu is that you would have to pass GTKWidget as an argument of “xfce_panel_plugin_add_action_widget”, But You when you try to access GTKPlug through GTKSocket part, it does not return GTKPlug as an child of GTKSocket, making it difficult to access GTKPlug widget inside a GTKSocket part. This problem still remaining to solve out.

Here is an URL to the Sample Plugin with Python and Javascript.

Here is an google doc url for documentation related to this URL.

Few Contribution to XFCE, other than sample/skeleton Plugin

Blog during the GSOC

This is not an end here, looking out to contribute more after the GSOC also. Thanks to all mentors, Yosuf Phillips and itsmanjeet for your valuable support πŸ™‚

Connection between XFCE API signals and Plug in Python/Javascript – Part 2

It was a major challenge to receive socket emitted signal in the plug inside a socket program written in C programming language. So we decided to move forward with dbus approach as discussed in last blog.

Inside a plugin we created dbus server part in gtkplug written in python and dbus client part in gtksocket. Benefit of this approach was we can transmit signals emitted by gtk plug to gtksocket part through dbus. As plug is embedded inside the gtksocket, so most of the events will be happening throughout the gtkplug leading to emission of different signals on different occasion. Yes, there is an way to access different XFCE API functions through the python. But we can’t register XFCE plugin through the python, hence sample plugin object was registered before creation of Gtksocket through C programming.

This challenge was the biggest challenge that why things became complex even for performing simple things.

so let me show you an example for client dbus in C and server dbus in python.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> 
#include <string.h>
#include <stdbool.h>
#include <ctype.h>

#include <dbus/dbus.h>

const char *const INTERFACE_NAME = "com.example.service.Print";
const char *const SERVER_BUS_NAME = "com.example.service";
const char *const CLIENT_BUS_NAME = "com.example.clientservice";
const char *const SERVER_OBJECT_PATH_NAME = "/com/example/service";
const char *const CLIENT_OBJECT_PATH_NAME = "/com/example/clientservice";
const char *const METHOD_NAME = "print";

const char *const ANOTHER_INTERFACE_NAME = "com.example.service.Quit";
const char *const ANOTHER_METHOD_NAME = "quit";

DBusError dbus_error;
void print_dbus_error (char *str);

int sendMethodCall(void) {
    This function is created to call quit method for server Dbus
    After sucessfull call through this function server dbus will get stopped.
    DBusMessage *message;
    DBusPendingCall *pending;

    DBusConnection *conn;
    dbus_error_init (&dbus_error);

    conn = dbus_bus_get (DBUS_BUS_SESSION, &dbus_error);

    message = dbus_message_new_method_call(SERVER_BUS_NAME, SERVER_OBJECT_PATH_NAME, 
    if (message == NULL) {
        fprintf(stderr, "Message is NULL \n");
        return -1;

    if (!dbus_connection_send_with_reply(conn, message, &pending, -1)) {
        fprintf(stderr, "Out of memory \n");
        return -1;

    if (pending == NULL) {
        fprintf(stderr, "Pending call is NULL \n");
        return -1;
    printf("Method call has been sent.\n");


    message = dbus_pending_call_steal_reply(pending);
    if (message == NULL) {
        fprintf(stderr, "Reply message is NULL \n");
        return -1;

    printf("Received reply.\n");


int main (int argc, char **argv)
    DBusConnection *conn;
    int ret;
    char input [80];

    dbus_error_init (&dbus_error);

    conn = dbus_bus_get (DBUS_BUS_SESSION, &dbus_error);

    if (dbus_error_is_set (&dbus_error))
        print_dbus_error ("dbus_bus_get");

    if (!conn) 
        exit (1);

    printf ("Please type two numbers: ");
    while (fgets (input, 78, stdin) != NULL) {

        // Get a well known name
        while (1) {
            ret = dbus_bus_request_name (conn, CLIENT_BUS_NAME, 0, &dbus_error);


            if (ret == DBUS_REQUEST_NAME_REPLY_IN_QUEUE) {
               fprintf (stderr, "Waiting for the bus ... \n");
               sleep (1);
            if (dbus_error_is_set (&dbus_error))
               print_dbus_error ("dbus_bus_get");
        DBusMessage *request;


        if ((request = dbus_message_new_method_call (SERVER_BUS_NAME, SERVER_OBJECT_PATH_NAME, 
                           INTERFACE_NAME, METHOD_NAME)) == NULL) {
            fprintf (stderr, "Error in dbus_message_new_method_call\n");
            exit (1);

        DBusMessageIter iter;

        // method to append args into message dbus
        dbus_message_iter_init_append (request, &iter);

        char *ptr = input;
        if (!dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &ptr)) {
            fprintf (stderr, "Error in dbus_message_iter_append_basic\n");
            exit (1);
        DBusPendingCall *pending_return;
        if (!dbus_connection_send_with_reply (conn, request, &pending_return, -1)) {
            fprintf (stderr, "Error in dbus_connection_send_with_reply\n");
            exit (1);

        if (pending_return == NULL) {
            fprintf (stderr, "pending return is NULL");
            exit (1);

        dbus_connection_flush (conn);
        //free message
        dbus_message_unref (request);	

        dbus_pending_call_block (pending_return);

        DBusMessage *reply;
        if ((reply = dbus_pending_call_steal_reply (pending_return)) == NULL) {
            fprintf (stderr, "Error in dbus_pending_call_steal_reply");
            exit (1);

        dbus_pending_call_unref	(pending_return);

        char *s;
        if (dbus_message_get_args (reply, &dbus_error, DBUS_TYPE_STRING, &s, DBUS_TYPE_INVALID)) {
            printf ("%s\n", s);
            // Send method call
            printf("Send d-bus method call\n");
            if (sendMethodCall() != 0) {
                return -1;

             fprintf (stderr, "Did not get arguments in reply\n");
             exit (1);
        dbus_message_unref (reply);	

        if (dbus_bus_release_name (conn, CLIENT_BUS_NAME, &dbus_error) == -1) {
             fprintf (stderr, "Error in dbus_bus_release_name\n");
             exit (1);

        printf ("Please type two numbers: ");

    return 0;

void print_dbus_error (char *str) 
    fprintf (stderr, "%s: %s\n", str, dbus_error.message);
    dbus_error_free (&dbus_error);

Above program takes input as a number and then pass it to server dbus in python, where you can perform any operation related to input number and then pass result through dbus back to client side in C. After printing out received result in client side, it print out the received message and make a call to sendMethodCall() which makes a call to quit function of server dus in python and leading to stoppage in operations of server dbus service.

This program can be optimise through struct , above code contain lot of repetitive things πŸ™

Here is an code snippet of server dbus in python.

#!/usr/bin/env python3

import dbus
import dbus.service
import dbus.mainloop.glib

from gi.repository import GLib

class Service(dbus.service.Object):
   Server dbus example in Python

   def run(self):
      # define service bus name
      bus_name = dbus.service.BusName("com.example.service", dbus.SessionBus())
      dbus.service.Object.__init__(self, bus_name, "/com/example/service")

      self._loop = GLib.MainLoop()
      print("Service running...")
      print("Service stopped")

   @dbus.service.method("com.example.service.Message", in_signature='', out_signature='s')
   def get_message(self):
      Function without input string but string as output

      Typecast of output value is defined as s as value of out_signature
      print("  sending message")
      return self._message

   @dbus.service.method("com.example.service.Quit", in_signature='', out_signature='')
   def quit(self):
      function to quit mainloop
      print("  shutting down")

   @dbus.service.method("com.example.service.Print", in_signature='i', out_signature='s')
   def print(self, input_string):
      Function with input parameter

      Typecast of input value is defined as s as value of in_signature
      Typecast of output value is defined as s as value of out_signature


      print("  print method", input_string)
      return "received two input number string" + input_string


above code snippet have been explained in last blog, you can take reference of last blog through url,

Output – Server side

Output – Client side

Hope so you would have better idea, why we have used this approach, and through these code snippet I have tried to give you an idea, how does this approach work.

All type of suggestions are welcome in comment section of blog πŸ™‚

Connection between XFCE API signals and Plug in Python/Javascript – Part 1

So, This was one of the major problem that we have to work on is to receive XFCE API signals in Plug developed using Python, signals were emitting out in our socket part that is written in C programming language, so we have to figure some logic so that our plug can response to emitted signals.

So, To solve this problem we have used the concept of d-bus. What we are trying to do is create server with python plug and then client side in C programmed Gtk Socket.

Want to have a look over how does client and server process work with python?

So lets start with code snippet in Python programming language.

Here is an example how we will setup server side for dbus in python.

Server side for dbus in Python

#!/usr/bin/env python3

import dbus
import dbus.service
import dbus.mainloop.glib

from gi.repository import GLib

class Service(dbus.service.Object):

   def __init__(self, message):
      self._message = message

   def run(self):
      # define service bus name
      bus_name = dbus.service.BusName("com.example.service", dbus.SessionBus())
      dbus.service.Object.__init__(self, bus_name, "/com/example/service")

      self._loop = GLib.MainLoop()
      print("Service running...")
      print("Service stopped")

   @dbus.service.method("com.example.service.Message", in_signature='', out_signature='s')
   def get_message(self):
      Function without input string but string as output

      Typecast of output value is defined as s as value of out_signature
      print("  sending message")
      return self._message

   @dbus.service.method("com.example.service.Quit", in_signature='', out_signature='')
   def quit(self):
      function to quit mainloop
      print("  shutting down")

   @dbus.service.method("com.example.service.Print", in_signature='s', out_signature='s')
   def print(self, input_string):
      Function with input parameter

      Typecast of input value is defined as s as value of in_signature
      Typecast of output value is defined as s as value of out_signature


      print("  print method", input_string)
      return input_string

Service("This is the service").run()

in_signature and out_signature are used to define typecast for input and output value. For example, In the above example you can see for string as input, so we have defined ‘s’ as value of in_signature.

so now we are moving toward our client side of dbus in python.

Client Side for dbus in Python

#!/usr/bin/env python3

import dbus

class Client():

   def __init__(self):
      # Get the Session bus
      bus = dbus.SessionBus()

      # Get the object
      service = bus.get_object('com.example.service', "/com/example/service")

      # The service is an object that provides dbus.service.Object
      self._message = service.get_dbus_method('get_message', 'com.example.service.Message')
      self._quit = service.get_dbus_method('quit', 'com.example.service.Quit')
      self.print = service.get_dbus_method('print', 'com.example.service.Print')

   def run(self):

      print("Message from service:", self._message())
      print("print method running ", self.print("Hello World"))


So from this example you can see that we are accessing dbus.service objects inside the client side. It proof that we can use different objects through dbus.

For testing out, these programs you have to open down two different terminal, In one terminal you have to start server side and then in other terminal you have to start client, Then finally you will see successful results.

Here is some glimpse of output

Server side output

Client side output

In the next blog we will have client part code snippet in C with some XFCE API example.

Suggestions and improvements are welcomed in the comment section of the blog.

XFCE-PANEL-PLUGIN development using Python/Javascript – Part 3

As in the last blog, we get to know about Gtk Socket and Gtk Plug in two different programming language that was C and Python. So moving forward in our process, now we will move forward toward installation process of panel plugin.

I and my mentor decided to move forward with waf installation process, there were few reason to chose this method. As our focus is on beginner that are trying to develop XFCE panel plugin, so we decided to make whole process more simpler through waf installation process. Wscript is the main installation file, best thing about this is, it is easy to understand.

So Inside a waf installation file there are main file for installation i.e ‘waf‘ and ‘wscript’.

‘waf’ is an generated file so you don’t have to do much with this generated file. All installation operations will be performed through ‘wscript’ file.

In general, every project consist of several phases, that mostly contain following steps, On these steps concept, whole ‘waf’ installation is based on.

  • configure: it is used configure the project and find the location of the prerequisites, for example if you want to load c compiler you can define over this step.
  • build: it is used to transform the source files into build files
  • install: used to install the build files
  • uninstall: used for un-installation of the build files
  • dist: create an archive of the source files
  • clean: remove the build files.

Interested to learn more about ‘waf’ installation process, visit to the given link

so to give you better understanding, Here I am attaching one small code snippet for wscript file as an example.

APPNAME = 'Enter your plugin name'
VERSION = 'Enter your plugin version'

top = '.'
out = 'build'

def options (ctx):

def configure (ctx):
	args = '--cflags – libs'
	ctx.check_cfg(package = 'gtk+-3.0', atleast_version = '3.22',
		uselib_store = 'GTK', mandatory = True, args = args)

def build (ctx):
		features     = 'c cshlib',
		is_lib       = True,
		source       = ctx.path.ant_glob('panel-plugin/*.c'),
		packages     = 'gtk+-3.0',
		target       = 'sample-plugin',
		install_path = '${LIBDIR}/xfce4/panel/plugins/',
		uselib       = 'GTK',
		features = 'subst',
		source = 'panel-plugin/',
		target = 'panel-plugin/sample.desktop')

def checkinstall (ctx):
    ctx.exec_command('checkinstall – pkgname=' + APPNAME +
     ' – pkgversion=' + VERSION + ' – provides=' + APPNAME +
     ' – deldoc=yes – deldesc=yes – delspec=yes – backup=no' +
     ' – exclude=/home -y ./waf install')

Hint: if you are getting confused with ctx don’t worry about it just an variable name you can replace ctx with your custom variable name also.

So Now time have come to introduce you with simple Xfce sample plugin Gitlab repo, Work is still in a process but you can still test it out.

Xfce Panel Sample Plugin Gitlab repo through Gtk Socket and GtkPlug Approach.

If you find any issues or have any suggestion, Don’t forget to open issue on the repo πŸ™‚

How To Move Your Houseplants Safely Within Home?

Houseplants are a type of living organism that often plays a crucial role in brightening any space within your home or workplace. They are proven to help you stick to a healthy lifestyle that was not possible otherwise. Good quality plants of this nature are a perfect choice for all those people living in sky-high apartments with hardly any space for outdoor gardening. They are filled with optimum greenery at each level that empowers them to take away all your mood swings instantly naturally and safely with hardly any effort. Most importantly, these floras often encourage you to take your fitness to the next level through regular indoor exercise sessions in addition to forming a perfect gift for almost all kinds of happy occasions. Indoor plants make those close to your heart feel the extent to which you love and feel for them. Just like the ones in your garden area, the ones inside your home or office also need a certain amount of sunlight for achieving optimum growth and would show signs of an abnormal reaction to inadequate sunlight. The following are some of the most prominent tips for shipping your plants indoors

Nature Of The Indoor Plants:

The first and most important thing, which must be kept in mind while thinking about moving houseplants is their nature. Not all floras of this type require the same amount of sunlight. It is always advisable to gather ample information about a given type of flora from as many reliable sources as possible before finally making your mind to go for it. Also, keep a close watch on the signs that your plants are indicating to correctly ascertain the issue faced by them. For instance, if the leaves have turned light yellow with a high rate of breakage, then this reveals that they may not be getting adequate sunlight. On the other hand, if they have turned dark green, then your favorite plants may be getting too much light from the sun. In the first case, you would certainly do better by shifting your plants close to a south-facing window. Make a point to buy plants online to get the maximum value for your precious cash.

Although most indoor plants are specially designed to do well indoors, they prefer to enjoy the cold breeze blowing outdoors periodically. Take into consideration the general health of the plants when it comes to deciding on their positioning. In case they are not that strong, then placing them at a shaded spot may be a great idea.

Online indoor plants are usually powered to create the conditions of survival on their own without any external help as they are usually sourced from a reliable place. Not only this, with detailed care instructions that are often extremely easy to adhere to.

Take Them Inside Well Before First Frost:

Are you in the habit of moving your indoor floras outside quite often? If so, then carry them inside well before it’s time for the first frost to pour down. The biggest reason for this is that it may often make the freeze that will affect their quality of life. You are free to request some of your close friends or family members for some help, who you often be more than happy to play an active role throughout the entire process.

Always give preference to buying plants from a tropical origin as they are hardly impacted by the atmosphere of the area where you are placed, which is not at all the case with the nontropical variant.

Focus On The Movement Of The Sun:

Another very important thing that you cannot afford to neglect while shifting your most preferred indoor plants is focusing on the position of the sun. Position your plants based on the sun to ensure they make the most of light from it.

Remember to order houseplants online that would surely help you to enhance your productivity by improving concentration.

Hope the above-discussed tips would help you move your houseplants safely for optimum outcome

XFCE-PANEL-PLUGIN development using Python/Javascript – Part 2

As we already discussed that we will be moving forward with GtkSocket and GtkPlug approach, so I will try to give you an idea how can you use this approach to develop xfce panel plugin.

Previous Part Blog link: XFCE-PANEL-PLUGIN development using Python/Javascript – Part 1

GtkSocket gives the capacity to insert widget from one process into another process in a such a manner that is straightforward to the user. One process create a GtkSocket gadget and afterward we passes that widget’s window ID to the other process, which then, at that point makes a GtkPlug with that window ID. Any widget contained in the GtkPlug then, at that point will show up inside the primary application’s window.

GtkSocket in C

#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include <stdio.h>
#include <stdlib.h>

int main(int ac, char **av)
    GtkWidget *window;
    GtkWidget *socket;

    gtk_init(&ac, &av);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    socket = gtk_socket_new();
    gtk_window_set_title(window, "some socket");
    gtk_window_set_position(window, GTK_WIN_POS_CENTER);

    gtk_container_add(window, socket);// added socket into window
    g_signal_connect(GTK_WIDGET(window), "destroy", gtk_main_quit, NULL);

    printf("socket ID: %d\n", gtk_socket_get_id(socket));

    char buffer[1024];
    sprintf(buffer, "python3 ./ %d &", gtk_socket_get_id(socket));


    return 0;

In the above example, we have created one GtkWindow, then we have created new socket through gtk_socket_new(), through gtk_container_add we have added socket into window.

gtk_socket_get_id() will return int socket id, which will be passed to (Python file containing GtkPlug code) through sprintf.

GtkPlug in Python

# -*- utf:8 -*-

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import sys

socket_id = sys.argv[1]
plug =

plug.connect('destroy', Gtk.main_quit)

class SocketDialogWindow(Gtk.Window):
    def __init__(self):
        box = Gtk.Box(spacing=6)
        button1 = Gtk.Button(label="Information")
        button1.connect("clicked", self.on_info_clicked)

        plug.add(box) # box widget added to python plug

    def on_info_clicked(self, widget):
        dialog = Gtk.MessageDialog(
            text="Info about Python Sample Plugin",
            "Copyright \xc2\xa9 2006-2019 Xfce development team\n"
        print("INFO dialog closed")



sys.argv is used to get argument through which socket id will be received, In this plug example, we have added one button to box widget, later on which is added into plug.

So to test out above example, we simply have to run GtkSocket file in C.

I hope so you would have better idea now, how does GtkSocket in C and GtkPlug in python work together.

Till now we have not registered our plugin or does any type of installation into xfce-panel, Further part of this blog will include further information , till that time Happy Coding πŸ™‚

XFCE-PANEL-PLUGIN development using Python/Javascript – Part 1

While walking through my GSOC proposal idea, one question that i have find out on multiple platform is “How can I create xfce-panel-plugin in python, javascript or vala”.

so, Now time have come around to give you basic idea or overview about xfce-panel-plugin development in programming language other than C.

With the release of Xfce-panel 4.4, support have been added to create plugin in two ways: Internal and External Plugin.

Internal Plugins are loadable plugins that are developed using GModule Interface.

External Plugins are individuals program which are embedded into Xfce-Panel through GtkSocket and GtkPlug concept.

Here is list of Internal and External plugins.

Xfce4-Panel Internal Plugin

Xfce4-Panel External Plugin

  • Calculator –  a calculator plugin for the Xfce4 panel.
  • Clipman – A clipboard manager for Xfce
  • Eyes – Eyes that spy on you.
  • Notes – provides sticky notes for your desktop.
  • Weather – Shows the current temperature and weather condition, using weather data provided by

If you are working with C or Vala programming language, You can go out for plugin development using both of methods, it just a matter of your choice.

But, If you are trying to develop Xfce-panel-plugin through Python or JavaScript then Using GtkPlug and GtkSocket approach is more feasbile for developers.

There is small logic behind it, you can develop most of the part of the plugin through Python or Javascript but while registering down developed plugin, you will face one biggest problem that is registration through Macros, i.e You can’t access macros inside Python and Javascript, so this was the reason i was suggesting you to prefer GtkSocket and GtkPlug method with these two programming language.

Example for Gtk Socket and Gtk Plug using python

General flow of program
Entry widget -> GtkPlug -> GtkSocket -> Window

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import sys

def perform_embed_event(widget):
    print("This will get called when plug will emit embedded signal")

# initialize GtkSocket
window = Gtk.Window()

# initialize GtkSocket
socket = Gtk.Socket()

# store socket id in socket_id variable
socket_id = socket.get_id()

print("socket", socket_id)

# initialize GtkPlug
plug =

# Different Plug signals
plug.connect("embedded", perform_embed_event)
plug.connect("destroy", Gtk.main_quit)

print("Plug ID:", plug.get_id())

# Entry Widget
entry = Gtk.Entry()
entry.set_text("Xfce GSoC 2021")

# Add entry widget into plug


Above mentioned example contain four different things i.e GtkPlug, GtkSocket, Entry Widget and window.

Program Output:

In general term, Entry widget is added to GtkPlug. Through GtkSocket ID, GtkPlug have been added to it. And GtkSocket have been added to the window.

One tryout If you want to.

GtkSocket is dependent on window, If you don’t add socket to window, you would not be able to generate socket id through ‘get_id’, logic is very simple behind this thing, I want to you think about the logic behind it :).

Through this program, I have tried to give you an idea how does GtkPlug and GtkSocket works inside a single window. This program is totally based on single programming language that is python, In the next blog post we will try out GtkSocket in one programming language and GtkPlug in other programming. It will be a combination of GtkSocket in C and GtkPlug in Python and After That, Dbus concept is coming up next.

Update: Special Thanks to @dmytrokyrychuk for making me notice some bug inside a attached code snippet.

My Journey to GSOC 2021 through XFCE

Are you interested in GSOC or you just wondering out what does GSOC really mean?

So let’s start with little intro about what does GSOC does really mean?

The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to students who successfully complete a free and open-source software coding project during the summer. The program is open to university students aged 18 or over. It was first held from May to August 2005.[1] The amount of the stipend depends on the purchasing power parity of the country where the student's university is located.[2] Project ideas are listed by host organizations involved in open-source software development, though students can also propose their own project ideas. – Source Wikipedia

Resemble another definition from a book or the web πŸ™

Ya, you are right, let me explain it to you in my own words, For me, Google Summer of Code or GSOC is an open-source program where you work with any one of the selected organization(Ya selected by both Google and you of course πŸ™‚ ) with amazing peoples to provide support to open-source community through your skills and time in return you get the bulk of learning(most important) and stipend according to your country :).

So lets move forward further in this journey..

What is XFCE?

Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.


Xfce is default desktop environment for various linux distributions such as:

What does Open-Source means and Why should I try-out open-source?

If you are a developer, then you have definitely heard about this term at least once, in life, more than once have a maximum probability.

So open-source in a more general way look like a way to accessing any part of software then modify and rebuilt it freely according to your needs, If changes work fine for you, then you can contribute these changes to the original software, it will help both ways, the software may get improved and you can get better solution with some extra learning.

Open-source project codebase can look like hell for beginners but always remembers it just a natural law. You will have maximum friction in the starting so you can start by contributing by finding bugs in software or by providing various small patches to the software. You just have to follow the “Never give up attitude”, I believe you have already experienced the power of this principle at least once in a life previous before reading this blog post.

Why did I choose XFCE for GSOC 2021?

I wanted to work on a desktop environment for a long time and having experience with python and javascript , so XFCE was ticking both my checkbox for interest and tech stack. So I decided to join XFCE community and started to contribute to XFCE on python based app mainly Catfish.

The best thing I feel for the Xfce community is a quick response and a developer-friendly environment. I really appreciate the work of the whole XFCE development team and the support from my mentor Manjeet Singh.

Sound good to be a part of such community.


It always feels good to see your name in the above list. Congratulations to Yongha Hwang and Skefadlis πŸ™‚

XFCE is a first-time GSOC organization but looks very mature due to its team, That a good thing to be secure about things and trust on level of work you will be part of during the GSOC 2021.

My GSOC project URL: Sample/Skeleton Plugin in GOI Supported Languages

Want to contribute to XFCE Development, Be a part of XFCE Telegram Developers Group by clicking on given button.

This is just a beginning blog so there are not many technical things, but in the upcoming blogs, you will read about my experience, interesting challenges I have faced, and various technical aspect of my work πŸ™‚

If you have any thoughts , suggestions and improvements for this blog, I would love to read those things in the comment section.

Special Thanks to Yousuf Philips for valuable suggestions to improve this blog post.

Most Common Mistakes To Avoid When Designing A Logo

Having a fundamental yet critical logo can help separate a brand from the rest. It will unequivocally impact the brand picture of the digital marketing company in pune. At any rate making that basic logo isn’t only presumably as direct as it sounds as a few restricts that should be thought of.

Here under a few slip-ups to dodge when orchestrating a logo.

Abstract style: Choosing the correct content based style while making a logo is very immense and can be an amazing endeavor as it very well may be drawn-out. Set aside effort to look at on the specific content style decisions you have and confined it down to the ones which you think would suit your image. Utilize the confined outcomes to make a repulsive course of action of the logo to comprehend which text style works estimably. Since the logo will anticipate a colossal part for your image, contribute adequate energy on picking the correct content based style.

Hiding: Like the content based style, the tone comparably anticipates a colossal part while making a logo. Regardless of whether the content style is phenomenal, odd hiding decisions can demolish the whole logo. The most ideal approach to manage this cycle is to chip away at an offensive course of action with high separation tones. Add the tones and embellishments once the plan is finished. Henceforth, you can zero in on the base course of action more than the tone or embellishments. When picking tones for the logo, research on the different decisions you have close by and which hiding will make the logo suitable for your image.

READ ALSO: What is Google’s key moment feature and how it works?

Typography: Typography is the rule some segment of logo plan and it can determine the destiny of a logo. A reasonable logo shouldn’t be pointlessly dumbfounding yet then should pass on the message a brand is attempting to pass on. Legitimate isolating, phenomenal printed style decisions, and light content by and large make a pleasant book based style. Absurd dissipating or nonattendance of isolating can affect the presence of an abstract style. It’s ideal to evade amazingly slight or very striking content styles as it can obliterate the cognizance of a book based style. In like way utilizing diverse abstract styles for a solitary logo can make things bewildered and probably won’t ensure unreasonably.

Avoid Complex Logos: Simple logos will generally speaking draw in a greater number of individuals than the ones which are nonsensically unusual or remarkable. By crucial, one ought to have the decision to utilize the logo any place, be it for a flyer, for the seo services, for a letterhead or even progressions on a heap up.

Adulterating: Logo insightful robbery with minor changes to it has become a typical practice. Distorting will truly impact the surviving from the brand but then is unlawful. Make a logo that is wonderful and takes the necessary steps not to utilize stock or catch workmanship.

Thinking about the above pointers, interface with best logo masterminding associations to make that understood and surprising logo for your image.

What is Google Discovery Ads and Why should we use them?

New degrees of progress in AI and calculations have made plugs more revamp than later in late memory. Gone are the long stretches of paper and radio headways. Google has drawn in affiliations and brands with the headway to target swarms that are unequivocally searching for their thing.

How Has Google Changed The Search Platform?

The part, Discover, was comfortable by Google with give another technique for looking. Instead of the immediate solicitation bar that requires a particular information, they presented and Discover, which had three boss developments in search lead.

From the start, clients wouldn’t need to depend upon the responsibility of solicitations to get results. Considering past look, the Discover feed would regularly propose basically indistinguishable things dependent on its AI calculations. Hence, Google effectively moved from answers to the entire trip. A subsequent basic segment was the presentation of apparently enrapturing data, rather than essential content from the solicitation bar. Close by, the switch choice of and more/less was presented, allowing clients to execute/add content that advances to digital marketing agency in patna utilizing AI to additional tailor the feed according to tastes and focal points.

This stunning new stage is a protected house for sponsors. It gives a tremendous, new pool of likely freedoms for them to target.

What Are Google Discovery Ads?

Google Discovery progressions are visual advertisements that show up in various Google feed conditions like the Discover stage, home feed of Gmail and YouTube. The promotions depend upon client improvement on accounts watched, map look, past webpage appearance, and application downloads. Google utilizes these practically identical responsibilities to lead its In-Market swarm focusing in on.

Google Discovery Ads have changed the obsession for promoters from focusing in on look/expect to a social event of people first strategy. The advancement from various stages, for example, YouTube, Gmail and Discover are clubbed together to discover advertisements, which was actually done on social affiliations. Subsequently, focusing in on is finished by using the social containers of data in their presentation crusades.

Motivations To Use Google Discovery Ads

Our fit and proficient get-together of bleeding edge advertisers propose utilizing Google Discovery Ads for specific reasons. We’ve recorded some of them down for you for the most issue free read.

  1. Man-made consciousness Algorithms Gives The Most Optimized Google Discovery Ads

Precisely when advertising specialists go to set up Discovery progressions, they are challenged with different engaging choices to pull in clients. It very well may be a blend of pictures, logo, features, URL points of appearance and depiction. Beginning there, Google will utilize AI to serve the best blends of your information to your expected results. This example of computerization not just gives you the best number of potential results at any rate saves a heap of time. The calculations are also proposed to broaden the unique visitor clicking rate (CTR) of your advancement crusade. This chance by Google Discovery Ads is essential to underpins. Google’s calculation keeps up the security norms, all while showing the most snap respectable advertisements that are innovative and exhorting.

READ ALSO: Now Google Ads support manager accounts

  1. Google Discovery Ads Create An Immersive Experience For Prospective Customers

With various classes like Shopping, Display and the sky is the limit starting there, the help can show attracting pictures that relate visual stories in their observes. As a Google Ads affiliation, we can vouch for the practicality of this technique. Clients are pulled in this common experience. With the assistance of liberal pictures about thing/association, the lead change degree of possible results is broadened through and through. Google takes the assistance of information to pull, draw in and convert the leads into clients for you. You have the choice of adding pictures, logos, up to five features and portrayals in the visual circle.

  1. Google Discovery Ads and Reach Is Even Further Than The Discover Platform

Google has made one thing appreciated; the 800 million by and large clients of Discover will advance toward Discovery ads. This new potential is a piece of paradise for publicists hoping to build up their compass. This is on the grounds that Google has broadened the marketing highlight past Discover stage. The Google Discovery sees are found in Gmail’s social and degrees of progress tabs and YouTube’s trailer home feed. Envision the conceivable pool of possible results that you’ll have the decision to reach with this multi-direct focusing in on!

  1. With Discovery Campaigns, Google Provides Digital Audience Targeting

To run a Google Discovery Ad, you’ll need to make a Discovery crusade. It’s no motivation to stretch, Google has made the arrangement pretty easy to use. Following to picking your focal objective sort – there is a lot of choices – you essentially need to add the inventive data sources. The redesign and transport across the different channels are completely overseen by Google.

Doesn’t Google Discovery Ads look critical? The essential chance that Google obliges marketing specialists worldwide to portray visual stories to fuel brand care is energizing. video marketing measure the showcase of a mission across contraption stages. Thinking about the information, we turn out minor enhancements to likewise improve sees for most critical change results.